__mutex_lock_common: use signal_pending_state()
Change __mutex_lock_common() to use signal_pending_state() for the sake of the code re-use. This adds 7 bytes to kernel/mutex.o, but afaics only because gcc isn't smart enough. (btw, uninlining of __mutex_lock_common() shrinks .text from 2722 to 1542, perhaps it is worth doing). Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
493d35863d
commit
6ad36762d7
1 changed files with 1 additions and 4 deletions
|
@ -165,10 +165,7 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass,
|
||||||
* got a signal? (This code gets eliminated in the
|
* got a signal? (This code gets eliminated in the
|
||||||
* TASK_UNINTERRUPTIBLE case.)
|
* TASK_UNINTERRUPTIBLE case.)
|
||||||
*/
|
*/
|
||||||
if (unlikely((state == TASK_INTERRUPTIBLE &&
|
if (unlikely(signal_pending_state(state, task))) {
|
||||||
signal_pending(task)) ||
|
|
||||||
(state == TASK_KILLABLE &&
|
|
||||||
fatal_signal_pending(task)))) {
|
|
||||||
mutex_remove_waiter(lock, &waiter,
|
mutex_remove_waiter(lock, &waiter,
|
||||||
task_thread_info(task));
|
task_thread_info(task));
|
||||||
mutex_release(&lock->dep_map, 1, ip);
|
mutex_release(&lock->dep_map, 1, ip);
|
||||||
|
|
Loading…
Reference in a new issue