diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2009-07-16 15:44:29 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-07-18 15:51:44 +0200 |
commit | 613afbf83298efaead05ebcac23d2285609d7160 (patch) | |
tree | 15fa2025d74cee5f6805ab974c532c6b6a603333 /fs/locks.c | |
parent | sched: Remove the CONFIG_PREEMPT_BKL case definition of cond_resched() (diff) | |
download | linux-613afbf83298efaead05ebcac23d2285609d7160.tar.xz linux-613afbf83298efaead05ebcac23d2285609d7160.zip |
sched: Pull up the might_sleep() check into cond_resched()
might_sleep() is called late-ish in cond_resched(), after the
need_resched()/preempt enabled/system running tests are
checked.
It's better to check the sleeps while atomic earlier and not
depend on some environment datas that reduce the chances to
detect a problem.
Also define cond_resched_*() helpers as macros, so that the
FILE/LINE reported in the sleeping while atomic warning
displays the real origin and not sched.h
Changes in v2:
- Call __might_sleep() directly instead of might_sleep() which
may call cond_resched()
- Turn cond_resched() into a macro so that the file:line
couple reported refers to the caller of cond_resched() and
not __cond_resched() itself.
Changes in v3:
- Also propagate this __might_sleep() pull up to
cond_resched_lock() and cond_resched_softirq()
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1247725694-6082-6-git-send-email-fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs/locks.c')
0 files changed, 0 insertions, 0 deletions