From: Stephen Hemminger <stephen@networkplumber.org>
To: spinler@cesnet.cz
Cc: dev@dpdk.org
Subject: Re: [PATCH v4 3/6] net/nfb: update timestamp calculation to meaningful value
Date: Wed, 21 Jan 2026 09:33:07 -0800 [thread overview]
Message-ID: <20260121093307.299c84f0@phoenix.local> (raw)
In-Reply-To: <20260121170120.268553-4-spinler@cesnet.cz>
On Wed, 21 Jan 2026 18:01:17 +0100
spinler@cesnet.cz wrote:
> From: Martin Spinler <spinler@cesnet.cz>
>
> The resulting timestamp wasn't monotonically increasing value.
>
> Now the timestamp is value in nanoseconds (Unix epoch).
>
> Unfortunately there's currently no safe mechanism in nfb-framework
> to get ticks from hardware to implement read_clock function.
>
> Signed-off-by: Martin Spinler <spinler@cesnet.cz>
> ---
> doc/guides/nics/nfb.rst | 6 ++----
> drivers/net/nfb/nfb_rx.h | 13 +++++++------
> 2 files changed, 9 insertions(+), 10 deletions(-)
The patch is ok as far as it goes.
But the best practice in DPDK for drivers doing timestamps is for
the driver to only put a timestamp on if timestamp offload flag
was set when configuring that device. For the case of multiple devices
that means that one device may have timestamp and other not.
Also any driver that supports receive timestamp must provide
a read_clock operation. Otherwise the application has no way of knowing
what units the timestamp is in. I added that to the AI review
script so new drivers will get rejected with out it.
I suspect that in this drivers case it is only used in systems where:
- only single instance of device is possible
- your application is just assuming a common unit like nanosecond.
next prev parent reply other threads:[~2026-01-21 17:33 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-15 14:01 [PATCH 0/6] spinler
2026-01-15 14:01 ` [PATCH 1/6] net/nfb: use constant values for max Rx/Tx queues count spinler
2026-01-15 14:01 ` [PATCH 2/6] net/nfb: fix bad pointer access in queue stats spinler
2026-01-15 14:01 ` [PATCH 3/6] net/nfb: update timestamp calculation to meaningful value spinler
2026-01-15 14:01 ` [PATCH 4/6] net/nfb: use process private variable for internal data spinler
2026-01-15 14:01 ` [PATCH 5/6] net/nfb: release allocated resources correctly spinler
2026-01-15 14:01 ` [PATCH 6/6] net/nfb: stop only started queues in fail path spinler
2026-01-15 14:40 ` [PATCH v2 0/6] net/nfb: code cleanup spinler
2026-01-15 14:40 ` [PATCH v2 1/6] net/nfb: use constant values for max Rx/Tx queues count spinler
2026-01-15 14:40 ` [PATCH v2 2/6] net/nfb: fix bad pointer access in queue stats spinler
2026-01-15 14:40 ` [PATCH v2 3/6] net/nfb: update timestamp calculation to meaningful value spinler
2026-01-15 14:40 ` [PATCH v2 4/6] net/nfb: use process private variable for internal data spinler
2026-01-15 14:40 ` [PATCH v2 5/6] net/nfb: release allocated resources correctly spinler
2026-01-15 14:40 ` [PATCH v2 6/6] net/nfb: stop only started queues in fail path spinler
2026-01-16 5:48 ` [PATCH v2 0/6] net/nfb: code cleanup Stephen Hemminger
2026-01-16 9:42 ` Martin Spinler
2026-01-16 17:39 ` Stephen Hemminger
2026-01-16 15:20 ` spinler
2026-01-16 15:20 ` [PATCH v3 1/6] net/nfb: use constant values for max Rx/Tx queues count spinler
2026-02-02 17:47 ` Stephen Hemminger
2026-02-02 18:58 ` Martin Špinler
2026-01-16 15:20 ` [PATCH v3 2/6] net/nfb: fix bad pointer access in queue stats spinler
2026-01-16 15:20 ` [PATCH v3 3/6] net/nfb: update timestamp calculation to meaningful value spinler
2026-01-16 15:20 ` [PATCH v3 4/6] net/nfb: use process private variable for internal data spinler
2026-01-20 0:13 ` Stephen Hemminger
2026-01-20 14:13 ` Martin Spinler
2026-01-20 16:11 ` Stephen Hemminger
2026-01-16 15:20 ` [PATCH v3 5/6] net/nfb: release allocated resources correctly spinler
2026-01-20 0:10 ` Stephen Hemminger
2026-01-20 14:14 ` Martin Spinler
2026-01-16 15:20 ` [PATCH v3 6/6] net/nfb: stop only started queues in fail path spinler
2026-01-20 0:09 ` Stephen Hemminger
2026-01-20 14:14 ` Martin Spinler
2026-01-16 15:22 ` [PATCH v3 0/6] net/nfb: code cleanup spinler
2026-01-21 4:57 ` Stephen Hemminger
2026-01-21 17:01 ` [PATCH v4 " spinler
2026-01-21 17:01 ` [PATCH v4 1/6] net/nfb: use constant values for max Rx/Tx queues count spinler
2026-01-21 17:01 ` [PATCH v4 2/6] net/nfb: fix bad pointer access in queue stats spinler
2026-01-21 17:01 ` [PATCH v4 3/6] net/nfb: update timestamp calculation to meaningful value spinler
2026-01-21 17:33 ` Stephen Hemminger [this message]
2026-01-27 8:12 ` Martin Spinler
2026-01-27 0:34 ` Stephen Hemminger
2026-01-27 8:16 ` Martin Spinler
2026-01-21 17:01 ` [PATCH v4 4/6] net/nfb: use process private variable for internal data spinler
2026-01-21 17:01 ` [PATCH v4 5/6] net/nfb: release allocated resources correctly spinler
2026-01-21 17:01 ` [PATCH v4 6/6] net/nfb: stop only started queues in fail path spinler
2026-01-21 17:35 ` [PATCH v4 0/6] net/nfb: code cleanup Stephen Hemminger
2026-02-02 19:33 ` [PATCH v5 " spinler
2026-02-02 19:33 ` [PATCH v5 1/6] net/nfb: use constant values for max Rx/Tx queues count spinler
2026-02-02 19:33 ` [PATCH v5 2/6] net/nfb: fix bad pointer access in queue stats spinler
2026-02-10 0:51 ` Stephen Hemminger
2026-02-02 19:33 ` [PATCH v5 3/6] net/nfb: update timestamp calculation to meaningful value spinler
2026-02-02 19:33 ` [PATCH v5 4/6] net/nfb: use process private variable for internal data spinler
2026-02-02 19:33 ` [PATCH v5 5/6] net/nfb: release allocated resources correctly spinler
2026-02-10 0:52 ` Stephen Hemminger
2026-02-02 19:33 ` [PATCH v5 6/6] net/nfb: stop only started queues in fail path spinler
2026-02-03 1:50 ` [PATCH v5 0/6] net/nfb: code cleanup Stephen Hemminger
2026-02-03 6:36 ` Martin Spinler
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=20260121093307.299c84f0@phoenix.local \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=spinler@cesnet.cz \
/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