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

Ingo Molnar
2004-08-02T10:49:45Z

* 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

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

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?

Ingo