DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Song Yoong Siang <yoong.siang.song@intel.com>
Cc: David Zage <david.zage@intel.com>,
	Soumyadeep Hore <soumyadeep.hore@intel.com>, <dev@dpdk.org>,
	<stable@dpdk.org>
Subject: Re: [PATCH v1 1/1] net/e1000: fix igc launch time calculation
Date: Thu, 11 Dec 2025 15:57:08 +0000	[thread overview]
Message-ID: <aTrp1PXZ5ZSD-fWL@bricha3-mobl1.ger.corp.intel.com> (raw)
In-Reply-To: <20251204020947.867012-1-yoong.siang.song@intel.com>

On Thu, Dec 04, 2025 at 10:09:47AM +0800, Song Yoong Siang wrote:
> Improve the launch time calculation logic to handle different scenarios:
>  - Set launch time to 0 if txtime has expired.
>  - Set launch time to 0 if txtime exceeds the horizon (beyond the end of
>    the next Qbv cycle).
>  - Mark the first flag in the context descriptor when the packet is the
>    first one scheduled in the next Qbv cycle.
>  - Create a dummy packet to dirty the current cycle before sending
>    packets intended for the next Qbv cycle.
> 
> Testing was performed on two Intel ADL-S platforms with i226 NICs
> connected back-to-back. A DPDK sample application is created to send 10
> UDP packets with 20,000 nanosecond intervals and their txtime is set to
> the time of the next Qbv cycle. Meanwhile, the tcpdump command below is
> used on the link partner to capture the delta of Rx hardware timestamp
> of the 10 packets:
> 
> tcpdump -ttt -ni enp1s0 --time-stamp-precision=nano -j adapter_unsynced
> 
> Without this patch, packets are transmitted immediately as the hardware
> interprets their launch time as expired, resulting in 8,384 nanosecond
> intervals (wire speed for 1024-byte packets at 1Gbps), as shown in
> tcpdump log below:
> 
>   00:00:00.000000000 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000008384 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000008384 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000008384 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000008384 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000008384 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000008384 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000008384 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000008384 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000008384 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
> 
> With this patch, packets are properly held until the next Qbv cycle and
> transmitted at the intended 20,000 nanosecond intervals, demonstrating
> correct launch time behavior, as shown in tcpdump log below:
> 
>   00:00:00.000000000  [|llc]
>   00:00:00.000862592 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000019993 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000020000 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000020010 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000019997 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000020000 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000020003 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000019990 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000020000 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
>   00:00:00.000020000 IP 192.168.1.100.2 > 224.1.1.1.5: UDP, length 982
> 
> Fixes: 9630f7c71ecd ("net/igc: enable launch time offloading")
> Cc: stable@dpdk.org
> 
> Signed-off-by: David Zage <david.zage@intel.com>
> Signed-off-by: Song Yoong Siang <yoong.siang.song@intel.com>
> ---
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

Applied to dpdk-next-net-intel.

Thanks,
/Bruce


      reply	other threads:[~2025-12-11 15:57 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-04  2:09 Song Yoong Siang
2025-12-11 15:57 ` Bruce Richardson [this message]

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=aTrp1PXZ5ZSD-fWL@bricha3-mobl1.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=david.zage@intel.com \
    --cc=dev@dpdk.org \
    --cc=soumyadeep.hore@intel.com \
    --cc=stable@dpdk.org \
    --cc=yoong.siang.song@intel.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).