fs/aio: obey min_nr when doing wakeups
authorKent Overstreet <kent.overstreet@linux.dev>
Wed, 22 Nov 2023 23:42:53 +0000 (18:42 -0500)
committerChristian Brauner <brauner@kernel.org>
Tue, 28 Nov 2023 13:08:46 +0000 (14:08 +0100)
commit71eb6b6b0ba93b1467bccff57b5de746b09113d2
tree50d8617b7f3cc91869e92507787303e110635722
parentb7638ad0c7802ea854599ce753d0e6d20690f7e2
fs/aio: obey min_nr when doing wakeups

I've been observing workloads where IPIs due to wakeups in
aio_complete() are ~15% of total CPU time in the profile. Most of those
wakeups are unnecessary when completion batching is in use in
io_getevents().

This plumbs min_nr through via the wait eventry, so that aio_complete()
can avoid doing unnecessary wakeups.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Link: https://lore.kernel.org/r/20231122234257.179390-1-kent.overstreet@linux.dev
Cc: Benjamin LaHaise <bcrl@kvack.org>
Cc: Christian Brauner <brauner@kernel.org>
Cc: <linux-aio@kvack.org>
Cc: <linux-fsdevel@vger.kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/aio.c