From: Keller, Jacob E <jacob.e.keller@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [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(-)
>
WARNING: multiple messages have this Message-ID (diff)
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(-)
>
next prev parent reply other threads:[~2016-11-08 21:56 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-08 21:49 [Intel-wired-lan] [PATCH net-next 0/3] PHC frequency fine tuning Richard Cochran
2016-11-08 21:49 ` Richard Cochran
2016-11-08 21:49 ` [Intel-wired-lan] [PATCH net-next 1/3] ptp: Introduce a high resolution frequency adjustment method Richard Cochran
2016-11-08 21:49 ` Richard Cochran
2016-11-08 21:49 ` [Intel-wired-lan] [PATCH net-next 2/3] ptp: igb: Use the high resolution frequency method Richard Cochran
2016-11-08 21:49 ` Richard Cochran
2016-11-08 22:02 ` [Intel-wired-lan] " Keller, Jacob E
2016-11-08 22:02 ` Keller, Jacob E
2016-11-09 13:11 ` [Intel-wired-lan] " Richard Cochran
2016-11-09 13:11 ` Richard Cochran
2016-11-09 21:40 ` [Intel-wired-lan] " Keller, Jacob E
2016-11-09 21:40 ` Keller, Jacob E
2016-11-08 22:04 ` [Intel-wired-lan] " Keller, Jacob E
2016-11-08 22:04 ` Keller, Jacob E
2016-11-09 13:15 ` [Intel-wired-lan] " Richard Cochran
2016-11-09 13:15 ` Richard Cochran
2016-11-08 21:49 ` [Intel-wired-lan] [PATCH net-next 3/3] ptp: dp83640: " Richard Cochran
2016-11-08 21:49 ` Richard Cochran
2016-11-08 21:56 ` Keller, Jacob E [this message]
2016-11-08 21:56 ` [PATCH net-next 0/3] PHC frequency fine tuning Keller, Jacob E
2016-11-10 2:20 ` [Intel-wired-lan] " David Miller
2016-11-10 2:20 ` 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=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.