Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59cb89e6 authored by Jakub Kicinski's avatar Jakub Kicinski Committed by David S. Miller
Browse files

doc: update driver TX algorithm in timestamping.txt



Since cd4d8fda ("net: kernel panic in dev_hard_start_xmit:
remove faulty software TX time stamping") dev_hard_start_xmit()
will not provide software timestamps. It's a responsibility of
the drivers to call skb_tx_timestamp() at the right time.

Cc: linux-doc@vger.kernel.org
Signed-off-by: default avatarJakub Kicinski <kubakici@wp.pl>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 86a2b9cf
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -202,6 +202,9 @@ Time stamps for outgoing packets are to be generated as follows:
  and not free the skb. A driver not supporting hardware time stamping doesn't
  and not free the skb. A driver not supporting hardware time stamping doesn't
  do that. A driver must never touch sk_buff::tstamp! It is used to store
  do that. A driver must never touch sk_buff::tstamp! It is used to store
  software generated time stamps by the network subsystem.
  software generated time stamps by the network subsystem.
- Driver should call skb_tx_timestamp() as close to passing sk_buff to hardware
  as possible. skb_tx_timestamp() provides a software time stamp if requested
  and hardware timestamping is not possible (SKBTX_IN_PROGRESS not set).
- As soon as the driver has sent the packet and/or obtained a
- As soon as the driver has sent the packet and/or obtained a
  hardware time stamp for it, it passes the time stamp back by
  hardware time stamp for it, it passes the time stamp back by
  calling skb_hwtstamp_tx() with the original skb, the raw
  calling skb_hwtstamp_tx() with the original skb, the raw
@@ -212,6 +215,3 @@ Time stamps for outgoing packets are to be generated as follows:
  this would occur at a later time in the processing pipeline than other
  this would occur at a later time in the processing pipeline than other
  software time stamping and therefore could lead to unexpected deltas
  software time stamping and therefore could lead to unexpected deltas
  between time stamps.
  between time stamps.
- If the driver did not set the SKBTX_IN_PROGRESS flag (see above), then
  dev_hard_start_xmit() checks whether software time stamping
  is wanted as fallback and potentially generates the time stamp.