netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Keller, Jacob E" <jacob.e.keller@intel.com>
To: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"richardcochran@gmail.com" <richardcochran@gmail.com>
Cc: "tglx@linutronix.de" <tglx@linutronix.de>,
	"Manfred.Rudigier@omicron.at" <Manfred.Rudigier@omicron.at>,
	"ulrik.debie-os@e2big.org" <ulrik.debie-os@e2big.org>,
	"stefan.sorensen@spectralink.com"
	<stefan.sorensen@spectralink.com>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"Kirsher, Jeffrey T" <jeffrey.t.kirsher@intel.com>,
	"john.stultz@linaro.org" <john.stultz@linaro.org>,
	"intel-wired-lan@lists.osuosl.org"
	<intel-wired-lan@lists.osuosl.org>
Subject: Re: [PATCH net-next 0/3] PHC frequency fine tuning
Date: Tue, 8 Nov 2016 21:56:54 +0000	[thread overview]
Message-ID: <1478642213.7545.36.camel@intel.com> (raw)
In-Reply-To: <cover.1478526333.git.richardcochran@gmail.com>

On Tue, 2016-11-08 at 22:49 +0100, Richard Cochran wrote:
> This series expands the PTP Hardware Clock subsystem by adding a
> method that passes the frequency tuning word to the the drivers
> without dropping the low order bits.  Keeping those bits is useful
> for
> drivers whose frequency resolution is higher than 1 ppb.
> 

Makes sense.

> The appended script (below) runs a simple demonstration of the
> improvement.  This test needs two Intel i210 PCIe cards installed in
> the same PC, with their SDP0 pins connected by copper
> wire.  Measuring
> the estimated offset (from the ptp4l servo) and the true offset (from
> the PPS) over one hour yields the following statistics.
> 
> > 
> >        |   Est. Before |    Est. After |   True Before |    True
> > After |
> > --------+---------------+---------------+---------------+--------
> > -------|
> > min    | -5.200000e+01 | -1.600000e+01 | -3.100000e+01 |
> > -1.000000e+00 |
> > max    | +5.700000e+01 | +2.500000e+01 | +8.500000e+01 |
> > +4.000000e+01 |
> > pk-pk: | +1.090000e+02 | +4.100000e+01 | +1.160000e+02 |
> > +4.100000e+01 |
> > mean   | +6.472222e-02 | +1.277778e-02 | +2.422083e+01 |
> > +1.826083e+01 |
> > stddev | +1.158006e+01 | +4.581982e+00 | +1.207708e+01 |
> > +4.981435e+00 |
> 
> Here the numbers in units of nanoseconds, and the ~20 nanosecond PPS
> offset is due to input/output delays on the i210's external interface
> logic.
> 
> With the series applied, both the peak to peak error and the standard
> deviation improve by a factor of more than two.  These two graphs
> show
> the improvement nicely.
> 
>   http://linuxptp.sourceforge.net/fine-tuning/fine-est.png
> 
>   http://linuxptp.sourceforge.net/fine-tuning/fine-tru.png
> 

Wow, nice! I'll take a look at the actual patches in a few minutes, but
this is a really nice improvement!

Thanks,
Jake

> 
> Thanks,
> Richard
> 
> Richard Cochran (3):
>   ptp: Introduce a high resolution frequency adjustment method.
>   ptp: igb: Use the high resolution frequency method.
>   ptp: dp83640: Use the high resolution frequency method.
> 
>  drivers/net/ethernet/intel/igb/igb_ptp.c | 16 ++++++++--------
>  drivers/net/phy/dp83640.c                | 14 +++++++-------
>  drivers/ptp/ptp_clock.c                  |  5 ++++-
>  include/linux/ptp_clock_kernel.h         |  8 ++++++++
>  4 files changed, 27 insertions(+), 16 deletions(-)
> 

  parent reply	other threads:[~2016-11-08 21:56 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-08 21:49 [PATCH net-next 0/3] PHC frequency fine tuning Richard Cochran
2016-11-08 21:49 ` [PATCH net-next 1/3] ptp: Introduce a high resolution frequency adjustment method Richard Cochran
2016-11-08 21:49 ` [PATCH net-next 2/3] ptp: igb: Use the high resolution frequency method Richard Cochran
2016-11-08 22:02   ` Keller, Jacob E
2016-11-09 13:11     ` Richard Cochran
2016-11-09 21:40       ` Keller, Jacob E
2016-11-08 22:04   ` Keller, Jacob E
2016-11-09 13:15     ` Richard Cochran
2016-11-08 21:49 ` [PATCH net-next 3/3] ptp: dp83640: " Richard Cochran
2016-11-08 21:56 ` Keller, Jacob E [this message]
2016-11-10  2:20 ` [PATCH net-next 0/3] PHC frequency fine tuning David Miller

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=1478642213.7545.36.camel@intel.com \
    --to=jacob.e.keller@intel.com \
    --cc=Manfred.Rudigier@omicron.at \
    --cc=davem@davemloft.net \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=john.stultz@linaro.org \
    --cc=netdev@vger.kernel.org \
    --cc=richardcochran@gmail.com \
    --cc=stefan.sorensen@spectralink.com \
    --cc=tglx@linutronix.de \
    --cc=ulrik.debie-os@e2big.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).