[Top] [All Lists]

[xfs-masters] Re: [PATCH -mm 3/10][RFC] aio: use iov_length instead of k

To: "Nate Diller" <nate.diller@xxxxxxxxx>
Subject: [xfs-masters] Re: [PATCH -mm 3/10][RFC] aio: use iov_length instead of ki_left
From: Ingo Oeser <ioe-lkml@xxxxxxxxxx>
Date: Wed, 17 Jan 2007 00:36:07 +0100
Cc: "Christoph Hellwig" <hch@xxxxxxxxxxxxx>, "Nate Diller" <nate@xxxxxxxxx>, "Andrew Morton" <akpm@xxxxxxxx>, "Alan Cox" <alan@xxxxxxxxxxxxxxxxxxx>, "Trond Myklebust" <trond.myklebust@xxxxxxxxxx>, "Benjamin LaHaise" <bcrl@xxxxxxxxx>, "Alexander Viro" <viro@xxxxxxxxxxxxxxxxxx>, "Suparna Bhattacharya" <suparna@xxxxxxxxxx>, "Kenneth W Chen" <kenneth.w.chen@xxxxxxxxx>, "David Brownell" <dbrownell@xxxxxxxxxxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx, ocfs2-devel@xxxxxxxxxxxxxx, linux-aio@xxxxxxxxx, xfs-masters@xxxxxxxxxxx
In-reply-to: <5c49b0ed0701152137s52e8f2c8sc93ea3a073e17e1c@xxxxxxxxxxxxxx>
References: <20070116015450.9764.37697.patchbomb.py@xxxxxxxxxxxxxxxxx> <20070116021438.GA15774@xxxxxxxxxxxxx> <5c49b0ed0701152137s52e8f2c8sc93ea3a073e17e1c@xxxxxxxxxxxxxx>
Reply-to: xfs-masters@xxxxxxxxxxx
Sender: xfs-masters-bounce@xxxxxxxxxxx
User-agent: KMail/1.9.5
On Tuesday, 16. January 2007 06:37, Nate Diller wrote:
> On 1/15/07, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
> > On Mon, Jan 15, 2007 at 05:54:50PM -0800, Nate Diller wrote:
> > > Convert code using iocb->ki_left to use the more generic iov_length() 
> > > call.
> >
> > No way.  We need to reduce the numer of iovec traversals, not adding
> > more of them.
> ok, I can work on a version of this that uses struct iodesc.  Maybe
> something like this?
> struct iodesc {
>         struct iovec *iov;
>         unsigned long nr_segs;
>         size_t nbytes;
> };
> I suppose it's worth doing the iodesc thing along with this patchset
> anyway, since it'll avoid an extra round of interface churn.

What about this instead

struct iodesc {
        struct iovec *iov;
        unsigned long nr_segs;
        unsigned long seg_limit;
        size_t nr_bytes;

That will enable resizeable iodescs with partial completion state and
will enable successive filling of an iodesc with iovs.

This will be needed anyway. I built an complete short userspace 
module for that already. I can post and GPLv2 it somewhere, if people
are interested.


Ingo Oeser

<Prev in Thread] Current Thread [Next in Thread>