[PATCH] spin_unlock_bh() and preempt_check_resched()
authorSamuel Thibault <samuel.thibault@labri.fr>
Sat, 21 May 2005 15:50:15 +0000 (17:50 +0200)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 21 May 2005 17:46:48 +0000 (10:46 -0700)
In _spin_unlock_bh(lock):
do { \
_raw_spin_unlock(lock); \
preempt_enable(); \
local_bh_enable(); \
__release(lock); \
} while (0)

there is no reason for using preempt_enable() instead of a simple
preempt_enable_no_resched()

Since we know bottom halves are disabled, preempt_schedule() will always
return at once (preempt_count!=0), and hence preempt_check_resched() is
useless here...

This fixes it by using "preempt_enable_no_resched()" instead of the
"preempt_enable()", and thus avoids the useless preempt_check_resched()
just before re-enabling bottom halves.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

No differences found