s390/processor: add test_and_set_cpu_flag() and test_and_clear_cpu_flag()
Add test_and_set_cpu_flag() and test_and_clear_cpu_flag() helper functions. Reviewed-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
Родитель
b977f03ec4
Коммит
f96f41aae2
|
@ -59,6 +59,22 @@ static __always_inline bool test_cpu_flag(int flag)
|
|||
return S390_lowcore.cpu_flags & (1UL << flag);
|
||||
}
|
||||
|
||||
static __always_inline bool test_and_set_cpu_flag(int flag)
|
||||
{
|
||||
if (test_cpu_flag(flag))
|
||||
return true;
|
||||
set_cpu_flag(flag);
|
||||
return false;
|
||||
}
|
||||
|
||||
static __always_inline bool test_and_clear_cpu_flag(int flag)
|
||||
{
|
||||
if (!test_cpu_flag(flag))
|
||||
return false;
|
||||
clear_cpu_flag(flag);
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* Test CIF flag of another CPU. The caller needs to ensure that
|
||||
* CPU hotplug can not happen, e.g. by disabling preemption.
|
||||
|
|
Загрузка…
Ссылка в новой задаче