Re: [PATCH v9 3.2 0/9] Uprobes patchset with perf probe support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Tue, 2012-01-17 at 10:39 +0100, Ingo Molnar wrote:
> 
> > I did not suggest anything complex or intrusive: just basically 
> > unify the namespace, have a single set of callbacks, and call 
> > into the uprobes and perf code from those callbacks - out of the 
> > sight of MM code.
> > 
> > That unified namespace could be called:
> > 
> >     event_mmap(...);
> >     event_fork(...);
> > 
> > etc. - and from event_mmap() you could do a simple:
> > 
> > 	perf_event_mmap(...)
> > 	uprobes_event_mmap(...)
> > 
> > [ Once all this is updated to use tracepoints it would turn into 
> >   a notification callback chain kind of thing. ]
> 
> We keep disagreeing on this. I utterly loathe hiding stuff in 
> notifier lists. It makes it completely non-obvious who all 
> does what.

My immediate suggestion was not a notifier list but an 
open-coded list of function calls done in helper inline 
functions - to minimize the impact of the callbacks on mm/.

> Another very good reason to not do what you suggest is that 
> perf_event_mmap() is a pure consumer, it doesn't have a return 
> value, whereas uprobes_mmap() can actually fail the mmap.

You know that i disagree with that, there is no fundamental 
reason why event callbacks couldnt participate in program logic, 
as long as the call site explicitly wants such side effects. It 
avoids senseless duplication of callbacks.

Anyway, if Andrew is fine with the current callbacks as-is then 
it's fine to me as well.

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]