public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] some pipe + wait stuff
@ 2025-03-03 23:04 Mateusz Guzik
  2025-03-03 23:04 ` [PATCH 1/3] pipe: drop an always true check in anon_pipe_write() Mateusz Guzik
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Mateusz Guzik @ 2025-03-03 23:04 UTC (permalink / raw)
  To: torvalds
  Cc: oleg, brauner, mingo, peterz, rostedt, linux-kernel,
	linux-fsdevel, Mateusz Guzik

As a side effect of looking at the pipe hang I came up with 3 changes to
consider for -next.

The first one is a trivial clean up which I wont mind if it merely gets
folded into someone else's change for pipes.

The second one reduces page alloc/free calls for the backing area (60%
less during a kernel build in my testing). I already posted this, but
the cc list was not proper.

The last one concerns the wait/wakeup mechanism and drops one lock trip
in the common case after waking up. That too was posted some days ago,
but nobody was biting. Perhaps you will be interested (but again, maybe
I got the wrong people from get_maintainer.pl).

Mateusz Guzik (3):
  pipe: drop an always true check in anon_pipe_write()
  pipe: cache 2 pages instead of 1
  wait: avoid spurious calls to prepare_to_wait_event() in
    ___wait_event()

 fs/pipe.c                 | 63 +++++++++++++++++++++++++--------------
 include/linux/pipe_fs_i.h |  2 +-
 include/linux/wait.h      |  3 ++
 3 files changed, 45 insertions(+), 23 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2025-03-04 19:49 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-03 23:04 [PATCH 0/3] some pipe + wait stuff Mateusz Guzik
2025-03-03 23:04 ` [PATCH 1/3] pipe: drop an always true check in anon_pipe_write() Mateusz Guzik
2025-03-04 14:07   ` Oleg Nesterov
2025-03-04 14:58     ` Mateusz Guzik
2025-03-04 15:18       ` Oleg Nesterov
2025-03-04 15:44     ` pipes && EPOLLET, again Oleg Nesterov
2025-03-04 18:12       ` Linus Torvalds
2025-03-04 19:32         ` Oleg Nesterov
2025-03-04 19:49           ` Linus Torvalds
2025-03-03 23:04 ` [PATCH 2/3] pipe: cache 2 pages instead of 1 Mateusz Guzik
2025-03-03 23:04 ` [PATCH 3/3] wait: avoid spurious calls to prepare_to_wait_event() in ___wait_event() Mateusz Guzik
2025-03-04 14:19   ` Peter Zijlstra
2025-03-04 15:25     ` Mateusz Guzik
2025-03-04  8:46 ` [PATCH 0/3] some pipe + wait stuff Christian Brauner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox