Re: [RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread Steven Rostedt
On Thu, 16 Jan 2014 19:42:51 +0100 Peter Zijlstra wrote: > Suppose a reschedule interrupt happens in the middle; we set > NEED_RESCHED but won't act because preempt is disabled. > > When we hit preempt_enable() we'll call into preempt_schedule() but fail > because preemptible() finds

Re: [RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread John Kacur
On Thu, Jan 16, 2014 at 6:18 PM, Steven Rostedt wrote: > > Back in the original real-time patch there was a nice debug feature > that tracked where preemption was disabled and not matched by a preempt > enable. This information made debugging scheduling while atomic much > easier, especially when

Re: [RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread Peter Zijlstra
On Thu, Jan 16, 2014 at 01:39:06PM -0500, Steven Rostedt wrote: > On Thu, 16 Jan 2014 18:45:36 +0100 > Peter Zijlstra wrote: > > > On Thu, Jan 16, 2014 at 12:18:24PM -0500, Steven Rostedt wrote: > > > > Didn't see anything horrible in there, so fine with me. > > > > Another thing I recently

Re: [RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread Steven Rostedt
On Thu, 16 Jan 2014 18:45:36 +0100 Peter Zijlstra wrote: > On Thu, Jan 16, 2014 at 12:18:24PM -0500, Steven Rostedt wrote: > > Didn't see anything horrible in there, so fine with me. > > Another thing I recently ran into was: > > local_irq_disable(); > preempt_disable(); >

Re: [RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread Peter Zijlstra
On Thu, Jan 16, 2014 at 12:18:24PM -0500, Steven Rostedt wrote: Didn't see anything horrible in there, so fine with me. Another thing I recently ran into was: local_irq_disable(); preempt_disable(); local_irq_enable(); local_irq_disable(); preempt_enable(); local_irq_enable(); I'm

Re: [RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread Steven Rostedt
On Thu, 16 Jan 2014 12:18:24 -0500 Steven Rostedt wrote: > > Back in the original real-time patch there was a nice debug feature > that tracked where preemption was disabled and not matched by a preempt > enable. This information made debugging scheduling while atomic much > easier, especially

[RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread Steven Rostedt
Back in the original real-time patch there was a nice debug feature that tracked where preemption was disabled and not matched by a preempt enable. This information made debugging scheduling while atomic much easier, especially when a function was buried in a function chain that happened just

[RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread Steven Rostedt
Back in the original real-time patch there was a nice debug feature that tracked where preemption was disabled and not matched by a preempt enable. This information made debugging scheduling while atomic much easier, especially when a function was buried in a function chain that happened just

Re: [RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread Steven Rostedt
On Thu, 16 Jan 2014 12:18:24 -0500 Steven Rostedt rost...@goodmis.org wrote: Back in the original real-time patch there was a nice debug feature that tracked where preemption was disabled and not matched by a preempt enable. This information made debugging scheduling while atomic much

Re: [RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread Peter Zijlstra
On Thu, Jan 16, 2014 at 12:18:24PM -0500, Steven Rostedt wrote: Didn't see anything horrible in there, so fine with me. Another thing I recently ran into was: local_irq_disable(); preempt_disable(); local_irq_enable(); local_irq_disable(); preempt_enable(); local_irq_enable(); I'm

Re: [RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread Steven Rostedt
On Thu, 16 Jan 2014 18:45:36 +0100 Peter Zijlstra pet...@infradead.org wrote: On Thu, Jan 16, 2014 at 12:18:24PM -0500, Steven Rostedt wrote: Didn't see anything horrible in there, so fine with me. Another thing I recently ran into was: local_irq_disable(); preempt_disable();

Re: [RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread Peter Zijlstra
On Thu, Jan 16, 2014 at 01:39:06PM -0500, Steven Rostedt wrote: On Thu, 16 Jan 2014 18:45:36 +0100 Peter Zijlstra pet...@infradead.org wrote: On Thu, Jan 16, 2014 at 12:18:24PM -0500, Steven Rostedt wrote: Didn't see anything horrible in there, so fine with me. Another thing I

Re: [RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread John Kacur
On Thu, Jan 16, 2014 at 6:18 PM, Steven Rostedt rost...@goodmis.org wrote: Back in the original real-time patch there was a nice debug feature that tracked where preemption was disabled and not matched by a preempt enable. This information made debugging scheduling while atomic much easier,

Re: [RFC][PATCH 0/2] preempt: Track unmatched preempt_enable() to preempt_disable()

2014-01-16 Thread Steven Rostedt
On Thu, 16 Jan 2014 19:42:51 +0100 Peter Zijlstra pet...@infradead.org wrote: Suppose a reschedule interrupt happens in the middle; we set NEED_RESCHED but won't act because preempt is disabled. When we hit preempt_enable() we'll call into preempt_schedule() but fail because preemptible()