[Intel-wired-lan] [PATCH v4 00/15] ptp cornercase cleanups
Corinna Vinschen
vinschen at redhat.com
Thu Jun 22 09:28:20 UTC 2017
Hi David,
On Jun 22 12:14, David Mirabito wrote:
> For what it's worth, I found that although the patches solved the case
> where a tx timestamp would *never* come (on an I354/igb), we still had to
> set "tx_timestamp_timeout 750" in ptp4l.conf as there were still the
> occasional case where it'd come, just a bit later than ptp4l seems to
> expect. YMMV of course, but we needed both the patch and this config change
> at once in order to be stable.
>
> Note 750 was just a number that worked. It may be that a smaller number
> would suffice but it seems OK for us.
Thanks for the info. I'm just giving it a try. A value of 100 appears
to work fine in my environment. Interestingly, I only have to raise
tx_timestamp_timeout on i350, not on an i210 in the same machine.
Thanks,
Corinna
> Cheers,
> - DavidM
>
>
> On 22 June 2017 at 01:53, Corinna Vinschen <vinschen at redhat.com> wrote:
>
> > Hi Jacob,
> >
> > I'm just testing this patchset on IGB as applied to the upstream
> > net-next repo (4.12.0-rc5+), and the problem persists. It seems to
> > occur more seldom than without the patch, but I'm still seeing
> > occasional messages along the lines of
> >
> > ptp4l [1122.159]: timed out while polling for tx timestamp
> > ptp4l [1122.159]: increasing tx_timestamp_timeout may correct this
> > issue, but it is likely caused by a driver bug
> >
> > roughly every 10 minutes. Other than ptp4l running, the machine is
> > basically idle. Is there something missing in net-next?
> >
> >
> > Thanks,
> > Corinna
> >
> >
> > On May 3 10:28, Jacob Keller wrote:
> > > This series contains fixes for similar corner cases in the e1000e, igb,
> > > i40e, and ixgbe drivers reported by David Mirabito on the ptp4l mailing
> > > list.
> > >
> > > The first few patches fix a race condition with skb_tstamp_tx(). The
> > > next few patches ensure that we cleanup the state bit when exiting the
> > > _xmit_frame_ring() function with a DMA or TSO failure. After this, we
> > > add new statistic to count how many times the Tx timestamp is skipped
> > > due to already outstanding requests. The final few patches add some
> > > handling in the potential case where we somehow never finish a timestamp
> > > request, ensuring that we don't permanently lock the Tx timestamps
> > > forever in this rare case.
> > >
> > > Changes in v4
> > > - Split the driver patches at request of Shannon Nelson
> > > - Updated commit messages, but code content should be identical
> > >
> > > I apologize in advance, the patchworks will not track this properly
> > > because I necessarily changed the commit subjects when splitting the
> > > patches apart by driver.
> > >
> > > Jacob Keller (15):
> > > e1000e: fix race condition around skb_tstamp_tx()
> > > i40e: fix race condition with PTP_TX_IN_PROGRESS bits
> > > igb: fix race condition with PTP_TX_IN_PROGRESS bits
> > > ixgbe: fix race condition with PTP_TX_IN_PROGRESS bits
> > > i40e: avoid permanent lock of *_PTP_TX_IN_PROGRESS
> > > igb: avoid permanent lock of *_PTP_TX_IN_PROGRESS
> > > ixgbe: avoid permanent lock of *_PTP_TX_IN_PROGRESS
> > > e1000e: add statistic indicating number of skipped Tx timestamps
> > > i40e: add statistic indicating number of skipped Tx timestamps
> > > igb: add statistic indicating number of skipped Tx timestamps
> > > ixgbe: add statistic indicating number of skipped Tx timestamps
> > > i40e: use pf data structure directly in i40e_ptp_rx_hang
> > > i40e: check for Tx timestamp timeouts during watchdog
> > > igb: check for Tx timestamp timeouts during watchdog
> > > ixgbe: check for Tx timestamp timeouts during watchdog
> > >
> > > drivers/net/ethernet/intel/e1000e/e1000.h | 1 +
> > > drivers/net/ethernet/intel/e1000e/ethtool.c | 1 +
> > > drivers/net/ethernet/intel/e1000e/netdev.c | 27 ++++++++-----
> > > drivers/net/ethernet/intel/i40e/i40e.h | 5 ++-
> > > drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 1 +
> > > drivers/net/ethernet/intel/i40e/i40e_main.c | 3 +-
> > > drivers/net/ethernet/intel/i40e/i40e_ptp.c | 48
> > +++++++++++++++++++++---
> > > drivers/net/ethernet/intel/i40e/i40e_txrx.c | 28 +++++++++++---
> > > drivers/net/ethernet/intel/igb/igb.h | 2 +
> > > drivers/net/ethernet/intel/igb/igb_ethtool.c | 1 +
> > > drivers/net/ethernet/intel/igb/igb_main.c | 26 ++++++++++---
> > > drivers/net/ethernet/intel/igb/igb_ptp.c | 41
> > +++++++++++++++++++-
> > > drivers/net/ethernet/intel/ixgbe/ixgbe.h | 2 +
> > > drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 3 ++
> > > drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 42
> > ++++++++++++++-------
> > > drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 42
> > +++++++++++++++++++--
> > > 16 files changed, 227 insertions(+), 46 deletions(-)
> > >
> > > --
> > > 2.13.0.rc0.317.gcc792a6cad5a
> > >
> > > _______________________________________________
> > > Intel-wired-lan mailing list
> > > Intel-wired-lan at lists.osuosl.org
> > > http://lists.osuosl.org/mailman/listinfo/intel-wired-lan
> >
> > _______________________________________________
> > Intel-wired-lan mailing list
> > Intel-wired-lan at osuosl.org
> > https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
> >
> >
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20170622/c8c79e5d/attachment.asc>
More information about the Intel-wired-lan
mailing list