Messages in this thread | | | Date | Fri, 27 Apr 2018 11:43:41 -0400 (EDT) | From | Mathieu Desnoyers <> | Subject | Re: [PATCH RFC] tracepoint: Introduce tracepoint callbacks executing with preempt on |
| |
----- On Apr 27, 2018, at 11:40 AM, rostedt rostedt@goodmis.org wrote:
> On Fri, 27 Apr 2018 08:38:26 -0700 > "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote: > >> On Fri, Apr 27, 2018 at 10:47:47AM -0400, Steven Rostedt wrote: >> > On Fri, 27 Apr 2018 10:26:29 -0400 (EDT) >> > Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote: >> > >> > > The general approach and the implementation look fine, except for >> > > one small detail: I would be tempted to explicitly disable preemption >> > > around the call to the tracepoint callback for the rcuidle variant, >> > > unless we plan to audit every tracer right away to remove any assumption >> > > that preemption is disabled in the callback implementation. >> > >> > I'm thinking that we do that audit. There shouldn't be many instances >> > of it. I like the idea that a tracepoint callback gets called with >> > preemption enabled. >> >> Are you really sure you want to increase your state space that much? > > Why not? The code I have in callbacks already deals with all sorts of > context - normal, softirq, irq, NMI, preemption disabled, irq > disabled.
It does so by disabling preemption in the callbacks, even when it's redundant with the guarantees already provided by tracepoint-sched-rcu and by kprobes. It's not that great for a fast-path.
Thanks,
Mathieu
-- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com
| |