From: Jesse Brandeburg <[EMAIL PROTECTED]>
Date: Fri, 14 Apr 2006 16:04:21 -0700 (Pacific Daylight Time)

> On Fri, 14 Apr 2006, David S. Miller wrote:
> 
> > From: Jesse Brandeburg <[EMAIL PROTECTED]>
> > Date: Fri, 14 Apr 2006 15:43:02 -0700 (Pacific Daylight Time)
> > 
> > > Please help me understand how you think it should work when we have a 
> > > device that wants to receive a packet using header in the skb->data, and 
> > > application data in the ->frags[]? 
> > 
> > If you're removing the pages from ->frags[] and you already accounted
> > for them in skb->truesize, then yes I guess it could be correct to
> > subtract it back out.
> 
> they are not accounted for in the skb yet.  the way e1000 works is it 
> pre-allocates all its 128 byte receive buffers using skb_alloc, and then 
> chains in any pages that are used for receive packets.

Ok so you allocate the base skb->data memory using alloc_skb().  Then
you add on pages and increment skb->truesize to account for the pages.
And you do all of this for receive packets before they are passed up
to the stack.

Right?

If so, then that should be OK.

Jeff, I seem to have misunderstood what e1000 was doing, the patches
changing skb->truesize should be fine.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to