summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2019-11-01 21:52:24 +0100
committerDavid Howells <dhowells@redhat.com>2019-11-15 17:22:54 +0100
commit3c0edea9b29f9be6c093f236f762202b30ac9431 (patch)
tree0a6e0636dc6a486f276df3d12e72b1bb19ad84c4 /fs
parentpipe: Increase the writer-wakeup threshold to reduce context-switch count (diff)
downloadlinux-3c0edea9b29f9be6c093f236f762202b30ac9431.tar.xz
linux-3c0edea9b29f9be6c093f236f762202b30ac9431.zip
pipe: Remove sync on wake_ups
Diffstat (limited to 'fs')
-rw-r--r--fs/pipe.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/pipe.c b/fs/pipe.c
index 9cd5cbef9552..c5e3765465f0 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -332,7 +332,7 @@ pipe_read(struct kiocb *iocb, struct iov_iter *to)
do_wakeup = 1;
wake = head - (tail - 1) == pipe->max_usage / 2;
if (wake)
- wake_up_interruptible_sync_poll_locked(
+ wake_up_locked_poll(
&pipe->wait, EPOLLOUT | EPOLLWRNORM);
spin_unlock_irq(&pipe->wait.lock);
if (wake)
@@ -371,7 +371,7 @@ pipe_read(struct kiocb *iocb, struct iov_iter *to)
/* Signal writers asynchronously that there is more room. */
if (do_wakeup) {
- wake_up_interruptible_sync_poll(&pipe->wait, EPOLLOUT | EPOLLWRNORM);
+ wake_up_interruptible_poll(&pipe->wait, EPOLLOUT | EPOLLWRNORM);
kill_fasync(&pipe->fasync_writers, SIGIO, POLL_OUT);
}
if (ret > 0)
@@ -477,7 +477,7 @@ pipe_write(struct kiocb *iocb, struct iov_iter *from)
* syscall merging.
* FIXME! Is this really true?
*/
- wake_up_interruptible_sync_poll_locked(
+ wake_up_locked_poll(
&pipe->wait, EPOLLIN | EPOLLRDNORM);
spin_unlock_irq(&pipe->wait.lock);
@@ -531,7 +531,7 @@ pipe_write(struct kiocb *iocb, struct iov_iter *from)
out:
__pipe_unlock(pipe);
if (do_wakeup) {
- wake_up_interruptible_sync_poll(&pipe->wait, EPOLLIN | EPOLLRDNORM);
+ wake_up_interruptible_poll(&pipe->wait, EPOLLIN | EPOLLRDNORM);
kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN);
}
if (ret > 0 && sb_start_write_trylock(file_inode(filp)->i_sb)) {