[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <02874ECE860811409154E81DA85FBB5884D2092B@ORSMSX115.amr.corp.intel.com>
Date: Fri, 9 Nov 2018 18:12:05 +0000
From: "Keller, Jacob E" <jacob.e.keller@...el.com>
To: Miroslav Lichvar <mlichvar@...hat.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC: Richard Cochran <richardcochran@...il.com>,
Marcelo Tosatti <mtosatti@...hat.com>,
"Kirsher, Jeffrey T" <jeffrey.t.kirsher@...el.com>,
Michael Chan <michael.chan@...adcom.com>
Subject: RE: [PATCH net-next 0/8] More accurate PHC<->system clock
synchronization
> -----Original Message-----
> From: Miroslav Lichvar [mailto:mlichvar@...hat.com]
> Sent: Friday, November 09, 2018 2:15 AM
> To: netdev@...r.kernel.org
> Cc: Richard Cochran <richardcochran@...il.com>; Keller, Jacob E
> <jacob.e.keller@...el.com>; Miroslav Lichvar <mlichvar@...hat.com>; Marcelo
> Tosatti <mtosatti@...hat.com>; Kirsher, Jeffrey T <jeffrey.t.kirsher@...el.com>;
> Michael Chan <michael.chan@...adcom.com>
> Subject: [PATCH net-next 0/8] More accurate PHC<->system clock synchronization
>
> RFC->v1:
> - added new patches
> - separated PHC timestamp from ptp_system_timestamp
> - fixed memory leak in PTP_SYS_OFFSET_EXTENDED
> - changed PTP_SYS_OFFSET_EXTENDED to work with array of arrays
> - fixed PTP_SYS_OFFSET_EXTENDED to break correctly from loop
> - fixed timecounter updates in drivers
> - split gettimex in igb driver
> - fixed ptp_read_* functions to be available without
> CONFIG_PTP_1588_CLOCK
>
> This series enables a more accurate synchronization between PTP hardware
> clocks and the system clock.
Thanks for doing this, Miroslav!
>
> The first two patches are minor cleanup/bug fixes.
>
> The third patch adds an extended version of the PTP_SYS_OFFSET ioctl,
> which returns three timestamps for each measurement. The idea is to
> shorten the interval between the system timestamps to contain just the
> reading of the lowest register of the PHC in order to reduce the error
> in the measured offset and get a smaller upper bound on the maximum
> error.
>
> The fourth patch deprecates the original gettime function.
>
> The remaining patches update the gettime function in order to support
> the new ioctl in the e1000e, igb, ixgbe, and tg3 drivers.
>
> Tests with few different NICs in different machines show that:
> - with an I219 (e1000e) the measured delay was reduced from 2500 to 1300
> ns and the error in the measured offset, when compared to the cross
> timestamping supported by the driver, was reduced by a factor of 5
> - with an I210 (igb) the delay was reduced from 5100 to 1700 ns
> - with an I350 (igb) the delay was reduced from 2300 to 750 ns
> - with an X550 (ixgbe) the delay was reduced from 1950 to 650 ns
> - with a BCM5720 (tg3) the delay was reduced from 2400 to 1200 ns
>
Impressive results!
For the main portions and the Intel driver changes this is
Reviewed-by: Jacob Keller <jacob.e.keller@...el.com>
Regards,
Jake
>
> Miroslav Lichvar (8):
> ptp: reorder declarations in ptp_ioctl()
> ptp: check gettime64 return code in PTP_SYS_OFFSET ioctl
> ptp: add PTP_SYS_OFFSET_EXTENDED ioctl
> ptp: deprecate gettime64() in favor of gettimex64()
> e1000e: extend PTP gettime function to read system clock
> igb: extend PTP gettime function to read system clock
> ixgbe: extend PTP gettime function to read system clock
> tg3: extend PTP gettime function to read system clock
>
> drivers/net/ethernet/broadcom/tg3.c | 19 ++++--
> drivers/net/ethernet/intel/e1000e/e1000.h | 3 +
> drivers/net/ethernet/intel/e1000e/netdev.c | 42 ++++++++++---
> drivers/net/ethernet/intel/e1000e/ptp.c | 16 +++--
> drivers/net/ethernet/intel/igb/igb_ptp.c | 65 +++++++++++++++++---
> drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 54 +++++++++++++---
> drivers/ptp/ptp_chardev.c | 55 ++++++++++++++---
> drivers/ptp/ptp_clock.c | 5 +-
> include/linux/ptp_clock_kernel.h | 33 ++++++++++
> include/uapi/linux/ptp_clock.h | 12 ++++
> 10 files changed, 253 insertions(+), 51 deletions(-)
>
> --
> 2.17.2
Powered by blists - more mailing lists