Pour
Balustre:
De rien (je vais rosir!); c'est la logique du forum.
Pour
Tapriuneclak:
Plusieurs messages récents sur les forums consacrés au Kernel (dont ce
message ) font état de problèmes concernant la gestion des interruptions avec APIC. Sur ce forum,
Mushufc avait fait état d'un problème équivalent à celui signalé et qui impliquait APIC (
le post en question ).
La solution consiste à passer au noyau le paramètre
noapic:
* au lancement de Grub, on passera en mode inter actif pour la modification des paramètres de lancement du noyau (appui sur la touche
a et on ajoutera
noapic (voir
le tutorial concernant Grub, §3 ).
* on modifiera ensuite le /boot/grub/grub.conf en ajoutant ce paramètre sur la ligne kernel (car la modification des paramètres au lancement n'est pas rendue permanente; le fichier de configuration de Grub doit encore être modifié).
Explications complémentaires:
APIC signifie Advanced Programmable Interrupt Controler. C'est un gestionnaire de routage des interruptions, qui permet notamment d'envoyer des intrerruptions à traiter au processeur le moins chargé, dans le cas d'une configuration multi processeurs.
APIC n'a pas de pertinence particulière pour les systèmes monoprocesseurs et la gestion "traditionnelle" des interruptions par le noyau suffira. Pour les systèmes multi processeurs, la suppression d'APIC peut dégrader les performances en cas de charge importante du système.
Dans certaines configurations, les interruptions peuvent être mal assignées; de façon très schématique, une interruption émise par un périphérique USB (contrôleur UHCI) peut se représenter, au travers d'APIC, comme une interruption de type contrôleur de Disque Dur. Le premier post cité décrit par le détail ce type de dysfonctionnement.
Le paramètre
noapic inhibe donc la gestion APIC par le noyau et permet de résoudre le problème rencontré. Le post suggère aussi de passer le paramètre
usb-handoff...
Pour information: les paramètres pouvant être passés au noyau sont décrits dans le fichier (exemple donné pour un kernel 2.6.12):
/usr/share/doc/kernel-doc-2.6.12/Documentation/kernel-parameters.txt
Il faut préalablement installer kernel-doc.