[PATCH 6/6] fs: Remove caller signal_pending branch predictions

From: Davidlohr Bueso
Date: Thu Nov 15 2018 - 19:27:41 EST


This is already done for us internally by the signal machinery.

Cc: linux-fsdevel@xxxxxxxxxxxxxxx
Signed-off-by: Davidlohr Bueso <dave@xxxxxxxxxxxx>
---
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(-)

diff --git a/fs/afs/fs_probe.c b/fs/afs/fs_probe.c
index d049cb459742..428588fb38c6 100644
--- a/fs/afs/fs_probe.c
+++ b/fs/afs/fs_probe.c
@@ -238,7 +238,7 @@ int afs_wait_for_fs_probes(struct afs_server_list *slist, unsigned long untried)
}
}

- if (!still_probing || unlikely(signal_pending(current)))
+ if (!still_probing || signal_pending(current))
goto stop;
schedule();
}
diff --git a/fs/afs/vl_probe.c b/fs/afs/vl_probe.c
index c0f616bd70cb..60069640b33d 100644
--- a/fs/afs/vl_probe.c
+++ b/fs/afs/vl_probe.c
@@ -239,7 +239,7 @@ int afs_wait_for_vl_probes(struct afs_vlserver_list *vllist,
}
}

- if (!still_probing || unlikely(signal_pending(current)))
+ if (!still_probing || signal_pending(current))
goto stop;
schedule();
}
diff --git a/fs/buffer.c b/fs/buffer.c
index 1286c2b95498..f88ee2bb62fc 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2366,7 +2366,7 @@ static int cont_expand_zero(struct file *file, struct address_space *mapping,

balance_dirty_pages_ratelimited(mapping);

- if (unlikely(fatal_signal_pending(current))) {
+ if (fatal_signal_pending(current))) {
err = -EINTR;
goto out;
}
diff --git a/fs/exec.c b/fs/exec.c
index fc281b738a98..2bb8bece54cc 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -1084,7 +1084,7 @@ static int de_thread(struct task_struct *tsk)
__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);
}
@@ -1112,7 +1112,7 @@ static int de_thread(struct task_struct *tsk)
write_unlock_irq(&tasklist_lock);
cgroup_threadgroup_change_end(tsk);
schedule();
- if (unlikely(__fatal_signal_pending(tsk)))
+ if (__fatal_signal_pending(tsk))
goto killed;
}

diff --git a/fs/orangefs/orangefs-bufmap.c b/fs/orangefs/orangefs-bufmap.c
index c4e98c9c1621..443bcd8c3c19 100644
--- a/fs/orangefs/orangefs-bufmap.c
+++ b/fs/orangefs/orangefs-bufmap.c
@@ -105,7 +105,7 @@ static int wait_for_free(struct slot_map *m)
left = t;
else
left = t + (left - n);
- if (unlikely(signal_pending(current)))
+ if (signal_pending(current))
left = -EINTR;
} while (left > 0);

--
2.16.4