diff options
author | 2021-03-31 23:08:52 +0300 | |
---|---|---|
committer | 2021-03-31 14:57:44 -0700 | |
commit | 1ee8d6f3bebbdaa7692732c91685b27ae4c612be (patch) | |
tree | 6eb458614ce572ce6a0b244c422514c9fb4066e2 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | net: enetc: add a dedicated is_eof bit in the TX software BD (diff) | |
download | wireguard-linux-1ee8d6f3bebbdaa7692732c91685b27ae4c612be.tar.xz wireguard-linux-1ee8d6f3bebbdaa7692732c91685b27ae4c612be.zip |
net: enetc: clean the TX software BD on the TX confirmation path
With the future introduction of some new fields into enetc_tx_swbd such
as is_xdp_tx, is_xdp_redirect etc, we need not only to set these bits
to true from the XDP_TX/XDP_REDIRECT code path, but also to false from
the old code paths.
This is because TX software buffer descriptors are kept in a ring that
is shadow of the hardware TX ring, so these structures keep getting
reused, and there is always the possibility that when a software BD is
reused (after we ran a full circle through the TX ring), the old user of
the tx_swbd had set is_xdp_tx = true, and now we are sending a regular
skb, which would need to set is_xdp_tx = false.
To be minimally invasive to the old code paths, let's just scrub the
software TX BD in the TX confirmation path (enetc_clean_tx_ring), once
we know that nobody uses this software TX BD (tx_ring->next_to_clean
hasn't yet been updated, and the TX paths check enetc_bd_unused which
tells them if there's any more space in the TX ring for a new enqueue).
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions