[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080507.142013.219220793.davem@davemloft.net>
Date: Wed, 07 May 2008 14:20:13 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: hkchu@...gle.com
Cc: netdev@...r.kernel.org
Subject: Re: Socket buffer sizes with autotuning
From: "Jerry Chu" <hkchu@...gle.com>
Date: Wed, 7 May 2008 11:54:01 -0700
> This is one of many things about skb that I still don't completely understand.
> Why in tcp_transmit_skb() we'll have to pskb_copy() if skb_cloned()?
The other clone holder owns the packet header area. All packets on
the retransmit queue of TCP are headerless. The call sites down
into the device add the headers.
Therefore we cannot have two paths modifying the headers at the same
time.
> Can't we clone a skb mulitple times? Is it due to some special optimization
> from skb->fclone stuff... that imposes this restriction?
No, it has nothing to do with fclone. It has to do with what instance
owns the packet header area in front of the user's TCP data.
--
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