Messages in this thread | | | Date | Sat, 05 Apr 2008 18:58:08 +0300 | From | Avi Kivity <> | Subject | Re: mmiotrace bug: recursive probe hit |
| |
Avi Kivity wrote: >> >> For kmemcheck, I'd prefer the per-CPU page tables suggested by Ingo. >> I'm having hard time understanding why that's a "ugly hack" compared >> to using kvm for this... >> > > It's not an ugly hack, but will be very very difficult. With mmu > notifiers it's probably doable though: > > - the linux page tables are never loaded into cr3, but rather kept as > a reference > - page faults are by instantiating ptes into shadow page tables (which > track the linux page tables) > - mmu notifiers are used to drop shadow ptes when the linux ptes change >
Actually, paravirt_ops is a much better match, as it also provides hooks for setting cr3. I think you can implement per-cpu pagetables using paravirt_ops without modifying core mm code at all.
-- Do not meddle in the internals of kernels, for they are subtle and quick to panic.
| |