Messages in this thread | | | Date | Fri, 01 Jul 2011 10:52:26 +0900 | From | Masami Hiramatsu <> | Subject | Re: [RFC][PATCH] kprobes: Add separate preempt_disabling for kprobes |
| |
(2011/07/01 10:38), Steven Rostedt wrote: > [ Added some of the affected maintainers, left off David Howells and > David Miller due to LKML Cc limit ] > > On Fri, 2011-07-01 at 10:22 +0900, Masami Hiramatsu wrote: >> (2011/07/01 6:56), Peter Zijlstra wrote: >>> On Thu, 2011-06-30 at 11:51 -0400, Steven Rostedt wrote: >>>> >>>> To solve this, I've added a per_cpu variable called >>>> kprobe_preempt_disabled, that is set by the kprobe code. If it is set, >>>> the preempt_schedule() will not preempt the code. >> >> Sorry for replying so late :( > > Heh, who can blame you? Timezones make open source development a > wait-and-see affair.
Yeah, we can't go over light speed.
>>> Damn this is ugly. Can we step back and see if we can make the >>> requirement for kprobe to disable preemption go away? >> >> As I replied right now, I think we can just eliminate that >> disabling preemption code. At least we'd better try it. >> I agree with you, introducing this kind of complexity >> just for kprobes is not what I want. :( > > Note, I did clean up this patch, so it is not as fugly.
Hm, I think you don't need to introduce new flag for that purpose, there is current_kprobe and kprobe status flag.
if (kprobe_running() && get_kprobe_ctlblk()->kprobe_status == KPROBE_HIT_SS) /*Running under kprobe's single stepping*/
But I'm not sure that is there any code which can run under TF=1. (maybe NMI code? but it would not cause preemption)
>>> Why does it have to do that anyway? Isn't it keeping enough per-task >>> state to allow preemption over the single step? >> >> preemption itself must not happen on single stepping, but it seems >> impossible to do heavy context switching with setting TF bit... > > Yeah, if all archs single step with interrupts disabled, then we should > be fine with removing preemption.
OK, I'll check that.
Thank you ;)
-- Masami HIRAMATSU Software Platform Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu.pt@hitachi.com
| |