Subject: Re: [RFC 2/2] shrink size of scatterlist on common i386/x86-64

From: Roland Dreier <[email-masked]>
Date: Thu, 05 Jul 2007 16:32:45 -0700

> --- a/include/asm-i386/scatterlist.h	2007-07-05 14:37:11.000000000 -0700
 > +++ b/include/asm-i386/scatterlist.h	2007-07-05 15:44:51.000000000 -0700
 > @@ -5,9 +5,9 @@
 >  
 >  struct scatterlist {
 >      struct page		*page;
 > -    unsigned int	offset;
 >      dma_addr_t		dma_address;
 > -    unsigned int	length;
 > +    u16			offset;
 > +    u16			length;
 >  };

Actually this struct layout could be even better, since pointers are
32 bits but dma_addr_t may be 64 bits... having

struct scatterlist {
	dma_addr_t	dma_address;
	struct page    *page;
	u16		offset;
	u16		length;
};

would allow struct scatterlist to be 16 bytes.  Seems like a good thing...

 - R.