From: Vinicius Costa Gomes <vinicius.gomes@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [RFC v2 net-next 01/10] net: Add a new socket option for a future transmit time.
Date: Wed, 24 Jan 2018 14:46:24 -0800 [thread overview]
Message-ID: <87607qzxhb.fsf@intel.com> (raw)
In-Reply-To: <20180124030436.sukodrg2t3ckazu6@localhost>
Hi Richard,
Richard Cochran <richardcochran@gmail.com> writes:
> On Tue, Jan 23, 2018 at 01:22:37PM -0800, Vinicius Costa Gomes wrote:
>> What I think would be the ideal scenario would be if the clockid
>> parameter to the TBS Qdisc would not be necessary (if offload was
>> enabled), but that's not quite possible right now, because there's no
>> support for using the hrtimer infrastructure with dynamic clocks
>> (/dev/ptp*).
>
> We don't need hrtimer for HW offloading. Just enqueue the packets. I
> thought we agreed that user space get the ordering correct. In fact,
> davem insisted on it, IIRC.
About the ordering of packets, From here [1], there are 3 clear points
(in my understanding):
1. Re-ordering of TX descriptors on the device queue should/must not
happen;
2. Out of order requests are an error;
3. Timestamps in the past are an error;
The only robust way that we could think of about keeping the the packets
in order for the device queue is re-ordering packets in the Qdisc.
We tried to reach out for confirmation [2] of this understanding but
didn't receive any word.
Even if we reach a decision that the Qdisc should not re-order packets
(we wouldn't have any dependency on hrtimers in the offload case, as you
pointed out), we still need hrtimers for the software implementation.
So, I guess, the problem remains, if it's possible for the user to
express a /dev/ptp* clock, what should we do?
>
> Thanks,
> Richard
Cheers,
--
Vinicius
[1] https://patchwork.ozlabs.org/comment/1770302/
[2] https://patchwork.ozlabs.org/comment/1816492/q
WARNING: multiple messages have this Message-ID (diff)
From: Vinicius Costa Gomes <vinicius.gomes@intel.com>
To: Richard Cochran <richardcochran@gmail.com>
Cc: Miroslav Lichvar <mlichvar@redhat.com>,
Jesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>,
netdev@vger.kernel.org, john.stultz@linaro.org,
Richard Cochran <rcochran@linutronix.de>,
jiri@resnulli.us, ivan.briano@intel.com, henrik@austad.us,
jhs@mojatatu.com, levi.pearson@harman.com,
intel-wired-lan@lists.osuosl.org, xiyou.wangcong@gmail.com,
tglx@linutronix.de, anna-maria@linutronix.de
Subject: Re: [Intel-wired-lan] [RFC v2 net-next 01/10] net: Add a new socket option for a future transmit time.
Date: Wed, 24 Jan 2018 14:46:24 -0800 [thread overview]
Message-ID: <87607qzxhb.fsf@intel.com> (raw)
In-Reply-To: <20180124030436.sukodrg2t3ckazu6@localhost>
Hi Richard,
Richard Cochran <richardcochran@gmail.com> writes:
> On Tue, Jan 23, 2018 at 01:22:37PM -0800, Vinicius Costa Gomes wrote:
>> What I think would be the ideal scenario would be if the clockid
>> parameter to the TBS Qdisc would not be necessary (if offload was
>> enabled), but that's not quite possible right now, because there's no
>> support for using the hrtimer infrastructure with dynamic clocks
>> (/dev/ptp*).
>
> We don't need hrtimer for HW offloading. Just enqueue the packets. I
> thought we agreed that user space get the ordering correct. In fact,
> davem insisted on it, IIRC.
About the ordering of packets, From here [1], there are 3 clear points
(in my understanding):
1. Re-ordering of TX descriptors on the device queue should/must not
happen;
2. Out of order requests are an error;
3. Timestamps in the past are an error;
The only robust way that we could think of about keeping the the packets
in order for the device queue is re-ordering packets in the Qdisc.
We tried to reach out for confirmation [2] of this understanding but
didn't receive any word.
Even if we reach a decision that the Qdisc should not re-order packets
(we wouldn't have any dependency on hrtimers in the offload case, as you
pointed out), we still need hrtimers for the software implementation.
So, I guess, the problem remains, if it's possible for the user to
express a /dev/ptp* clock, what should we do?
>
> Thanks,
> Richard
Cheers,
next prev parent reply other threads:[~2018-01-24 22:46 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-17 23:06 [Intel-wired-lan] [RFC v2 net-next 00/10] Time based packet transmission Jesus Sanchez-Palencia
2018-01-17 23:06 ` Jesus Sanchez-Palencia
2018-01-17 23:06 ` [Intel-wired-lan] [RFC v2 net-next 01/10] net: Add a new socket option for a future transmit time Jesus Sanchez-Palencia
2018-01-17 23:06 ` Jesus Sanchez-Palencia
2018-01-18 8:42 ` [Intel-wired-lan] " Miroslav Lichvar
2018-01-18 8:42 ` Miroslav Lichvar
2018-01-18 17:13 ` Richard Cochran
2018-01-18 17:13 ` Richard Cochran
2018-02-01 0:49 ` Jesus Sanchez-Palencia
2018-02-01 0:49 ` Jesus Sanchez-Palencia
2018-02-01 4:16 ` Richard Cochran
2018-02-01 4:16 ` Richard Cochran
2018-02-01 9:27 ` Miroslav Lichvar
2018-02-01 9:27 ` Miroslav Lichvar
2018-02-01 20:55 ` Jesus Sanchez-Palencia
2018-02-01 20:55 ` Jesus Sanchez-Palencia
2018-01-23 21:22 ` Vinicius Costa Gomes
2018-01-23 21:22 ` Vinicius Costa Gomes
2018-01-24 3:04 ` Richard Cochran
2018-01-24 3:04 ` Richard Cochran
2018-01-24 22:46 ` Vinicius Costa Gomes [this message]
2018-01-24 22:46 ` Vinicius Costa Gomes
2018-01-26 2:12 ` Richard Cochran
2018-01-26 2:12 ` Richard Cochran
2018-02-12 22:39 ` Jesus Sanchez-Palencia
2018-02-12 22:39 ` Jesus Sanchez-Palencia
2018-02-13 9:56 ` Miroslav Lichvar
2018-02-13 9:56 ` Miroslav Lichvar
2018-01-18 17:11 ` Richard Cochran
2018-01-18 17:11 ` Richard Cochran
2018-01-23 18:12 ` [Intel-wired-lan] " Jesus Sanchez-Palencia
2018-01-23 18:12 ` Jesus Sanchez-Palencia
2018-01-19 21:15 ` [Intel-wired-lan] " Willem de Bruijn
2018-01-19 21:15 ` Willem de Bruijn
2018-01-20 2:09 ` [Intel-wired-lan] " Richard Cochran
2018-01-20 2:09 ` Richard Cochran
2018-01-25 9:12 ` [Intel-wired-lan] " Miroslav Lichvar
2018-01-25 9:12 ` Miroslav Lichvar
2018-01-25 16:52 ` Richard Cochran
2018-01-25 16:52 ` Richard Cochran
2018-01-23 18:24 ` Jesus Sanchez-Palencia
2018-01-23 18:24 ` Jesus Sanchez-Palencia
2018-01-23 20:02 ` [Intel-wired-lan] " Willem de Bruijn
2018-01-23 20:02 ` Willem de Bruijn
2018-01-17 23:06 ` [Intel-wired-lan] [RFC v2 net-next 02/10] net: ipv4: raw: Hook into time based transmission Jesus Sanchez-Palencia
2018-01-17 23:06 ` Jesus Sanchez-Palencia
2018-01-18 0:28 ` [Intel-wired-lan] " Eric Dumazet
2018-01-18 0:28 ` Eric Dumazet
2018-01-17 23:06 ` [Intel-wired-lan] [RFC v2 net-next 03/10] net: ipv4: udp: " Jesus Sanchez-Palencia
2018-01-17 23:06 ` Jesus Sanchez-Palencia
2018-01-17 23:06 ` [Intel-wired-lan] [RFC v2 net-next 04/10] net: packet: " Jesus Sanchez-Palencia
2018-01-17 23:06 ` Jesus Sanchez-Palencia
2018-01-17 23:06 ` [Intel-wired-lan] [RFC v2 net-next 05/10] net/sched: Allow creating a Qdisc watchdog with other clocks Jesus Sanchez-Palencia
2018-01-17 23:06 ` Jesus Sanchez-Palencia
2018-01-17 23:06 ` [Intel-wired-lan] [RFC v2 net-next 06/10] net/sched: Introduce the TBS Qdisc Jesus Sanchez-Palencia
2018-01-17 23:06 ` Jesus Sanchez-Palencia
2018-01-18 13:35 ` [Intel-wired-lan] " Jamal Hadi Salim
2018-01-18 13:35 ` Jamal Hadi Salim
2018-01-18 13:44 ` [Intel-wired-lan] " Jamal Hadi Salim
2018-01-18 13:44 ` Jamal Hadi Salim
2018-01-23 21:45 ` [Intel-wired-lan] " Jesus Sanchez-Palencia
2018-01-23 21:45 ` Jesus Sanchez-Palencia
2018-01-18 17:18 ` [Intel-wired-lan] " Richard Cochran
2018-01-18 17:18 ` Richard Cochran
2018-01-23 22:01 ` [Intel-wired-lan] " Jesus Sanchez-Palencia
2018-01-23 22:01 ` Jesus Sanchez-Palencia
2018-01-19 21:18 ` [Intel-wired-lan] " Willem de Bruijn
2018-01-19 21:18 ` Willem de Bruijn
2018-01-17 23:06 ` [Intel-wired-lan] [RFC v2 net-next 07/10] igb: Refactor igb_configure_cbs() Jesus Sanchez-Palencia
2018-01-17 23:06 ` Jesus Sanchez-Palencia
2018-01-17 23:06 ` [Intel-wired-lan] [RFC v2 net-next 08/10] igb: Only change Tx arbitration when CBS is on Jesus Sanchez-Palencia
2018-01-17 23:06 ` Jesus Sanchez-Palencia
2018-01-17 23:06 ` [Intel-wired-lan] [RFC v2 net-next 09/10] igb: Refactor igb_offload_cbs() Jesus Sanchez-Palencia
2018-01-17 23:06 ` Jesus Sanchez-Palencia
2018-01-17 23:06 ` [Intel-wired-lan] [RFC v2 net-next 10/10] igb: Add support for TBS offload Jesus Sanchez-Palencia
2018-01-17 23:06 ` Jesus Sanchez-Palencia
2018-01-23 5:23 ` [Intel-wired-lan] [RFC v2 net-next 00/10] Time based packet transmission Richard Cochran
2018-01-23 5:23 ` Richard Cochran
2018-01-23 5:26 ` [Intel-wired-lan] " Richard Cochran
2018-01-23 5:26 ` Richard Cochran
2018-01-23 18:07 ` [Intel-wired-lan] " Jesus Sanchez-Palencia
2018-01-23 18:07 ` Jesus Sanchez-Palencia
2018-01-24 1:43 ` [Intel-wired-lan] " Levi Pearson
2018-01-24 1:43 ` Levi Pearson
2018-01-27 0:04 ` [Intel-wired-lan] " Jesus Sanchez-Palencia
2018-01-27 0:04 ` Jesus Sanchez-Palencia
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=87607qzxhb.fsf@intel.com \
--to=vinicius.gomes@intel.com \
--cc=intel-wired-lan@osuosl.org \
/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.