From: Dave Kleikamp <dave.kleikamp@oracle.com> To: Benjamin LaHaise <bcrl@kvack.org> Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>, "Maxim V. Patlasov" <mpatlasov@parallels.com>, Zach Brown <zab@zabbo.net>, linux-aio@kvack.org Subject: Re: [PATCH V8 00/33] loop: Issue O_DIRECT aio using bio_vec Date: Wed, 21 Aug 2013 11:30:22 -0500 [thread overview] Message-ID: <5214EB1E.5050407@oracle.com> (raw) In-Reply-To: <20130821130231.GG13330@kvack.org> Ben, First, let me apologize for neglecting to copy you and linux-aio on the applicable patches. I've been carrying along this patchset, assuming I had gotten the proper cc's correct a while back, but I somehow missed the aio pieces. On 08/21/2013 08:02 AM, Benjamin LaHaise wrote: > Hello Dave, > > On Thu, Jul 25, 2013 at 12:50:26PM -0500, Dave Kleikamp wrote: >> This patch series adds a kernel interface to fs/aio.c so that kernel code can >> issue concurrent asynchronous IO to file systems. It adds an aio command and >> file system methods which specify io memory with pages instead of userspace >> addresses. > > First off, have you tested that this series actually works when merged with > the pending AIO changes from Kent? There a git tree with those pending > changes at git://git.kvack.org/~bcrl/aio-next.git , and they're in > linux-next. I've lightly tested the patchset against the linux-next tree, running a fio job on loop-mounted filesystems of different fs types. > One of the major problems your changeset continues to carry is that your > new read_iter/write_iter operations permit blocking (implicitely), which > really isn't what we want for aio. If you're going to introduce a new api, > it should be made non-blocking, and enforce that non-blocking requirement > (ie warn when read_iter/write_iter methods perform blockin operations, > similar to the warnings when scheduling in atomic mode). This means more > changes for some filesystem code involved, something that people have been > avoiding for years, but which really needs to be done. I'm not really sure how the read_iter and write_iter operations are more likely to block than the current aio_read and aio_write operations. Am I missing something? Thanks, Dave
WARNING: multiple messages have this Message-ID (diff)
From: Dave Kleikamp <dave.kleikamp@oracle.com> To: Benjamin LaHaise <bcrl@kvack.org> Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>, "Maxim V. Patlasov" <mpatlasov@parallels.com>, Zach Brown <zab@zabbo.net>, linux-aio@kvack.org Subject: Re: [PATCH V8 00/33] loop: Issue O_DIRECT aio using bio_vec Date: Wed, 21 Aug 2013 11:30:22 -0500 [thread overview] Message-ID: <5214EB1E.5050407@oracle.com> (raw) In-Reply-To: <20130821130231.GG13330@kvack.org> Ben, First, let me apologize for neglecting to copy you and linux-aio on the applicable patches. I've been carrying along this patchset, assuming I had gotten the proper cc's correct a while back, but I somehow missed the aio pieces. On 08/21/2013 08:02 AM, Benjamin LaHaise wrote: > Hello Dave, > > On Thu, Jul 25, 2013 at 12:50:26PM -0500, Dave Kleikamp wrote: >> This patch series adds a kernel interface to fs/aio.c so that kernel code can >> issue concurrent asynchronous IO to file systems. It adds an aio command and >> file system methods which specify io memory with pages instead of userspace >> addresses. > > First off, have you tested that this series actually works when merged with > the pending AIO changes from Kent? There a git tree with those pending > changes at git://git.kvack.org/~bcrl/aio-next.git , and they're in > linux-next. I've lightly tested the patchset against the linux-next tree, running a fio job on loop-mounted filesystems of different fs types. > One of the major problems your changeset continues to carry is that your > new read_iter/write_iter operations permit blocking (implicitely), which > really isn't what we want for aio. If you're going to introduce a new api, > it should be made non-blocking, and enforce that non-blocking requirement > (ie warn when read_iter/write_iter methods perform blockin operations, > similar to the warnings when scheduling in atomic mode). This means more > changes for some filesystem code involved, something that people have been > avoiding for years, but which really needs to be done. I'm not really sure how the read_iter and write_iter operations are more likely to block than the current aio_read and aio_write operations. Am I missing something? Thanks, Dave -- To unsubscribe, send a message with 'unsubscribe linux-aio' in the body to majordomo@kvack.org. For more info on Linux AIO, see: http://www.kvack.org/aio/ Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
next prev parent reply other threads:[~2013-08-21 16:30 UTC|newest] Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-07-25 17:50 [PATCH V8 00/33] loop: Issue O_DIRECT aio using bio_vec Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 01/33] iov_iter: move into its own file Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 02/33] iov_iter: iov_iter_copy_from_user() should use non-atomic copy Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 03/33] iov_iter: add copy_to_user support Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 04/33] iov_iter: add __iovec_copy_to_user() Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 05/33] fuse: convert fuse to use iov_iter_copy_[to|from]_user Dave Kleikamp 2013-07-25 17:50 ` Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 06/33] iov_iter: hide iovec details behind ops function pointers Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 07/33] iov_iter: ii_iovec_copy_to_user should pre-fault user pages Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 08/33] iov_iter: add bvec support Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 09/33] iov_iter: add a shorten call Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 10/33] iov_iter: let callers extract iovecs and bio_vecs Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 11/33] dio: Convert direct_IO to use iov_iter Dave Kleikamp 2013-08-23 15:48 ` Geert Uytterhoeven 2013-08-23 15:48 ` Geert Uytterhoeven 2013-07-25 17:50 ` [PATCH V8 12/33] dio: add bio_vec support to __blockdev_direct_IO() Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 13/33] fs: pull iov_iter use higher up the stack Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 14/33] aio: add aio_kernel_() interface Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 15/33] aio: add aio support for iov_iter arguments Dave Kleikamp 2013-08-21 13:55 ` Benjamin LaHaise 2013-08-30 20:05 ` Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 16/33] bio: add bvec_length(), like iov_length() Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 17/33] loop: use aio to perform io on the underlying file Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 18/33] fs: create file_readable() and file_writable() functions Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 19/33] fs: use read_iter and write_iter rather than aio_read and aio_write Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 20/33] fs: add read_iter and write_iter to several file systems Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 21/33] ocfs2: add support for read_iter and write_iter Dave Kleikamp 2013-07-25 17:50 ` [Ocfs2-devel] " Dave Kleikamp 2013-07-25 17:50 ` Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 22/33] ext4: " Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 23/33] nfs: add support for read_iter, write_iter Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 24/33] nfs: simplify swap Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 25/33] btrfs: add support for read_iter and write_iter Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 26/33] block_dev: add support for read_iter, write_iter Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 27/33] xfs: add support for read_iter and write_iter Dave Kleikamp 2013-07-25 17:50 ` Dave Kleikamp 2013-07-26 11:51 ` Dave Chinner 2013-07-26 11:51 ` Dave Chinner 2013-07-25 17:50 ` [PATCH V8 28/33] gfs2: Convert aio_read/write ops to read/write_iter Dave Kleikamp 2013-07-25 17:50 ` [Cluster-devel] " Dave Kleikamp 2013-07-25 17:50 ` Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 29/33] udf: convert file ops from aio_read/write " Dave Kleikamp 2013-07-25 21:34 ` Jan Kara 2013-07-25 17:50 ` [PATCH V8 30/33] afs: add support for read_iter and write_iter Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 31/33] ecrpytfs: Convert aio_read/write ops to read/write_iter Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 32/33] ubifs: convert file ops from aio_read/write " Dave Kleikamp 2013-07-25 17:50 ` Dave Kleikamp 2013-07-25 17:50 ` Dave Kleikamp 2013-07-25 17:50 ` [PATCH V8 33/33] tmpfs: add support for read_iter and write_iter Dave Kleikamp 2013-07-30 21:28 ` [PATCH V8 00/33] loop: Issue O_DIRECT aio using bio_vec Andrew Morton 2013-07-31 0:43 ` Dave Chinner 2013-07-31 6:40 ` Sedat Dilek 2013-07-31 8:41 ` Sedat Dilek 2013-07-31 11:22 ` Sedat Dilek 2013-07-31 9:51 ` Maxim Patlasov 2013-08-01 8:58 ` Christoph Hellwig 2013-08-01 13:04 ` Dave Kleikamp 2013-08-02 10:48 ` Christoph Hellwig 2013-08-20 13:00 ` Christoph Hellwig 2013-08-20 19:13 ` Dave Kleikamp 2013-08-21 0:14 ` Stephen Rothwell 2013-08-21 5:35 ` Sedat Dilek 2013-08-20 22:46 ` Andrew Morton 2013-08-21 13:02 ` Benjamin LaHaise 2013-08-21 13:02 ` Benjamin LaHaise 2013-08-21 16:30 ` Dave Kleikamp [this message] 2013-08-21 16:30 ` Dave Kleikamp 2013-08-21 16:39 ` Benjamin LaHaise 2013-08-21 16:39 ` Benjamin LaHaise 2013-08-21 17:12 ` Dave Kleikamp 2013-08-21 17:12 ` Dave Kleikamp 2013-08-21 19:30 ` Andrew Morton 2013-08-21 19:30 ` Andrew Morton 2013-08-21 20:24 ` Benjamin LaHaise 2013-08-21 20:24 ` Benjamin LaHaise 2013-10-14 15:07 ` Christoph Hellwig 2013-10-14 21:29 ` Benjamin LaHaise 2013-10-14 21:29 ` Benjamin LaHaise 2013-10-15 16:55 ` Christoph Hellwig 2013-10-15 17:14 ` Benjamin LaHaise 2013-10-15 17:14 ` Benjamin LaHaise 2013-10-15 17:18 ` Christoph Hellwig 2013-10-15 17:18 ` Christoph Hellwig 2013-10-15 17:53 ` Dave Kleikamp 2013-10-15 17:53 ` Dave Kleikamp 2014-12-31 20:38 ` Sedat Dilek 2014-12-31 21:52 ` Dave Kleikamp 2014-12-31 22:35 ` Sedat Dilek 2015-01-01 0:52 ` Ming Lei 2015-01-05 19:24 ` Maxim Patlasov 2015-01-06 13:18 ` Ming Lei 2015-01-10 16:51 ` Ming Lei
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=5214EB1E.5050407@oracle.com \ --to=dave.kleikamp@oracle.com \ --cc=akpm@linux-foundation.org \ --cc=bcrl@kvack.org \ --cc=linux-aio@kvack.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mpatlasov@parallels.com \ --cc=zab@zabbo.net \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.