All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shailabh Nagar <nagar@watson.ibm.com>
To: Janet Morgan <janetmor@us.ibm.com>
Cc: Benjamin LaHaise <bcrl@redhat.com>,
	Christoph Hellwig <hch@sgi.com>,
	akpm@digeo.com, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-aio@kvack.org
Subject: Re: [RFC] iovec in ->aio_read/->aio_write
Date: Wed, 16 Oct 2002 09:41:03 -0400	[thread overview]
Message-ID: <3DAD6C6F.2080908@watson.ibm.com> (raw)
In-Reply-To: 200210160651.g9G6pMm17385@eng4.beaverton.ibm.com


Janet Morgan wrote:

> Here's a patch for aio readv/writev support.  Basically it adds:
> 
> - two new opcodes (IOCB_CMD_PREADV and IOCB_CMD_PWRITEV)
> - a field to the iocb for the user vector
> - aio_readv/writev methods to the file_operations structure

I presume f_op->aio_readv could point to __generic_file_aio_read for most
filesystems.

Would f_op->aio_writev need a new wrapper function for 2.5.42 ?
f_op->aio_write eventually calls generic_file_write which uses a different inode
from generic_file_writev. So f_op->aio_writev might need to point to a function
like generic_file_writev but using the same inode as generic_file_write.


> - routine aio.c/io_readv_writev, which borrows heavily from do_readv_writev. 
> 
> I tested this using the aio dio patch that Badari submitted a while back. 
> I compared:
>                 readv/writev io_submit for a vector of N iovecs 
>                 vs read/write io_submit for N iocbs.
> 
> My performance data is only preliminary at this point, but aio readv/writev 
> appears to outperform aio read/write -- twice as fast in some cases.  The 
> results generally make sense to me:  while there is only one io_submit in both 
> cases, aio readv/writev shortens codepath (one instead of N calls to the 
> underlying filesystem routine) and should normally result in fewer 

Twice as fast looks good !

> bios/callbacks (at least for direct-io).  As importantly, aio readv/writev 
> in my testing also reduces the number of (system) calls to io_getevents.

It would be interesting to see the performance boost when <iov length> events
are retrieved at once, using the min_nr parameter of io_getevents.


--Shailabh


  reply	other threads:[~2002-10-16 13:44 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-16  2:33 [RFC] iovec in ->aio_read/->aio_write Christoph Hellwig
2002-10-16  2:33 ` Christoph Hellwig
2002-10-15 19:34 ` Benjamin LaHaise
2002-10-15 19:34   ` Benjamin LaHaise
2002-10-16  6:51   ` Janet Morgan
2002-10-16  6:51     ` Janet Morgan
2002-10-16 13:41     ` Shailabh Nagar [this message]
2002-10-16 15:06     ` Benjamin LaHaise
2002-10-17 11:22       ` Janet Morgan
  -- strict thread matches above, loose matches on Subject: below --
2002-10-16 14:40 Helen Pang
2002-10-16 14:40 ` Helen Pang

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=3DAD6C6F.2080908@watson.ibm.com \
    --to=nagar@watson.ibm.com \
    --cc=akpm@digeo.com \
    --cc=bcrl@redhat.com \
    --cc=hch@sgi.com \
    --cc=janetmor@us.ibm.com \
    --cc=linux-aio@kvack.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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: link
Be 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.