mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Richard Cochran <richardcochran@gmail.com>
To: Sebastien Laveze <sebastien.laveze@oss.nxp.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	yangbo.lu@nxp.com, yannick.vignon@oss.nxp.com,
	rui.sousa@oss.nxp.com
Subject: Re: [PATCH net-next] ptp: add vclock timestamp conversion IOCTL
Date: Mon, 11 Oct 2021 05:58:15 -0700	[thread overview]
Message-ID: <20211011125815.GC14317@hoboy.vegasvil.org> (raw)
In-Reply-To: <768227b1f347cb1573efb1b5f6c642e2654666ba.camel@oss.nxp.com>

On Fri, Oct 08, 2021 at 09:13:58AM +0200, Sebastien Laveze wrote:
> Of course, so what tests and measurements can we bring on the table to
> convince you that it doesn't lead to chaos ?

So, to restate what I've said before, you cannot adjust both the
physical clock and the virtual clock at the same time.

Here is a simple example that has no solution, AFAICT.

- Imagine one physical and one virtual clock based on it.

- A user space program using the virtual clock synchronizes to within
  100 nanoseconds of its upstream PTP Domain.  So far, so good.

- Now a second program using the physical clock starts up, and
  proceeds to measure, then correct the gross phase offset to its
  upstream PTP Domain.

- The driver must now add, as your proposal entails, the reverse
  correction into the virtual clock's timecounter/cyclecounter.

- However, this particular physical clock uses a RMW pattern to
  program the offset correction.

- Boom.  Now the duration of the RMW becomes an offset error in the
  virtual clock.  The magnitude may be microseconds or even
  milliseconds for devices behind slow MDIO buses, for example.

End of story.

Thanks,
Richard



  parent reply	other threads:[~2021-10-11 12:58 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-27  9:32 Sebastien Laveze
2021-09-27 14:59 ` Richard Cochran
2021-09-27 16:00   ` Sebastien Laveze
2021-09-27 20:23     ` Richard Cochran
2021-09-28 11:50       ` Sebastien Laveze
2021-09-28 13:31         ` Richard Cochran
2021-09-29 15:00           ` Sebastien Laveze
2021-09-30 14:35             ` Richard Cochran
2021-10-07 13:31               ` Sebastien Laveze
2021-10-07 20:19                 ` Richard Cochran
2021-10-08  7:13                   ` Sebastien Laveze
2021-10-09 18:24                     ` Richard Cochran
2021-10-09 18:25                       ` Richard Cochran
2021-10-11 12:58                     ` Richard Cochran [this message]
2021-10-12 16:14                       ` Richard Cochran
2021-10-13  9:56                       ` Sebastien Laveze
2021-10-13 13:10                         ` Richard Cochran
2021-10-13 13:28                           ` Sebastien Laveze
2021-10-13 17:54                             ` Richard Cochran
2021-10-14 13:27                               ` Sebastien Laveze
2021-09-27 18:28 ` Randy Dunlap

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=20211011125815.GC14317@hoboy.vegasvil.org \
    --to=richardcochran@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=rui.sousa@oss.nxp.com \
    --cc=sebastien.laveze@oss.nxp.com \
    --cc=yangbo.lu@nxp.com \
    --cc=yannick.vignon@oss.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®