The patch titled Subject: aio: simplify read_events() has been removed from the -mm tree. Its filename was aio-simplify-read_events.patch This patch was dropped because it was withdrawn ------------------------------------------------------ From: Oleg Nesterov <oleg@xxxxxxxxxx> Subject: aio: simplify read_events() Change wait_event_hrtimeout() to not call __wait_event_hrtimeout() if timeout == 0, this matches other _timeout() helpers in wait.h. This allows to simplify its only user, read_events(), it no longer needs to optimize the "until == 0" case by hand. Note: this patch doesn't use ___wait_cond_timeout because _hrtimeout() also differs in that it returns 0 if succeeds and -ETIME on timeout. Perhaps we should change this to make it fully compatible with other helpers. Link: http://lkml.kernel.org/r/20190607175413.GA29187@xxxxxxxxxx Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Laight <David.Laight@xxxxxxxxxx> Cc: Deepa Dinamani <deepa.kernel@xxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Eric Wong <e@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/aio.c | 9 +++------ include/linux/wait.h | 4 ++-- 2 files changed, 5 insertions(+), 8 deletions(-) --- a/fs/aio.c~aio-simplify-read_events +++ a/fs/aio.c @@ -1286,12 +1286,9 @@ static long read_events(struct kioctx *c * the ringbuffer empty. So in practice we should be ok, but it's * something to be aware of when touching this code. */ - if (until == 0) - aio_read_events(ctx, min_nr, nr, event, &ret); - else - wait_event_interruptible_hrtimeout(ctx->wait, - aio_read_events(ctx, min_nr, nr, event, &ret), - until); + wait_event_interruptible_hrtimeout(ctx->wait, + aio_read_events(ctx, min_nr, nr, event, &ret), + until); return ret; } --- a/include/linux/wait.h~aio-simplify-read_events +++ a/include/linux/wait.h @@ -555,7 +555,7 @@ do { \ ({ \ int __ret = 0; \ might_sleep(); \ - if (!(condition)) \ + if (!(condition) && (timeout)) \ __ret = __wait_event_hrtimeout(wq_head, condition, timeout, \ TASK_UNINTERRUPTIBLE); \ __ret; \ @@ -581,7 +581,7 @@ do { \ ({ \ long __ret = 0; \ might_sleep(); \ - if (!(condition)) \ + if (!(condition) && (timeout)) \ __ret = __wait_event_hrtimeout(wq, condition, timeout, \ TASK_INTERRUPTIBLE); \ __ret; \ _ Patches currently in -mm which might be from oleg@xxxxxxxxxx are