Réponse courte: non.
Réponse longue Intel révendique la propriété sur les plan APIC SMP, et tant qu'une compagnie ne prend pas de licence d'Intel pour cela, ils ne peuvent pas l'utiliser. Aucune compagnie ne l'a fait pour l'instant. (Cela peut évidement changer dans le futur) FYI -Cyrix et AMD support le standard non-propriétaire OpenPIC SMP mais actuellement il n'y a pas de carte mère l'utilisant.
Mettez le en mode compatibilité MP1.1/1.4.
Vérifiez "Configure Hardware" -> "View / Edit details" -> "Advanced mode" (F7 je pense) pour les options de configuration "APIC mode" et cocher "full Table mode". C'est une recommandation officielle de Compaq, bien que j'aie été incapable de trouver cette option dans le BIOS... (Daniel Roesen)
De Robert Hyatt: ALR Revolution quad-6 semble à peu près sure, alors que quelques machines revolution quad plus vieilles sans processeurs P6 ne semble pas "fiables"...
De Alan Cox: Si un de vos processeurs rapporte une valeur bogomips très basse c'est que son cache n'est pas activé. Votre vendeur vous à probablement fournis un BIOS bogué. Obtenez un patch pour contourner cela ou mieux retourné la à votre vendeur et acheté une carte mère chez un fournisseur compétent.
Un noyau 2.0 (> 2.0.36) contient un patch MTRR qui devrait résoudre ce problème (sélectionnez l'option "handle buggy SMP BIOSes with bad MTRR setup" dans le menu "General setup").
Je pense que les BIOS SMP bogués sont pris en charge automatiquement dans les derniers noyaux 2.2.
Certaines machines IBM possèdent le bloc BIOS MP1.4 dans l'EBDA, c'est autorisé mais pas supporté en dessous des noyaux 2.2.
Il y a une vieille machine IBM SMP basée sur des 486SLC. Linux/SMP requiert un support FPU matériel.
Non (selon Alan :)
), 1.4 est juste une spécification plus stricte de 1.1.
Ceci est un problème connu avec la gestion des IRQ et les longs blocages noyau dans la série 2.0 des noyaux. Pensez à mettre à jour votre système vers un 2.2 plus récent.
De Jakob Oestergaard: Ou, pensez à utiliser xntpd. Cela devrait garder votre horloge à l'heure. (je pense avoir entendu qu'activer RTC dans le noyau corrige aussi le problème de dérive de l'horloge. Cela à marché pour moi ! Mais je ne suis pas sure si cela est général ou si j'ai juste été chanceux)
Il y a quelques corrections du noyau dans les derniers 2.2.2 qui devraient résoudre ce problème.
Le numéro du processeur est fixé par le fabricant de la carte mère et ne veux absolument rien dire. Ignorez le.
(Doug Ledford) Essayez de recompiler LILO avec le support LARGE_EBDA et faite attention à bien toujours utiliser bzImage quand vous compiler le noyau. Cela semble avoir résolu le problème de plantage au démarrage ici sur une carte mère Intel multi-Xeon. Néanmoins, s'il vous plaît notez que cela semble aussi affecter LILO en cela que l'option root= ne fonctionne plus, faite donc bien attention d'avoir appliqué 'rdev' à votre noyau en moment où vous lancez LILO afin d'être sur que votre noyau charge correctement le système de fichier racine au démarrage.
(Robert M. Hyatt) Avec 3 processeurs, avez-vous un terminateur dans le 4ème emplacement ?
Essaye l'option de démarrage "noapic" (John Aldrich) et/ou "reboot=bios" (Terry Shull).
Essaye le dernier noyau 2.2.x et le patch knfsd. Cela est en cour d'investigation. (Wade Hampton)
Si vous utilisez les noyaux 2.2.11 ou 2.2.12, récupérez le dernier noyau. Par exemple 2.2.13 possède de nombreuse correction SMP. Plusieurs personnes ont rapporté ces noyaux comme instable pour le SMP. Ces mêmes noyaux peuvent avoir des problèmes NFS qui peuvent provoquer des blocages. Aussi, utiliser une console série pour capturer vos messages oops. (Wade Hampton)
Si le problème persiste (et les autres suggestions sur cette listes n'ont pas aidé non plus), alors vous devriez essayer les derniers noyaux 2.3. Ils ont un code SMP/APIC plus bavard (et plus robustes), et un code de prévention contre les blocage dur qui produit des oops plus significatifs au lieu de planter silencieusement. (Ingo Molnar)
(item par Wade Hampton)
Un bon moyen de déboguer les blocages est de se procurer le patch ikd de Andrea Arcangeli: ftp://ftp.suse.com/pub/people/andrea/kernel-patches
Il y a plusieurs options de débogage, mais n'utiliser PAS l'option de blocage
logicielle ! Pour des machines SMP récentes, activez l'option kernel debugging
et ensuite l'option NMI oopser. Afin de vérifier que le NMI oopser est fonctionnel,
après avoir démarrer avec votre nouveau noyau,
/cat /proc/interrupts
et vérifiez que vous obtenez des NMI.
Quand la machine bloque, vous devriez obtenir un oops.
Vous pouvez aussi essayer l'option %eip. Cela autorise le noyau à écrire sur la console l'adresse %eip chaque fois qu'une fonction du noyau est appelée. Quand la machine bloque, écrivez sur un papier la première colonne ordonnée selon la seconde colonne et ensuite cherchez les adresses dans le fichier System.map. Cela ne marche qu'en mode console.
Notez aussi que l'utilisation de console série facilite grandement le débogage des blocages noyau, pas seulement les blocages des noyaux SMP !
Un message comme:
APIC error interrupt on CPU#0, should never happen. ... APIC ESR0: 00000002 ... APIC ESR1: 00000000
Dans cette section vous trouverez quelques information sur les causes possible de plantage sur une machine SMP (crédits duent à Jakob Østergaard pour cette partie). Autant que je sache (David), ces problèmes sont spécifiques aux plateformes Intel.
De Ralf Bächle: [Concernant la taille des boîtiers et les ventilateurs] Il est important que l'air circule. Il est important que l'air circule. Bien sûr, ce n'est pas possible quand toutes sortes d'obstacles, tels des câbles, l'en empêchent dans des boîtiers par trop exigus. D'un autre coté, j'ai vu des boîtiers surdimensionnés provoquer de gros problèmes. Il y a des boîtiers au format tour sur le marcher qui sont actuellement pire à rafraîchir que boîtier au format bureau. En bref, la meilleure chose à faire est de penser à l'aérodynamique dans le boîtier. Des boîtiers supplémentaires pour les périphériques dégageant de la chaleur sont aussi utiles.
Bien sur vous pouvez toujours aller à Radio Shack (ou similaire) et acheter un ventilateur. Vous pouvez utiliser lm_sensor pour surveiller la température des plus récent processeurs PII et PIII. Cela peut vous aider à déterminer si la chaleur est un problème ou non. (Wade Hampton)
N'achetez pas de la RAM bon marché et ne mélanger pas des barrettes différente sur une même carte mère, c'est difficile à cause de cela.
Tout spécialement les cartes mères Tyan qui sont connues pour être difficile sur la vitesse de la RAM (voir le paragraphe ci-dessous sur Tyan pour une solution possible).
Il y a eu des rapports sur des mémoire RAM PC 100 à 10ns vendues avec des cartes mères dont le processeur avait vraiment besoin de RAM à 8ns. (Wade Hampton)
Vérifier /proc/cpuinfo
pour voir si vos processeurs sont à la même cadence.
... et même si il est stable, NE PAS l'overclocker.
De Ralf Bächle: le surcadencement (overclocking) pose des problèmes très subtiles. J'ai un bel exemple, une de mes vieilles machines surcadencées fait des erreurs de calcul pour quelques pixels d'une fractale de 640 X 400. Le problème est seulement visible quand vous les comparées en utilisant des outils. Le mieux est donc de ne jamais, never, nuncas, niemals surcadencer.
Les noyaux 2.0.x sur des systèmes éthernet rapide et hautes performance ont des problèmes significatifs (et connus) avec les conditions de course/interblocage (race/deadlock) dans la prise en charge des interruptions réseau.
La solution est d'obtenir la dernière version des pilotes 100BT en développement à CESDIS Linux Ethernet device drivers site (ceux qui sont définent SMPCHECK).
Si vous avez un système utilisant le chipset 440FX alors votre problème avec les blocages est peut-être due à une erreur documentée du chipset. Voici la référence.
Références: Intel 440FX PCIset 82441FX (PMC) et 82442FX (DBX) Specification Update. pg. 13
http://www.intel.com/design/pcisets/specupdt/297654.htm
Le problèmes peut être résolut avec un contournement par le BIOS (ou un patch du noyau) et en fait David Wragg a écrit un patch qui est inclus dans le patch MTRR de Richard Gooch's. Pour plus d'information et une solution voyez ici:
http://nemo.physics.ncsu.edu/~briggs/vfix.html
De Mark Duguid, Règle implicite #1 avec une carte mère W6LI. ;)
Parfois, certaines cartes ne sont pas reconnus ou peuvent déclencher des conflits d'IRQ. Essayez de mettre les cartes sur des slots différents et si possible les assigner à des IRQ différentes.
Contribué par hASCII : enlever la ligne " append="hisax=9,2,3" dans lilo.conf autorisant à utiliser un noyau de la série 2.1.xx avec le support ISDN + Hisax activé. Les noyaux de la série 2.0.xx ne posent pas ce genre de problème.
Essayez aussi de configurer les option de BIOS setup comme "MP 1.4 mode" ou "route PCI interrupts through IOAPIC", ou "OS Type" non configurer ni pour DOS ni pour Novell (Ingo Molnar).
Si vous bloquez alors que vous essayez d'accéder au lecteur de disquette
(par exemple pendant que du son est joué) vous devriez peut-être éditer
le fichier drivers/pci/quirks.c et configurer /int isa_dma_bridge_buggy = 1;
C'est un problème avec mon Dell WS400 dual PII/300, 2.2.x, SMP (Wade Hampton).
S'il vous plait notez: Des informations plus spécifique peuvent être trouvées avec la liste des Cartes mère supposées fonctionnées sous Linux SMP
(Stéphane Écolivet)
Les machines SMP Linux les moins chère avec des processeurs achetable de nos jours sont les systèmes double Celeron. Un tel système n'est pas officiellement possible selon Intel. Il vaut mieux penser à la seconde génération de Celeron, ceux avec 128 Kb de cache L2.
Réponse officielle d'Intel: non, le Celeron ne peut pas fonctionner en mode SMP.
Réponse pratique: c'est possible, mais cela demande une altération matérielle pour les processeurs Slot 1. La manipulation est décrite par Tomohiro Kawada sur sa page Dual Celeron System. Naturellement, ce genre de modification annule la garantie... Certaines versions du processeur Celeron sont aussi disponibles au format Socket 370. Dans ce cas, l'altération peut-être faite sur l'adaptateur Socket 370 à Slot 1 ou peut même être vendu pré-cablé pour une utilisation SMP. (Andy Poling, Hans - Erik Skyttberg, James Beard)
Il y a aussi une carte mère (ABIT BP6) autorisant deux Celerons dans le format Socket 370 à être inséré (Martijn Kruithof, Ryan McCue). ABIT Computer BP6 verifiée, testée et native sous linux avec deux ppga socket 370 (Andre Hedrick).
Bien, merci.
Cela peut marcher. Néanmoins, surcadencer un tel système n'est pas aussi facile à faire que pour un monoprocesseur. Ce n'est définitivement pas une bonne idée pour un système de production. Pour une utilisation personnelle, des systèmes doubles Celeron 300 A fonctionnant parfaitement à 450 MHz ont été signalés. (de nombreuses personnes)
C'est impossible. Les processeurs Celerons possèdent à peu près les mêmes fonctionnalités qu'un Pentium II basique. Si vous voulez plus de deux processeur dans votre système, vous devriez regarder du côté des machines à base de Pentium Pro, Pentium II Xeon ou Pentium III (?).
Un système utilisant un Celeron "ré-autorisé" et un pentium II à la même cadence peut théoriquement fonctionner.
Alexandre Charbey à fabriqué un tel système: