[ltt-dev] LTTng 0.87 improved page fault tracing

KOSAKI Motohiro kosaki.motohiro at jp.fujitsu.com
Wed Jan 28 23:47:05 EST 2009


> * KOSAKI Motohiro (kosaki.motohiro at jp.fujitsu.com) wrote:
> > Hi
> > 
> > interesting..
> > 
> > > I just combined the 4 page fault handler events that were in the tracing
> > > hot path of LTTng into 2 :
> > > 
> > > kernel page_fault_entry
> > > kernel page_fault_exit
> > > 
> > > They take as parameter the combination of what was available in the
> > > trap_entry/exit events and handle_mm_fault entry/exit events. This
> > > should lessen the performance impact of the tracer when it's active.
> > > I did the related modifications in LTTV 0.12.8.
> > 
> > Just question.
> > 
> > As far as I know, customer has two different requeremtn of the page fault.
> 
>     1 a)
> >   (1) collect number of all page fault
> >       -> if it is too large, too many interrupt decrease performance.
>         (a single event is required for this)
> 
>     1 b) the user may also want to know the time spent in the page fault
>     handler to service those faults, therefore involving page fault
>     entry and exit events.

Indeed.
that's great.


> >   (2) collect number of major page fault
> >       -> major page fault indicate to increase random access I/O,
> >          then, some customer want to collect major page fault
> >          (don't include minor page fault)
> 
> Yes, the trace_page_fault_exit takes the "fault" parameter returned by
> handle_mm_fault (which is recorded to the trace as the "res" event
> field). Using
> 
> res & VM_FAULT_MAJOR
> 
> will give only the major page faults. Note that some knowledge of the
> bitmask is required to interpret the "res" bitfield. This could be done
> by a specific analysis module. I would ideally like to create a LTTng
> module to export tables including those bitfields so we can keep the
> bitfield interpretation in sync with the kernel code changes more or
> less automatically.

Agreed.
thanks for great improvement.


> 
> > 
> > Is this patch fill (2) requirement?
> > 
> 
> Yes.
> 
> Mathieu
> 
> > 
> > 
> 
> -- 
> Mathieu Desnoyers
> OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68







More information about the lttng-dev mailing list