Re: [PATCH 2/2] ptrace/x86: dont delay perf_event_disable() till second pass in ptrace_write_dr7()

2013-04-17 Thread Oleg Nesterov
On 04/17, Frederic Weisbecker wrote: > > 2013/4/16 Oleg Nesterov : > > > > Well, I disagree. > > > > To clarify, I agree with WARN_ON_ONCE(), but afaics it has nothing to > > do with "second_pass", > > > >> And these are indeed supposed > >> to. > > > > Indeed, but this is because

Re: [PATCH 2/2] ptrace/x86: dont delay perf_event_disable() till second pass in ptrace_write_dr7()

2013-04-17 Thread Oleg Nesterov
On 04/17, Frederic Weisbecker wrote: 2013/4/16 Oleg Nesterov o...@redhat.com: Well, I disagree. To clarify, I agree with WARN_ON_ONCE(), but afaics it has nothing to do with second_pass, And these are indeed supposed to. Indeed, but this is because ptrace_modify_breakpoint()

Re: [PATCH 2/2] ptrace/x86: dont delay perf_event_disable() till second pass in ptrace_write_dr7()

2013-04-16 Thread Frederic Weisbecker
2013/4/16 Oleg Nesterov : > On 04/16, Frederic Weisbecker wrote: >> > rc = ptrace_modify_breakpoint(bp, len, type, tsk, disabled); >> > if (rc) >> > break; >> >> It would be nice to warn here: >> >>WARN_ON_ONCE(rc && second_pass); > > Well, I

Re: [PATCH 2/2] ptrace/x86: dont delay perf_event_disable() till second pass in ptrace_write_dr7()

2013-04-16 Thread Oleg Nesterov
On 04/16, Frederic Weisbecker wrote: > > On Sun, Apr 14, 2013 at 09:12:32PM +0200, Oleg Nesterov wrote: > > ptrace_write_dr7() skips ptrace_modify_breakpoint(disabled => true) > > unless second_pass, this buys nothing but complicates the code and > > means that we always do the main loop twice

Re: [PATCH 2/2] ptrace/x86: dont delay perf_event_disable() till second pass in ptrace_write_dr7()

2013-04-16 Thread Oleg Nesterov
On 04/16, Frederic Weisbecker wrote: On Sun, Apr 14, 2013 at 09:12:32PM +0200, Oleg Nesterov wrote: ptrace_write_dr7() skips ptrace_modify_breakpoint(disabled = true) unless second_pass, this buys nothing but complicates the code and means that we always do the main loop twice even if

Re: [PATCH 2/2] ptrace/x86: dont delay perf_event_disable() till second pass in ptrace_write_dr7()

2013-04-16 Thread Frederic Weisbecker
2013/4/16 Oleg Nesterov o...@redhat.com: On 04/16, Frederic Weisbecker wrote: rc = ptrace_modify_breakpoint(bp, len, type, tsk, disabled); if (rc) break; It would be nice to warn here: WARN_ON_ONCE(rc second_pass); Well, I disagree. To

Re: [PATCH 2/2] ptrace/x86: dont delay perf_event_disable() till second pass in ptrace_write_dr7()

2013-04-15 Thread Frederic Weisbecker
On Sun, Apr 14, 2013 at 09:12:32PM +0200, Oleg Nesterov wrote: > ptrace_write_dr7() skips ptrace_modify_breakpoint(disabled => true) > unless second_pass, this buys nothing but complicates the code and > means that we always do the main loop twice even if "disabled" was > never true. > > The

Re: [PATCH 2/2] ptrace/x86: dont delay perf_event_disable() till second pass in ptrace_write_dr7()

2013-04-15 Thread Frederic Weisbecker
On Sun, Apr 14, 2013 at 09:12:32PM +0200, Oleg Nesterov wrote: ptrace_write_dr7() skips ptrace_modify_breakpoint(disabled = true) unless second_pass, this buys nothing but complicates the code and means that we always do the main loop twice even if disabled was never true. The comment says:

[PATCH 2/2] ptrace/x86: dont delay perf_event_disable() till second pass in ptrace_write_dr7()

2013-04-14 Thread Oleg Nesterov
ptrace_write_dr7() skips ptrace_modify_breakpoint(disabled => true) unless second_pass, this buys nothing but complicates the code and means that we always do the main loop twice even if "disabled" was never true. The comment says: Don't unregister the breakpoints right-away,

[PATCH 2/2] ptrace/x86: dont delay perf_event_disable() till second pass in ptrace_write_dr7()

2013-04-14 Thread Oleg Nesterov
ptrace_write_dr7() skips ptrace_modify_breakpoint(disabled = true) unless second_pass, this buys nothing but complicates the code and means that we always do the main loop twice even if disabled was never true. The comment says: Don't unregister the breakpoints right-away, unless