Re: [PATCH 1/4] net: skb_orphan on dev_hard_start_xmit
From: David Miller <davem@davemloft.net>
Date: 2009-06-03 00:14:18
Also in:
virtualization
From: Rusty Russell <redacted> Date: Tue, 2 Jun 2009 23:38:29 +0930
On Tue, 2 Jun 2009 04:55:53 pm David Miller wrote:quoted
From: Patrick Ohly <redacted> Date: Mon, 01 Jun 2009 21:47:22 +0200quoted
On Fri, 2009-05-29 at 23:44 +0930, Rusty Russell wrote:quoted
This patch adds skb_orphan to the start of dev_hard_start_xmit(): it can be premature in the NETDEV_TX_BUSY case, but that's uncommon.Would it be possible to make the new skb_orphan() at the start of dev_hard_start_xmit() conditionally so that it is not executed for packets that are to be time stamped? As discussed before (http://article.gmane.org/gmane.linux.network/121378/), the skb->sk socket pointer is required for sending back the send time stamp from inside the device driver. Calling skb_orphan() unconditionally as in this patch would break the hardware time stamping of outgoing packets.Indeed, we need to check that case, at a minimum. And there are other potentially other problems. For example, I wonder how this interacts with the new TX MMAP af_packet support in net-next-2.6 :-/I think I'll do this in the driver for now, and let's revisit doing it generically later?
That might be the best course of action for the time being. This whole area is a rat's nest.