
Linux SMP
Linux for shared memory multiprocessor machines.
- Intel MP v1.1 compliant 486, Pentium and Pentium Pro hardware.
- Intel MP v1.4 compliant Pentium and Pentium Pro hardware.
- Multiprocessor Sun4m sparc machines.
- 2.1 development on Alpha, PowerPC, Sun4d, Ultrasparc.
The initial port was made possible thanks to
Multiprocessor Linux Kernel Development
Current Status
Linux 2.0 includes basic SMP support for Intel and Sun hardware. The
only configuration I know is not supported is 486SX processors. This
causes all sorts of awkward scheduling problems with floating point its
better not to support it. Apart from that we should
support all compliant boards. If not then report the problem and we'll try
and get it fixed. As far as is known only one old IBM dual 486SLC board
exists that is affected by this issue.
News: 2.0.36 includes some important SMP fixes for the 2.0 series.
These resolve all the major known 2.0 SMP problems.
For information on the Sparc SMP see the SparcLinux home page hosted at
Red Hat Software.
Mailing List
A mailing list linux-smp@vger.rutgers.edu exists for this project.
Email majordomo@vger.rutgers.edu with the text 'subscribe
linux-smp' to join the list. An archive is maintained on the
Linux HQ site.
FAQ
David Mentre keeps a FAQ for Linux/SMP. This is fairly Intel oriented but does answer most of the
first questions people ask on the mailing list.
Hardware Needed
The current ix86 kernel supports Intel MP v1.1 and Intel MP v1.4 compliant
motherboards with between 1 and 16 486/Pentium/Pentium Pro processors.
At the moment I am developing using a
Caldera provided ASUS P54PNIP4
motherboard with 32Mb of RAM. This has been deliberately loaded down with
as much junk hardware for testing as I can lay my hands on.
- Buslogic BT946 SCSI controller
- S3 Trio64+ Video card
- Hauppauge WinTV/PCI TV card
- 3.5" floppy disk
- IBM 4.3Gig 2ES SCSI disk
- WangDAT DAT
- Single speed SCSI CDROM (badged IBM)
- 3c509 ethernet
- Soundblaster 16
With all of this lot in use the machine is solid.
Known bugs/problems/unimplemented
- Halt other CPU's on crash/panic doesn't always work.
- Slave timer requests can be lost. Resolved in 2.1.x
- In 2.0 global CPU time is not correctly computed. This is fixed in 2.0.1
And also see the README.SMP with the code and download the
documentation in Andrew EZ format
Sample Output
Last edited by Alan Cox.
Return to the main index.