Re: [patch] preempt-timing-on-2.6.8-rc2-O2

William Lee Irwin III
2004-08-02T10:56:49Z

* Ingo Molnar <mingo@elte.hu> wrote:
>> (kjournald/189): 997us non-preemptible critical section violated 100 us
>> preempt threshold starting at journal_commit_transaction+0x642/0x2b10
>> and ending at journal_commit_transaction+0x24ce/0x2b10
>> [<c0105d7e>] dump_stack+0x1e/0x30
>> [<c011ad0f>] dec_preempt_count+0x3f/0x50
>> [<c01dfd3e>] journal_commit_transaction+0x24ce/0x2b10
>> [<c01e3bf4>] kjournald+0x1a4/0x710
>> [<c0102765>] kernel_thread_helper+0x5/0x10

On Mon, Aug 02, 2004 at 12:51:00PM +0200, Ingo Molnar wrote:
> ok, found it - it's a false positive in commit.c due to need_resched()
> not doing a touch_preempt_timing(). Newest patch at:
> http://redhat.com/~mingo/voluntary-preempt/preempt-timing-on-2.6.8-rc2-O2

Great, thanks for fixing this up.

On Mon, Aug 02, 2004 at 12:51:00PM +0200, Ingo Molnar wrote:
> i changed need_resched() to do a touch_preempt_timing() - this also got
> rid of some other changes. All code i checked really takes
> need_resched() seriously if it looks at it - any reason why you didnt
> add this to need_resched() before?

I was less sure of this as I hadn't audited need_resched() callers to
be sure they did cond_resched() or similar. As you've carried out the
audit of need_resched() callers, you have the certainty I didn't.

-- wli