Messages in this thread | | | Date | Wed, 19 Jan 2000 03:52:02 +0100 (CET) | From | Ingo Molnar <> | Subject | [patch] smp-2.3.40-C3, x86 SMP fixes and improvements |
| |
the newest x86 SMP patchset against pre4/pre5-2.3.40 is at:
http://www.redhat.com/~mingo/smp-2.3.40-C3
Changes in smp-2.3.40-C3:
- along Manfred's suggestion i changed all in-kernel page mappings to be _PAGE_GLOBAL on x86. If CPU is compiled for PPro or better then the runtime check can be optimized away. Otherwise the runtime check happens. This change speeds up access to vmalloc()-ed areas and prevents introducing yet another TLB flush callback.
- Fixed a bug caused by the 2.3.20 SMP changes, LDR has to be based on logical ID, not physical APIC id. This should fix those dual PPro boxes.
- changed the physical <=> logical mapping between CPUs and IDs to be 1:1. This was enabled by the 2.3.20 changes. This speeds up sched.c and compresses data structures. Note: this also means that cpu_number_map[] is an inline function now. This change does not force other architectures to do a 1:1 mapping.
- optimized TLB flushes a bit, we actually do not have to read %cr3 and %cr4 (which is a slow instruction), we can calculate all the data.
- ... and silly penguin counting ;)
This patchset solves all known outstanding problems, if your SMP box still fails to boot or is instable then please re-send the report to me, thanks.
-- 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/
| |