Messages in this thread |  | | Date | Fri, 01 Jul 2011 22:15:05 +0900 | | From | Masami Hiramatsu <> | | Subject | Re: [RFC][PATCH] kprobes: Add separate preempt_disabling for kprobes |
| |
(2011/07/01 21:19), Steven Rostedt wrote: > On Fri, 2011-07-01 at 14:09 +0900, Masami Hiramatsu wrote: > >> BTW, on my tip tree, add_preempt_count (a.k.a. inc_preempt_count()) >> is marked as __kprobes, so it can not be probed. Is there any change? >> > > That is when debug or preempt tracer is enabled. Otherwise it's > hardcoded into whatever calls it: > > #if defined(CONFIG_DEBUG_PREEMPT) || defined(CONFIG_PREEMPT_TRACER) > extern void add_preempt_count(int val); > extern void sub_preempt_count(int val); > #else > # define add_preempt_count(val) do { preempt_count() += (val); } while (0) > # define sub_preempt_count(val) do { preempt_count() -= (val); } while (0) > #endif > > > Anyway, it still doesn't help the place that reads preempt_count() and > then later uses the result. I hit the crash in schedule_bug() where it > increments preempt count, then reads it to see if it is only 1.
Ah, I see, that what I need... I've made a fix patch for that, so could you test that?
Thank you,
-- Masami HIRAMATSU Software Platform Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu.pt@hitachi.com
|  |