From: Miroslav Lichvar <mlichvar@redhat.com>
To: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Cc: Network Development <netdev@vger.kernel.org>,
Richard Cochran <richardcochran@gmail.com>,
Willem de Bruijn <willemb@google.com>,
Soheil Hassas Yeganeh <soheil@google.com>,
"Keller, Jacob E" <jacob.e.keller@intel.com>,
Denny Page <dennypage@me.com>, Jiri Benc <jbenc@redhat.com>
Subject: Re: [PATCH v1 net-next 5/6] net: allow simultaneous SW and HW transmit timestamping
Date: Thu, 27 Apr 2017 18:39:11 +0200 [thread overview]
Message-ID: <20170427163911.GC3401@localhost> (raw)
In-Reply-To: <CAF=yD-+HK-dCG_XjqBKfkSF1bjJavTr7EFgeFNH2yRc2CXgOxA@mail.gmail.com>
On Thu, Apr 27, 2017 at 12:21:00PM -0400, Willem de Bruijn wrote:
> >> > @@ -720,6 +720,7 @@ void __sock_recv_timestamp(struct msghdr *msg, struct sock *sk,
> >> > empty = 0;
> >> > if (shhwtstamps &&
> >> > (sk->sk_tsflags & SOF_TIMESTAMPING_RAW_HARDWARE) &&
> >> > + (empty || !skb_is_err_queue(skb)) &&
> >> > ktime_to_timespec_cond(shhwtstamps->hwtstamp, tss.ts + 2)) {
> >>
> >> I find skb->tstamp == 0 easier to understand than the condition on empty.
> >>
> >> Indeed, this is so non-obvious that I would suggest another helper function
> >> skb_is_hwtx_tstamp with a concise comment about the race condition
> >> between tx software and hardware timestamps (as in the last sentence of
> >> the commit message).
> >
> > Should it include also the skb_is_err_queue() check? If it returned
> > true for both TX and RX HW timestamps, maybe it could be called
> > skb_has_hw_tstamp?
>
> For the purpose of documenting why this complex condition exists,
> I would call the skb_is_err_queue in that helper function and make
> it tx + hw specific.
Hm, like this?
if (shhwtstamps &&
(sk->sk_tsflags & SOF_TIMESTAMPING_RAW_HARDWARE) &&
+ (skb_is_hwtx_tstamp(skb) || !skb_is_err_queue(skb)) &&
ktime_to_timespec_cond(shhwtstamps->hwtstamp, tss.ts + 2)) {
where skb_is_hwtx_tstamp() has
return skb->tstamp == 0 && skb_is_err_queue(skb);
I was just not sure about the unnecessary skb_is_err_queue() call.
--
Miroslav Lichvar
next prev parent reply other threads:[~2017-04-27 16:39 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-26 14:50 [PATCH v1 net-next 0/6] Extend socket timestamping API Miroslav Lichvar
2017-04-26 14:50 ` [PATCH v1 net-next 1/6] net: define receive timestamp filter for NTP Miroslav Lichvar
2017-04-26 14:50 ` [PATCH v1 net-next 2/6] net: ethernet: update drivers to handle HWTSTAMP_FILTER_NTP_ALL Miroslav Lichvar
2017-04-26 14:50 ` [PATCH v1 net-next 3/6] net: add new control message for incoming HW-timestamped packets Miroslav Lichvar
2017-04-26 23:34 ` Willem de Bruijn
2017-04-27 10:15 ` Miroslav Lichvar
2017-04-27 11:38 ` Willem de Bruijn
2017-04-27 4:09 ` kbuild test robot
2017-04-26 14:50 ` [PATCH v1 net-next 4/6] net: don't make false software transmit timestamps Miroslav Lichvar
2017-04-26 14:50 ` [PATCH v1 net-next 5/6] net: allow simultaneous SW and HW transmit timestamping Miroslav Lichvar
2017-04-27 0:00 ` Willem de Bruijn
2017-04-27 16:17 ` Miroslav Lichvar
2017-04-27 16:21 ` Willem de Bruijn
2017-04-27 16:39 ` Miroslav Lichvar [this message]
2017-04-27 16:48 ` Willem de Bruijn
2017-04-28 8:54 ` Miroslav Lichvar
2017-04-28 15:50 ` Willem de Bruijn
2017-04-28 16:23 ` Miroslav Lichvar
2017-04-28 20:07 ` Willem de Bruijn
2017-05-02 9:56 ` Miroslav Lichvar
2017-04-26 14:50 ` [PATCH v1 net-next 6/6] net: ethernet: update drivers to make both SW and HW TX timestamps Miroslav Lichvar
2017-04-26 16:54 ` [PATCH v1 net-next 0/6] Extend socket timestamping API Richard Cochran
2017-04-27 9:28 ` Miroslav Lichvar
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=20170427163911.GC3401@localhost \
--to=mlichvar@redhat.com \
--cc=dennypage@me.com \
--cc=jacob.e.keller@intel.com \
--cc=jbenc@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=richardcochran@gmail.com \
--cc=soheil@google.com \
--cc=willemb@google.com \
--cc=willemdebruijn.kernel@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).