these are the latest x86 SMP fixes against pre4-2.3.40:
http://www.redhat.com/~mingo/smp-2.3.40-A3
the patchset fixes 3 different lowlevel SMP problems:
- fixes the global page flush bug noticed by Mark Giampapa @ IBM. I've
added a new per-architecture flush_tlb_all_kernel() call, which also
flushes 'special' kernel-mappings. flush_tlb_all() from now on should
be regarded as flushing only user-space and normal kernel-space
mappings. __flush_tlb() is noticeably faster than __flush_tlb_global().
The two affected places, zap_low_mappings() and flush_all_zero_pkmaps()
are now using the new flush_tlb_all_kernel() call. I've removed the
extraneous invlpg in map_new_virtual(), which speeds up kmap(). I've
tested this change and the previous instability is fixed. This could
also fix some of the highmem swapping weirdness Christoph Rohland
reported?
- fixes the IOAPIC ID setting bug noticed by Matt Domsch @ Dell. This
bugfix has the chance of solving a range of problems reported: the IRQ
delivery assymetry on some boxes and it might even solve some of the
boot problems certain boards have? The MP spec requires us to set the
IO-APIC ID from the MP-table, we did this only for a small set of
boards.
- Mark Giampapa noticed another bug as well: we were mapping the IOAPIC
and local APIC with caching enabled in the pagetable, and this is
causing problems on some boards. The patch adds a new fixmap_nocache()
call and the SMP code now maps both the IOAPIC(s) and the local APIC(s)
with the PCD bit set. The MP spec requires us to map APICs with
caching disabled, nasty bug indeed.
all these changes compile/boot/work just fine on my box.
-- mingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sun Jan 23 2000 - 21:00:15 EST