[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070705.171535.105173068.davem@davemloft.net>
Date: Thu, 05 Jul 2007 17:15:35 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: shemminger@...ux-foundation.org
Cc: netdev@...r.kernel.org
Subject: Re: [RFC 2/2] shrink size of scatterlist on common i386/x86-64
From: Stephen Hemminger <shemminger@...ux-foundation.org>
Date: Thu, 5 Jul 2007 17:00:51 -0700
> On Thu, 05 Jul 2007 16:43:08 -0700 (PDT)
> David Miller <davem@...emloft.net> wrote:
>
> > From: Stephen Hemminger <shemminger@...ux-foundation.org>
> > Date: Thu, 05 Jul 2007 16:14:14 -0700
> >
> > > The scatterlist only needs 16 bits for length/offset because
> > > PAGE_SIZE is 4K
> > >
> > > Signed-off-by: Stephen Hemminger <shemminger@...ux-foundation.org>
> >
> > Unfortunately I don't think this can be done, even on i386.
> >
> > It is legal to use order!=0 pages and multi-page areas in a single
> > scatterlist entry.
> >
>
> Okay, but then using SG lists makes skbuff's much bigger.
>
> fraglist scatterlist per skbuff
> 32 bit 8 20 +12 * 18 = +216!
> 64 bit 16 32 +16 * 18 = +288
>
> So never mind...
I know, this is why nobody ever really tries to tackle this.
> I'll do a fraglist to scatter list set of routines, but not sure
> if it's worth it.
It's better to add dma_map_skb() et al. interfaces to be honest.
Also even with the scatterlist idea, we'd still need to do two
map calls, one for skb->data and one for the page vector.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists