This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH tracing/kprobes] kprobes: Disable booster when CONFIG_PREEMPT=y
- From: Masami Hiramatsu <mhiramat at redhat dot com>
- To: Ingo Molnar <mingo at elte dot hu>
- Cc: Thomas Gleixner <tglx at linutronix dot de>, Peter Zijlstra <a dot p dot zijlstra at chello dot nl>, Fr??d??ric Weisbecker <fweisbec at gmail dot com>, Steven Rostedt <rostedt at goodmis dot org>, lkml <linux-kernel at vger dot kernel dot org>, systemtap <systemtap at sources dot redhat dot com>, DLE <dle-develop at lists dot sourceforge dot net>, Ananth N Mavinakayanahalli <ananth at in dot ibm dot com>, Jim Keniston <jkenisto at us dot ibm dot com>, Mathieu Desnoyers <compudj at krystal dot dyndns dot org>
- Date: Fri, 29 Jan 2010 09:52:13 -0500
- Subject: Re: [PATCH tracing/kprobes] kprobes: Disable booster when CONFIG_PREEMPT=y
- References: <4B5E476C.9030303@redhat.com> <20100127215531.24775.26807.stgit@dhcp-100-2-132.bos.redhat.com> <20100129092135.GE10878@elte.hu>
Ingo Molnar wrote:
>
> * Masami Hiramatsu <mhiramat@redhat.com> wrote:
>
>> Disable kprobe booster when CONFIG_PREEMPT=y, because it can't ensure that
>> all kernel threads preempted on kprobe's boosted slot run out from the slot
>> even using freeze_processes().
>
> hm, this really sucks as it makes preemptible kernels perform worse. Is there
> no better solution?
>
>> The booster on preemptive kernel will be resumed if synchronize_tasks() or
>> something like that is introduced.
>
> such as this one?
Yes, I think this synchronize_tasks(), which just (sleeping) wait until
all currently preempted tasks are wake up and scheduled, can ensure safety.
Thank you,
--
Masami Hiramatsu
Software Engineer
Hitachi Computer Products (America), Inc.
Software Solutions Division
e-mail: mhiramat@redhat.com