Re: [PATCH v4 0/13] Uprobes v4

From: Mathieu Desnoyers
Date: Wed May 19 2010 - 10:15:16 EST


* Srikar Dronamraju (srikar@xxxxxxxxxxxxxxxxxx) wrote:
> > * Srikar Dronamraju (srikar@xxxxxxxxxxxxxxxxxx) wrote:
> > > Uprobes Patches
> > >
> > > Changelog from v3:
> > > - Reverted to background page replacement as suggested by Peter Zijlstra.
> >
> > Why ?
> >
> > I'm not sure we reached any concensus about the need for a background page
> > replacement.
> >
> > Thanks,
> >
> > Mathieu
> >
>
> I was tested with access_process_vm(previous patchset) and the current
> (background page replacement) and the results are the same.
>
> However Peter Zijlstra's contention still stands that we might be
> relying on a undocumented feature in the hardware

The access_process_vm scheme is in many ways similar to what kprobes has been
doing for years. So I would not rely on that as a primary argument against
the access_process_vm approach.

> and the flipping the
> pages isnt that hard or expensive.
>
> Even Linus, (http://lkml.org/lkml/2010/1/27/87) had shown inclination
> towards background page replacement.
>
> Also when uprobes implements global tracing support (i.e probing a
> particular symbol in a dso across processes), it has to rely on
> background page replacement.

Ah OK. If you have to use page replacement for global tracing, I see that as a
good argument for using page replacement everywhere.

>
> Hence I based this patchset on background page replacement rather than
> on access_process_vm. Later On, if there is a consensus on using
> access_process_vm, we can make the corresponding changes.

Well, page replacement seems like a good way to support global tracing, so I
doubt that we'll ever revert back to access_process_vm.

Thanks,

Mathieu

>
> --
> Thanks and Regards
> Srikar

--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
--
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/