Re: [PATCH] Linux Kernel Markers 0.5 for Linux 2.6.17 (with probe management)

Mathieu Desnoyers
2006-09-22T17:17:07Z

* Ingo Molnar (mingo@elte.hu) wrote:
>
> * Mathieu Desnoyers <compudj@krystal.dyndns.org> wrote:
>
> > > > Then you lose the ability to trace in-kernel minor page faults.
> > >
> > > that's wrong, minor pagefaults go through __handle_mm_fault() just as
> > > much.
> > >
> >
> > Hi Ingo,
> >
> > On a 2.6.17 kernel tree :
>
> > It seems like a shortcut path that will never call __handle_mm_fault.
> > This path is precisely used to handle vmalloc faults.
>
> yes, but you said "minor fault", not "vmalloc fault".
>
> minor faults are the things that happen when a task does read-after-COW
> or read-mmap-ed-pagecache-page, and they very much go through
> __handle_mm_fault().
>
> vmalloc faults are extremely rare, x86-specific and they are a pure
> kernel-internal matter. (I'd never want to trace them, especially if it
> pushes tracepoints into every architecture's page fault handler. I
> implemented the initial version of them IIRC, but my memory fails
> precisely why. I think it was 4:4 related, but i'm unsure.)
>
> (i now realize that above you said "in-kernel minor faults" - under that
> you meant vmalloc faults?)
>

Yes, sorry, my mistake. This kind of fault is not as infrequent as you may
think, as every newly allocated vmalloc region will cause vmalloc faults on
every processes on the system that are trying to access them. I agree that
it should not be a standard event people would be interested in.

Regards,

Mathieu

OpenPGP public key: http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68