From: "M. Warner Losh" <imp@bsdimp.com>
To: cl@linux.com
Cc: christian@riesch.at, giometti@linux.it, peterz@infradead.org,
johnstul@us.ibm.com, devicetree-discuss@lists.ozlabs.org,
linux-kernel@vger.kernel.org, davem@davemloft.net,
netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-api@vger.kernel.org, tglx@linutronix.de,
linuxppc-dev@lists.ozlabs.org, richardcochran@gmail.com,
alan@lxorguk.ukuu.org.uk, khc@pm.waw.pl
Subject: Re: [PATCH v6 0/8] ptp: IEEE 1588 hardware clock support
Date: Fri, 01 Oct 2010 19:44:50 -0600 (MDT) [thread overview]
Message-ID: <20101001.194450.1113329769525619655.imp@bsdimp.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1009271035110.9258@router.home>
In message: <alpine.DEB.2.00.1009271035110.9258@router.home>
Christoph Lameter <cl@linux.com> writes:
: On Thu, 23 Sep 2010, Christian Riesch wrote:
:
: > > > It implies clock tuning in userspace for a potential sub microsecond
: > > > accurate clock. The clock accuracy will be limited by user space
: > > > latencies and noise. You wont be able to discipline the system clock
: > > > accurately.
: > >
: > > Noise matters, latency doesn't.
: >
: > Well put! That's why we need hardware support for PTP timestamping to reduce
: > the noise, but get along well with the clock servo that is steering the PHC in
: > user space.
:
: Even if I buy into the catch phrase above: User space is subject to noise
: that the in kernel code is not. If you do the tuning over long intervals
: then it hopefully averages out but it still causes jitter effects that
: affects the degree of accuracy (or sync) that you can reach. And the noise
: varies with the load on the system.
Please see the earlier posts in this thread about why this doesn't
matter as much as you might think. What matters is the measurements
(which are done in hardware and the results buffered), not the latency
in processing those messages through your servo. This is due to the
fact that the errors that even long latencies introduce are
proportional to the change in fractional frequency[*] of the clock being
steered. This change is usually on the order of a part per million.
Even with 10ms of latency would mean that you're introducing on the
order of sub-nanoseconds of phase error that will be measured in the
next cycle and steered out.
That's why latency doesn't matter. Do you have other math to show
that it does?
Warner
[*] abs(1 - (clock_freq_old / clock_freq_new)) where clock_freq_old is
the old estimate of the clock and clock_freq_new is the new frequency
estimate of the clock. Second to second, these change on the order of
a part per million or less...
next prev parent reply other threads:[~2010-10-02 1:44 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-23 17:30 [PATCH v6 0/8] ptp: IEEE 1588 hardware clock support Richard Cochran
2010-09-23 17:31 ` [PATCH 1/8] posix clocks: introduce a syscall for clock tuning Richard Cochran
[not found] ` <b94ef1cd9c04ef3ad5964408bd0af7251add78de.1285261534.git.richard.cochran-3mrvs1K0uXizZXS1Dc/lvw@public.gmane.org>
2010-09-23 19:48 ` john stultz
[not found] ` <1285271331.2587.56.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2010-09-24 7:29 ` Richard Cochran
[not found] ` <20100924072946.GA5043-7KxsofuKt4IfAd9E5cN8NEzG7cXyKsk/@public.gmane.org>
2010-09-24 17:55 ` john stultz
2010-09-23 22:03 ` Benjamin Herrenschmidt
2010-09-23 22:12 ` Thomas Gleixner
[not found] ` <alpine.LFD.2.00.1009240008390.2416-bi+AKbBUZKagILUCTcTcHdKyNwTtLsGr@public.gmane.org>
2010-09-24 1:20 ` Benjamin Herrenschmidt
2010-09-24 7:55 ` Richard Cochran
[not found] ` <20100924075534.GB5043-7KxsofuKt4IfAd9E5cN8NEzG7cXyKsk/@public.gmane.org>
2010-09-24 22:12 ` Benjamin Herrenschmidt
2010-09-23 17:31 ` [PATCH 2/8] posix clocks: dynamic clock ids Richard Cochran
2010-09-23 17:31 ` [PATCH 3/8] posix clocks: introduce a sysfs presence Richard Cochran
[not found] ` <cover.1285261533.git.richard.cochran-3mrvs1K0uXizZXS1Dc/lvw@public.gmane.org>
2010-09-23 17:32 ` [PATCH 4/8] ptp: Added a brand new class driver for ptp clocks Richard Cochran
2010-09-23 17:32 ` [PATCH 5/8] ptp: Added a simulated PTP hardware clock Richard Cochran
2010-09-23 17:33 ` [PATCH 6/8] ptp: Added a clock that uses the eTSEC found on the MPC85xx Richard Cochran
[not found] ` <57b64051c816dc9cb856bbb9f38fc901c9d3d651.1285261535.git.richard.cochran-3mrvs1K0uXizZXS1Dc/lvw@public.gmane.org>
2010-09-23 19:17 ` Christoph Lameter
[not found] ` <alpine.DEB.2.00.1009231348150.2962-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-09-23 20:43 ` Alan Cox
[not found] ` <20100923214359.3f287b11-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2010-09-23 20:32 ` Christoph Lameter
2010-09-23 21:26 ` Christian Riesch
2010-09-24 11:52 ` Alan Cox
2010-09-24 8:49 ` Richard Cochran
2010-09-23 17:33 ` [PATCH 7/8] ptp: Added a clock driver for the IXP46x Richard Cochran
2010-09-23 17:34 ` [PATCH 8/8] ptp: Added a clock driver for the National Semiconductor PHYTER Richard Cochran
2010-09-23 17:53 ` [PATCH v6 0/8] ptp: IEEE 1588 hardware clock support Christoph Lameter
2010-09-23 18:21 ` Jacob Keller
2010-09-23 18:36 ` Christoph Lameter
[not found] ` <alpine.DEB.2.00.1009231238170.2962-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-09-23 18:59 ` john stultz
[not found] ` <1285268380.2587.11.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2010-09-23 19:15 ` Christoph Lameter
2010-09-23 20:28 ` john stultz
2010-09-23 20:49 ` Christoph Lameter
[not found] ` <alpine.DEB.2.00.1009231533040.7522-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-09-23 21:34 ` Alan Cox
2010-09-23 21:34 ` Christian Riesch
[not found] ` <4C9BC7CE.8020400-U4+xqT1Vg0VeoWH0uzbU5w@public.gmane.org>
2010-09-27 15:37 ` Christoph Lameter
2010-09-30 3:50 ` Christian Riesch
2010-10-02 1:44 ` M. Warner Losh [this message]
2010-09-23 21:42 ` john stultz
[not found] ` <1285278136.2587.154.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2010-09-27 15:52 ` Christoph Lameter
2010-09-27 16:14 ` M. Warner Losh
[not found] ` <20100927.101423.702773873740300798.imp-uzTCJ5RojNnQT0dZR+AlfA@public.gmane.org>
2010-09-28 6:34 ` Richard Cochran
2010-09-24 8:33 ` Richard Cochran
2010-09-23 19:38 ` john stultz
[not found] ` <1285270733.2587.46.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2010-09-24 13:50 ` Richard Cochran
[not found] ` <20100924135001.GB3113-7KxsofuKt4IfAd9E5cN8NEzG7cXyKsk/@public.gmane.org>
2010-09-24 14:57 ` Alan Cox
2010-09-23 20:36 ` Alan Cox
2010-09-23 20:49 ` john stultz
[not found] ` <1285274952.2587.113.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2010-09-23 21:30 ` Alan Cox
2010-09-23 22:03 ` john stultz
[not found] ` <20100923213654.0c64b047-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2010-09-24 13:14 ` Richard Cochran
[not found] ` <20100924131407.GA3113-7KxsofuKt4IfAd9E5cN8NEzG7cXyKsk/@public.gmane.org>
2010-09-24 14:02 ` Alan Cox
2010-09-24 14:07 ` Alan Cox
2010-09-27 15:56 ` Christoph Lameter
2010-09-27 17:05 ` Alan Cox
2010-09-28 6:47 ` Richard Cochran
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=20101001.194450.1113329769525619655.imp@bsdimp.com \
--to=imp@bsdimp.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=christian@riesch.at \
--cc=cl@linux.com \
--cc=davem@davemloft.net \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=giometti@linux.it \
--cc=johnstul@us.ibm.com \
--cc=khc@pm.waw.pl \
--cc=linux-api@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=netdev@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=richardcochran@gmail.com \
--cc=tglx@linutronix.de \
/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