From: Vinicius Costa Gomes <vinicius.gomes@intel.com>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: richardcochran@gmail.com, kurt@linutronix.de,
jesse.brandeburg@intel.com, anthony.l.nguyen@intel.com,
intel-wired-lan@lists.osuosl.org
Subject: Re: [Intel-wired-lan] [PATCH iwl-next v3] igc: Add support for multiple in-flight TX timestamps
Date: Mon, 31 Jul 2023 10:16:09 -0700 [thread overview]
Message-ID: <87fs543sti.fsf@intel.com> (raw)
In-Reply-To: <20230729002920.37h6y7mar5qlpgrl@skbuf>
Hi Vladimir,
Vladimir Oltean <vladimir.oltean@nxp.com> writes:
> On Fri, Jul 28, 2023 at 05:17:59PM -0700, Vinicius Costa Gomes wrote:
>> Add support for using the four sets of timestamping registers that
>> i225/i226 have available for TX.
>>
>> In some workloads, where multiple applications request hardware
>> transmission timestamps, it was possible that some of those requests
>> were denied because the only in use register was already occupied.
>>
>> This is also in preparation to future support for hardware
>> timestamping wwith multiple PTP domains. With multiple domains chances
>> of multiple TX timestamps being requested at the same time increase.
>>
>> Before:
>> $ sudo ./ntpperf -i enp3s0 -m 10:22:22:22:22:21 -d 192.168.1.3 -s 172.18.0.0/16 -I -H -o 37
>> | responses | TX timestamp offset (ns)
>> rate clients | lost invalid basic xleave | min mean max stddev
>> 1000 100 0.00% 0.00% 0.00% 100.00% +1 +41 +73 13
>> 1500 150 0.00% 0.00% 0.00% 100.00% +9 +49 +87 15
>> 2250 225 0.00% 0.00% 0.00% 100.00% +9 +42 +79 13
>> 3375 337 0.00% 0.00% 0.00% 100.00% +11 +46 +81 13
>> 5062 506 0.00% 0.00% 0.00% 100.00% +7 +44 +80 13
>> 7593 759 0.00% 0.00% 0.00% 100.00% +9 +44 +79 12
>> 11389 1138 0.00% 0.00% 0.00% 100.00% +14 +51 +87 13
>> 17083 1708 0.00% 0.00% 0.00% 100.00% +1 +41 +80 14
>> 25624 2562 0.00% 0.00% 0.00% 100.00% +11 +50 +5107 51
>> 38436 3843 0.00% 0.00% 0.00% 100.00% -2 +36 +7843 38
>> 57654 5765 0.00% 0.00% 0.00% 100.00% +4 +42 +10503 69
>> 86481 8648 0.00% 0.00% 0.00% 100.00% +11 +54 +5492 65
>> 129721 12972 0.00% 0.00% 0.00% 100.00% +31 +2680 +6942 2606
>> 194581 16384 16.79% 0.00% 0.87% 82.34% +73 +4444 +15879 3116
>> 291871 16384 35.05% 0.00% 1.53% 63.42% +188 +5381 +17019 3035
>> 437806 16384 54.95% 0.00% 2.55% 42.50% +233 +6302 +13885 2846
>>
>> After:
>> $ sudo ./ntpperf -i enp3s0 -m 10:22:22:22:22:21 -d 192.168.1.3 -s 172.18.0.0/16 -I -H -o 37
>> | responses | TX timestamp offset (ns)
>> rate clients | lost invalid basic xleave | min mean max stddev
>> 1000 100 0.00% 0.00% 0.00% 100.00% -20 +12 +43 13
>> 1500 150 0.00% 0.00% 0.00% 100.00% -23 +18 +57 14
>> 2250 225 0.00% 0.00% 0.00% 100.00% -2 +33 +67 13
>> 3375 337 0.00% 0.00% 0.00% 100.00% +1 +38 +76 13
>> 5062 506 0.00% 0.00% 0.00% 100.00% +9 +52 +93 14
>> 7593 759 0.00% 0.00% 0.00% 100.00% +11 +47 +82 13
>> 11389 1138 0.00% 0.00% 0.00% 100.00% -9 +27 +74 13
>> 17083 1708 0.00% 0.00% 0.00% 100.00% -13 +25 +66 14
>> 25624 2562 0.00% 0.00% 0.00% 100.00% -8 +28 +65 13
>> 38436 3843 0.00% 0.00% 0.00% 100.00% -13 +28 +69 13
>> 57654 5765 0.00% 0.00% 0.00% 100.00% -11 +32 +71 14
>> 86481 8648 0.00% 0.00% 0.00% 100.00% +2 +44 +83 14
>> 129721 12972 15.36% 0.00% 0.35% 84.29% -2 +2248 +22907 4252
>> 194581 16384 42.98% 0.00% 1.98% 55.04% -4 +5278 +65039 5856
>> 291871 16384 54.33% 0.00% 2.21% 43.46% -3 +6306 +22608 5665
>>
>> We can see that with 4 registers, as expected, we are able to handle a
>> increasing number of requests more consistently, but as soon as all
>> registers are in use, the decrease in quality of service happens in a
>> sharp step.
>>
>> Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
>> ---
>
> I couldn't apply this to net-next to view it in a git tree, but from the
> email client it looks fine.
>
> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
>
> Can the same kind of work be replicated on igb, or are there not enough
> TX timestamping registers there?
No, igb has only one set of registers.
But what is on my todo list is to port the TX timestamping improvements,
that were added to igc, to igb. That should already help some.
Cheers,
--
Vinicius
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
next prev parent reply other threads:[~2023-07-31 17:16 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-29 0:17 [Intel-wired-lan] [PATCH iwl-next v3] igc: Add support for multiple in-flight TX timestamps Vinicius Costa Gomes
2023-07-29 0:29 ` Vladimir Oltean
2023-07-31 17:16 ` Vinicius Costa Gomes [this message]
2023-07-29 1:47 ` Zulkifli, Muhammad Husaini
2023-08-01 14:17 ` Kurt Kanzenbach
2023-08-16 14:54 ` naamax.meir
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=87fs543sti.fsf@intel.com \
--to=vinicius.gomes@intel.com \
--cc=anthony.l.nguyen@intel.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=jesse.brandeburg@intel.com \
--cc=kurt@linutronix.de \
--cc=richardcochran@gmail.com \
--cc=vladimir.oltean@nxp.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.