s390/preempt: Optimize __preempt_count_dec_and_test()
Use __atomic_add_const_and_test() within __preempt_count_dec_and_test(). With this it is possible to decrease preempt_count by one and test if need_resched is set with one instruction, if the compiler has support for flag output operand constraints. Reviewed-by: Juergen Christ <jchrist@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
This commit is contained in:
committed by
Alexander Gordeev
parent
a53f5d247e
commit
5c9e37e523
@@ -87,7 +87,7 @@ static __always_inline void __preempt_count_sub(int val)
|
||||
*/
|
||||
static __always_inline bool __preempt_count_dec_and_test(void)
|
||||
{
|
||||
return __atomic_add(-1, &get_lowcore()->preempt_count) == 1;
|
||||
return __atomic_add_const_and_test(-1, &get_lowcore()->preempt_count);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user