From: Eric Dumazet <eric.dumazet@gmail.com>
To: "Patel, Vedang" <vedang.patel@intel.com>,
Eric Dumazet <eric.dumazet@gmail.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"Kirsher, Jeffrey T" <jeffrey.t.kirsher@intel.com>,
David Miller <davem@davemloft.net>,
Jamal Hadi Salim <jhs@mojatatu.com>,
Cong Wang <xiyou.wangcong@gmail.com>,
Jiri Pirko <jiri@resnulli.us>,
"intel-wired-lan@lists.osuosl.org"
<intel-wired-lan@lists.osuosl.org>,
"Gomes, Vinicius" <vinicius.gomes@intel.com>,
"l@dorileo.org" <l@dorileo.org>,
Jakub Kicinski <jakub.kicinski@netronome.com>,
Murali Karicheri <m-karicheri2@ti.com>,
Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Subject: Re: [PATCH net-next v4 1/7] igb: clear out tstamp after sending the packet
Date: Thu, 20 Jun 2019 13:07:20 -0400 [thread overview]
Message-ID: <99e834ed-1c78-d35c-84dc-511d377284a1@gmail.com> (raw)
In-Reply-To: <A1A5CF42-A7D4-4DC4-9D57-ED0340B04A6F@intel.com>
On 6/20/19 9:49 AM, Patel, Vedang wrote:
>
>
>> On Jun 20, 2019, at 3:47 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
>>
>>
>>
>> On 6/19/19 10:40 AM, Vedang Patel wrote:
>>> skb->tstamp is being used at multiple places. On the transmit side, it
>>> is used to determine the launchtime of the packet. It is also used to
>>> determine the software timestamp after the packet has been transmitted.
>>>
>>> So, clear out the tstamp value after it has been read so that we do not
>>> report false software timestamp on the receive side.
>>>
>>> Signed-off-by: Vedang Patel <vedang.patel@intel.com>
>>> ---
>>> drivers/net/ethernet/intel/igb/igb_main.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
>>> index fc925adbd9fa..f66dae72fe37 100644
>>> --- a/drivers/net/ethernet/intel/igb/igb_main.c
>>> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
>>> @@ -5688,6 +5688,7 @@ static void igb_tx_ctxtdesc(struct igb_ring *tx_ring,
>>> */
>>> if (tx_ring->launchtime_enable) {
>>> ts = ns_to_timespec64(first->skb->tstamp);
>>> + first->skb->tstamp = 0;
>>
>> Please provide more explanations.
>>
>> Why only this driver would need this ?
>>
> Currently, igb is the only driver which uses the skb->tstamp option on the transmit side (to set the hardware transmit timestamp). All the other drivers only use it on the receive side (to collect and send the hardware transmit timestamp to the userspace after packet has been sent).
>
> So, any driver which supports the hardware txtime in the future will have to clear skb->tstamp to make sure that hardware tx transmit and tx timestamping can be done on the same packet.
The changelog is rather confusing :
"So, clear out the tstamp value after it has been read so that we do not
report false software timestamp on the receive side."
I have hard time understanding why sending an skb through this driver
could cause a problem on receive side ?
I suggest to rephrase it to clear the confusion.
>
> Thanks,
> Vedang
>>
>>> context_desc->seqnum_seed = cpu_to_le32(ts.tv_nsec / 32);
>>> } else {
>>> context_desc->seqnum_seed = 0;
>>>
>
next prev parent reply other threads:[~2019-06-20 17:07 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-19 17:40 [PATCH net-next v4 0/7] net/sched: Add txtime-assist support for taprio Vedang Patel
2019-06-19 17:40 ` [PATCH net-next v4 1/7] igb: clear out tstamp after sending the packet Vedang Patel
2019-06-20 10:47 ` Eric Dumazet
2019-06-20 16:49 ` Patel, Vedang
2019-06-20 17:07 ` Eric Dumazet [this message]
2019-06-20 20:32 ` Patel, Vedang
2019-06-20 21:56 ` Eric Dumazet
2019-06-19 17:40 ` [PATCH net-next v4 2/7] etf: Add skip_sock_check Vedang Patel
2019-06-20 8:16 ` Sergei Shtylyov
2019-06-20 21:13 ` Patel, Vedang
2019-06-19 17:40 ` [PATCH net-next v4 3/7] taprio: calculate cycle_time when schedule is installed Vedang Patel
2019-06-19 17:40 ` [PATCH net-next v4 4/7] taprio: Remove inline directive Vedang Patel
2019-06-19 17:40 ` [PATCH net-next v4 5/7] taprio: Add support for txtime-assist mode Vedang Patel
2019-06-19 17:40 ` [PATCH net-next v4 6/7] taprio: make clock reference conversions easier Vedang Patel
2019-06-19 17:40 ` [PATCH net-next v4 7/7] taprio: Adjust timestamps for TCP packets Vedang Patel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=99e834ed-1c78-d35c-84dc-511d377284a1@gmail.com \
--to=eric.dumazet@gmail.com \
--cc=davem@davemloft.net \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=jakub.kicinski@netronome.com \
--cc=jeffrey.t.kirsher@intel.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=l@dorileo.org \
--cc=m-karicheri2@ti.com \
--cc=netdev@vger.kernel.org \
--cc=sergei.shtylyov@cogentembedded.com \
--cc=vedang.patel@intel.com \
--cc=vinicius.gomes@intel.com \
--cc=xiyou.wangcong@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).