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
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit
http://communities.intel.com/community/wired