Re: BUG? i386 TLB Flushing of Global Pages

From: Manfred Spraul (manfreds@colorfullife.com)
Date: Mon Jan 17 2000 - 08:24:16 EST


From: "Ingo Molnar" <mingo@chiara.csoma.elte.hu>
> yeah, this is indeed a bug and it also explains the one remaining 64GB
> mystery: the extra invlpg in highmem.c. Patch (with other SMP fixes) will
> follow shortly.

I think we should map _all_ kernel memory with PAGE_GLOBAL: most
distributions heavily use modules, and they would win from mapping
everything with _PAGE_GLOBAL.
I've attached an old patch that does that:
* PAGE_KERNEL and PAGE_KERNELRO are updated at runtime: if the cpu supports
PAGE_GLOBAL, then that bit is set.
* a new flush_tlb_pge() macro.
* you might get rid of kmap_prot, just use PAGE_KERNEL?

The patch won't apply, but I don't have access to the kernel right now.
AFAICS you can simply replace "local_flush_tlb()" in
do_flush_tlb_all_local() with "__flush_tlb_all()" in smp.c, everything else
should work.

--
    Manfred


- 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