FreeBSD’s John Baldwin says he will be committing some very significant changes to the i386 interrupt and SMP code for FreeBSD. Some new features include runtime selection of using the I/O APICs or the AT PICs to route interrupts; SMP can now be enabled in GENERIC kernel and the SMP kernel config is no longer necessary. His new code can largely be pulled over to amd64 to support APICs and SMP based on that architecture.
I hope this doesn’t screw up the recent improvements. Jeff Roberson committed some changes over the weekend that have made FreeBSD -CURRENT a whole new OS.
The final test will be to see if I can build openoffice-devel.
Jeff’s fixes were mostly related to fixing things that have been broken for a while…it’s surprising how well the old 4BSD scheduler behaves, considering how easliy changes to ULE make things worse. The old scheduler is of course not well-suited for SMP, perhaps something from Mach might be worth looking at for comparison. The recent scheduler improvements in Linux (as it finally got O(1) thread selection) made it look a lot like the old Mach code from the 80s…
Building openoffice-devel on -current works fine, at least it did for me when I built it a couple of weeks ago. It still runs, I’m not sure whether something has been changed that might hurt the build.
The openoffice-devel build kept stalling out during the stage when idlc builds all those .idl files, so I switched to a full debugging kernel and got by that madness. I’m running ULE/KSE so things are a bit dodgy.
Yeah, after Jeff’s work it’s like getting the old FreeBSD back. It’s not so bad running a debugging kernel, after Jeff’s changes it’s like running a stripped kernel was, so I’m used to the slower speed.
Now go fix ACPI so my mouse will get an interrupt with ACPI enabled. Kind of annoying to have to choose between having a mouse and having power management on a laptop. Not only that, but without ACPI, my ethernet interface stops responding under high load (usually when I’m suping my source tree).
This very specific issue is what keeps me away from trying a lot of different OSes.. for some reason I can’t seem to disable ACPI in my Bios and all configurations just seem to get screwed up. So I’m stuck with Windoze@home =(