Re: [PATCH 7/10] i386 sg: add support for chaining scatterlists

From: Jens Axboe
Date: Wed May 09 2007 - 06:33:46 EST


On Wed, May 09 2007, Andrew Morton wrote:
> On Wed, 09 May 2007 20:03:29 +1000 Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote:
>
> > Jens Axboe <jens.axboe@xxxxxxxxxx> wrote:
> > >
> > > diff --git a/include/asm-i386/scatterlist.h b/include/asm-i386/scatterlist.h
> > > index d7e45a8..794b68c 100644
> > > --- a/include/asm-i386/scatterlist.h
> > > +++ b/include/asm-i386/scatterlist.h
> > > @@ -8,8 +8,11 @@ struct scatterlist {
> > > unsigned int offset;
> > > dma_addr_t dma_address;
> > > unsigned int length;
> > > + struct scatterlist *next;
> > > };
> >
> > BTW, the crypto layer's scatterlist already has a chaining mechanism
> > using the existing structure. The only difference is that the chained
> > pointer is stored inside the 'struct page *' rather than a new pointer.
>
> <greps-and-fails>
>
> Which field in the page is it using?

crypto/scatterwalk.h:

static inline struct scatterlist *scatterwalk_sg_next(struct scatterlist
*sg)
{
return (++sg)->length ? sg : (void *)sg->page;
}

it's just using the page pointer, not a pointer in the page structure.

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/