From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Fri, 18 Apr 1997 00:59:04 -0400 From: jmk@plan9.bell-labs.com jmk@plan9.bell-labs.com Subject: porting linux programs and drivers to plan9 Topicbox-Message-UUID: 56990724-eac8-11e9-9e20-41e7f4b1d025 Message-ID: <19970418045904.KM5cV9fXFb_s7BKsyKoAEhKWEJSmo2Ip4cP2iQpUh2E@z> > Also of real interest is the MPSpec work being done in the Linux >and FreeBSD camps. I have a dual PPRO-150 (Tyan S1668) box I hope >to get Plan9 to work in a multiprocessor mode... that'd be fun. >The PPRO 150s are already pretty fast (compared to the P133s I >was using :) ) but having dual PPROs would really rock. Dual PPRO >200s would REALLY scream (evil grin). > >Q: Are Brazil (which apparently supports some Pentium multiprocessor >boards) and Plan9 sufficiently similar that the Brazil MP stuff would >be of use? Is is possible to obtain some of the Brazil MP stuff? Last October I wrote in 9fans: The x86 multiprocessor code runs on Pentium or Pentium Pro systems which conform to the Intel Multiprocessor Specification, there were no changes required for the Pentium Pro. There's about 1000 lines of code, most of it is concerned with parsing the configuration table created by the BIOS. A small number of changes were made to the base x86 code - some mmu data structures were made per-processor and some locks were added to some device drivers where uniprocessor operation had been assumed. The only change in the port code was changing 6 references of 'm->' to 'MACHP(m->machno)->' in proc.c as the nature of the x86 mmu required 'm' to be a fixed virtual address. Since then we've found one problem caused by the weak memory ordering of the Pentium Pro, there may be others lurking, time will tell. I can't think offhand of any reason the same changes couldn't be made to Plan9. It took about two weeks total to have full SMP implemented on the x86, Plan9 is 'SMP-friendly' and was designed with this is mind. Compare this to Linux where, after 2 years, the first tentative steps at allowing multiple processors to run kernel code simultaneously are just being made. And yes, dual Pentium Pros make a respectably fast system: a% echo $sysname anna a% cd /sys/src/brazil/pc a% mk clean rm -f *.[v486x] *.root.s cfs.h fs.h init.h conf.h *.out for(i in pc pccpu pcdinar pcdisk) rm -f $i.c [9bz]$i boot$i.* a% time mk 'CONF=pccpu'>/dev/null 12.27u 9.93s 23.81r mk CONF=pccpu a% Anna is a dual 200MHz Pentium Pro (ASUS P6NP5 motherboard with 256MB EDO) connected to the fileserver via 100Base-TX. --jim