This series is mostly about fixing two things: - when user space request both SW and HW time stamps only one of them should be generated (SW is fallback to HW). Intel drivers would report two time stamps per packet which may be confusing to user space app; - all(?) Intel drivers have one set of PTP TX registers per NIC so drivers with multiple TX rings need some kind of mutual exclusion otherwise they will leak skbs These apply to igb, ixgbe and i40e.
Apart from that I added timeout for time stamp checking in e1000e and removed 'if' clause that cannot be triggered. NOTE: I do not own any igb or i40e devices. Patches 7-10 were only compile-tested! Also I think that there is a race between time stamp polling work and calling i40e_ptp_tx_hwtstamp() directly from interrupt in i40e, but as I said I don't have any device to test that. -- Jakub Kicinski Jakub Kicinski (10): doc: update driver TX algorithm in timestamping.txt e1000e: add timeout for TX HW time stamping work e1000e: remove redundant if clause from PTP work ixgbe: remove redundant if clause from PTP work ixgbe: never generate both software and hardware timestamps ixgbe: fix race conditions on queuing skb for HW time stamp igb: never generate both software and hardware timestamps igb: fix race conditions on queuing skb for HW time stamp i40e: never generate both software and hardware timestamps i40e: fix race conditions on queuing skb for HW time stamp Documentation/networking/timestamping.txt | 6 +++--- drivers/net/ethernet/intel/e1000e/e1000.h | 2 ++ drivers/net/ethernet/intel/e1000e/ethtool.c | 1 + drivers/net/ethernet/intel/e1000e/netdev.c | 10 +++++++--- drivers/net/ethernet/intel/i40e/i40e.h | 1 + drivers/net/ethernet/intel/i40e/i40e_ptp.c | 3 +++ drivers/net/ethernet/intel/i40e/i40e_txrx.c | 7 ++++--- drivers/net/ethernet/intel/igb/igb.h | 3 ++- drivers/net/ethernet/intel/igb/igb_main.c | 7 ++++--- drivers/net/ethernet/intel/igb/igb_ptp.c | 3 +++ drivers/net/ethernet/intel/ixgbe/ixgbe.h | 1 + drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 8 +++++--- drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 7 +++---- 13 files changed, 39 insertions(+), 20 deletions(-) -- 1.8.5.3 ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired