Re: [PATCH] kmemcheck: SMP support

From: Ingo Molnar
Date: Mon May 26 2008 - 05:12:18 EST



* Vegard Nossum <vegard.nossum@xxxxxxxxx> wrote:

> On Fri, May 23, 2008 at 5:06 PM, Ingo Molnar <mingo@xxxxxxx> wrote:
> >
> > Vegard, wanna have a look at introducing per CPU kernel pagetables? I
> > tried that once in the past and it wasnt too horrible. (the patches are
> > gone though) We could do it before bringing other CPUs online, i.e. much
> > of the really yucky boot time pagetable juggling phase would be over
> > already. Hm?
>
> Ingo.
>
> It really doesn't matter how easy it was for you.
>
> You're one of the x86 maintainers.
>
> And I think you're forgetting how hard these things are for a newbie.
> I don't even know which one comes first of pmds and puds.

hey i kept mixing that up myself, until i had to fix a bug in it once.

> Per-cpu page tables sounds about on the same scale of as, say,
> rewriting the VM or some other major subsystem. Epic!

just to make sure: this is an optional "would be really cool" thing. It
does not impact the mergability of kmemcheck in any way. [ It impacts
the _usability_ of it :-) ]

> I'm glad to hear from you, though.
>
> Pekka suggested that per-cpu page tables might help NUMA systems too.
> Does that sound right to you? Would anybody else benefit from having
> per-CPU page tables? If not, I have a hard time believing it will ever
> get merged.

i tried to implement it once for 4G:4G split kernel. My early results
indicated that especially on PAE there was a significant SMP speedup
from it. I have not gone down that path so i dont know it for sure, but
perhaps it was because the CPU sets the accessed bit in kernel PTEs and
dirties those cachelines which creates overhead on SMP. That happened
even if there was no kernel pagetable remapping activities. (That was
many years ago and newer CPUs might be better at it though.)

> (Oh. mmio-trace might. But that's also a hacking tool and doesn't
> really count.)

even if mmiotrace were just a hacking too (but mmiotrace is a system
diagnostics tool as well), that could still be a strong reason to do it.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/