linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] Non-blocking AIO
@ 2017-02-14  2:45 Goldwyn Rodrigues
  2017-02-14  2:45 ` [PATCH 1/7] nonblocking aio: Introduce IOCB_FLAG_NONBLOCKING Goldwyn Rodrigues
                   ` (8 more replies)
  0 siblings, 9 replies; 26+ messages in thread
From: Goldwyn Rodrigues @ 2017-02-14  2:45 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: jack

This series adds nonblocking feature to asynchronous I/O writes.
io_submit() can be delayed because of a number of reason:
 - Block allocation for files
 - Data writebacks for direct I/O
 - Sleeping because of waiting to acquire i_rwsem
 - Congested block device

The goal of the patch series is to return -EAGAIN/-EWOULDBLOCK if
any of these conditions are met. This way userspace can push most
of the write()s to the kernel to the best of its ability to complete
and if it returns -EAGAIN, can defer it to another thread.

In order to enable this, IOCB_FLAG_NONBLOCKING is introduced in 
uapi/linux/aio_abi.h which translates to IOCB_BLOCKING for struct iocb.

This feature is provided for direct I/O of asynchronous I/O only. I have
tested it against xfs, ext4, and btrfs.

-- 
Goldwyn

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

end of thread, other threads:[~2017-03-03 10:52 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-14  2:45 [PATCH 0/7] Non-blocking AIO Goldwyn Rodrigues
2017-02-14  2:45 ` [PATCH 1/7] nonblocking aio: Introduce IOCB_FLAG_NONBLOCKING Goldwyn Rodrigues
2017-02-14 18:51   ` Jeff Moyer
2017-02-15 14:51     ` Goldwyn Rodrigues
2017-02-20  9:23   ` Christoph Hellwig
2017-02-14  2:45 ` [PATCH 2/7] noblocking aio: Return if cannot get hold of i_rwsem Goldwyn Rodrigues
2017-02-20  9:24   ` Christoph Hellwig
2017-02-14  2:45 ` [PATCH 3/7] nonblocking aio: return if direct write will trigger writeback Goldwyn Rodrigues
2017-02-20  9:25   ` Christoph Hellwig
2017-02-14  2:46 ` [PATCH 4/7] nonblocking aio: return on congested block device Goldwyn Rodrigues
2017-02-14  3:55   ` Ming Lei
2017-02-15 11:13     ` Goldwyn Rodrigues
2017-02-14  2:46 ` [PATCH 5/7] nonblocking aio: ext4 Goldwyn Rodrigues
2017-02-14 19:52   ` Andreas Dilger
2017-02-15 11:20     ` Goldwyn Rodrigues
2017-02-14  2:46 ` [PATCH 6/7] nonblocking aio: xfs Goldwyn Rodrigues
2017-02-14  6:44   ` Darrick J. Wong
2017-02-14  7:43   ` Christoph Hellwig
2017-02-15 15:30     ` Goldwyn Rodrigues
2017-02-15 16:11       ` Goldwyn Rodrigues
2017-02-16 20:21         ` Christoph Hellwig
2017-02-16 20:44           ` Goldwyn Rodrigues
2017-02-14  2:46 ` [PATCH 7/7] nonblocking aio: btrfs Goldwyn Rodrigues
2017-02-14  9:24   ` Nikolay Borisov
2017-02-20  9:21 ` [PATCH 0/7] Non-blocking AIO Christoph Hellwig
2017-03-03 10:50 ` Michael Kerrisk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).