All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.