[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <309B89C4C689E141A5FF6A0C5FB2118B970B546C@ORSMSX103.amr.corp.intel.com>
Date: Fri, 28 Jun 2019 03:01:26 +0000
From: "Brown, Aaron F" <aaron.f.brown@...el.com>
To: "Patel, Vedang" <vedang.patel@...el.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC: "Kirsher, Jeffrey T" <jeffrey.t.kirsher@...el.com>,
"davem@...emloft.net" <davem@...emloft.net>,
"jhs@...atatu.com" <jhs@...atatu.com>,
"xiyou.wangcong@...il.com" <xiyou.wangcong@...il.com>,
"jiri@...nulli.us" <jiri@...nulli.us>,
"intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>,
"Gomes, Vinicius" <vinicius.gomes@...el.com>,
"l@...ileo.org" <l@...ileo.org>,
"jakub.kicinski@...ronome.com" <jakub.kicinski@...ronome.com>,
"m-karicheri2@...com" <m-karicheri2@...com>,
"sergei.shtylyov@...entembedded.com"
<sergei.shtylyov@...entembedded.com>,
"eric.dumazet@...il.com" <eric.dumazet@...il.com>
Subject: RE: [PATCH net-next v6 1/8] igb: clear out skb->tstamp after
reading the txtime
> From: Patel, Vedang
> Sent: Tuesday, June 25, 2019 3:07 PM
> To: netdev@...r.kernel.org
> Cc: Kirsher, Jeffrey T <jeffrey.t.kirsher@...el.com>; davem@...emloft.net;
> jhs@...atatu.com; xiyou.wangcong@...il.com; jiri@...nulli.us; intel-wired-
> lan@...ts.osuosl.org; Gomes, Vinicius <vinicius.gomes@...el.com>;
> l@...ileo.org; jakub.kicinski@...ronome.com; m-karicheri2@...com;
> sergei.shtylyov@...entembedded.com; eric.dumazet@...il.com; Brown,
> Aaron F <aaron.f.brown@...el.com>; Patel, Vedang <vedang.patel@...el.com>
> Subject: [PATCH net-next v6 1/8] igb: clear out skb->tstamp after reading the
> txtime
>
> If a packet which is utilizing the launchtime feature (via SO_TXTIME socket
> option) also requests the hardware transmit timestamp, the hardware
> timestamp is not delivered to the userspace. This is because the value in
> skb->tstamp is mistaken as the software timestamp.
>
> Applications, like ptp4l, request a hardware timestamp by setting the
> SOF_TIMESTAMPING_TX_HARDWARE socket option. Whenever a new
> timestamp is
> detected by the driver (this work is done in igb_ptp_tx_work() which calls
> igb_ptp_tx_hwtstamps() in igb_ptp.c[1]), it will queue the timestamp in the
> ERR_QUEUE for the userspace to read. When the userspace is ready, it will
> issue a recvmsg() call to collect this timestamp. The problem is in this
> recvmsg() call. If the skb->tstamp is not cleared out, it will be
> interpreted as a software timestamp and the hardware tx timestamp will not
> be successfully sent to the userspace. Look at skb_is_swtx_tstamp() and the
> callee function __sock_recv_timestamp() in net/socket.c for more details.
>
> Signed-off-by: Vedang Patel <vedang.patel@...el.com>
> ---
> drivers/net/ethernet/intel/igb/igb_main.c | 1 +
> 1 file changed, 1 insertion(+)
>
Tested-by: Aaron Brown <aaron.f.brown@...el.com>
Powered by blists - more mailing lists