From: Davidlohr Bueso <dave@xxxxxxxxxxxx> Subject: fs/: remove caller signal_pending branch predictions This is already done for us internally by the signal machinery. [akpm@xxxxxxxxxxxxxxxxxxxx: fix fs/buffer.c] Link: http://lkml.kernel.org/r/20181116002713.8474-7-dave@xxxxxxxxxxxx Signed-off-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Reviewed-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/afs/fs_probe.c | 2 +- fs/afs/vl_probe.c | 2 +- fs/buffer.c | 2 +- fs/exec.c | 4 ++-- fs/orangefs/orangefs-bufmap.c | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) --- a/fs/afs/fs_probe.c~fs-remove-caller-signal_pending-branch-predictions +++ a/fs/afs/fs_probe.c @@ -247,7 +247,7 @@ int afs_wait_for_fs_probes(struct afs_se } } - if (!still_probing || unlikely(signal_pending(current))) + if (!still_probing || signal_pending(current)) goto stop; schedule(); } --- a/fs/afs/vl_probe.c~fs-remove-caller-signal_pending-branch-predictions +++ a/fs/afs/vl_probe.c @@ -248,7 +248,7 @@ int afs_wait_for_vl_probes(struct afs_vl } } - if (!still_probing || unlikely(signal_pending(current))) + if (!still_probing || signal_pending(current)) goto stop; schedule(); } --- a/fs/buffer.c~fs-remove-caller-signal_pending-branch-predictions +++ a/fs/buffer.c @@ -2366,7 +2366,7 @@ static int cont_expand_zero(struct file balance_dirty_pages_ratelimited(mapping); - if (unlikely(fatal_signal_pending(current))) { + if (fatal_signal_pending(current)) { err = -EINTR; goto out; } --- a/fs/exec.c~fs-remove-caller-signal_pending-branch-predictions +++ a/fs/exec.c @@ -1087,7 +1087,7 @@ static int de_thread(struct task_struct __set_current_state(TASK_KILLABLE); spin_unlock_irq(lock); schedule(); - if (unlikely(__fatal_signal_pending(tsk))) + if (__fatal_signal_pending(tsk)) goto killed; spin_lock_irq(lock); } @@ -1115,7 +1115,7 @@ static int de_thread(struct task_struct write_unlock_irq(&tasklist_lock); cgroup_threadgroup_change_end(tsk); schedule(); - if (unlikely(__fatal_signal_pending(tsk))) + if (__fatal_signal_pending(tsk)) goto killed; } --- a/fs/orangefs/orangefs-bufmap.c~fs-remove-caller-signal_pending-branch-predictions +++ a/fs/orangefs/orangefs-bufmap.c @@ -105,7 +105,7 @@ static int wait_for_free(struct slot_map left = t; else left = t + (left - n); - if (unlikely(signal_pending(current))) + if (signal_pending(current)) left = -EINTR; } while (left > 0); _