diff options
author | Julian Wiedmann <jwi@linux.ibm.com> | 2021-01-28 12:41:06 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2021-01-29 05:36:21 +0100 |
commit | ef6af7bdb9e6c14eae8dc5fe852aefe1e089c85c (patch) | |
tree | 1e9d200306516e7009f8050e5d373a85e8eaf93e /include/net/iucv | |
parent | net/af_iucv: don't lookup the socket on TX notification (diff) | |
download | linux-ef6af7bdb9e6c14eae8dc5fe852aefe1e089c85c.tar.xz linux-ef6af7bdb9e6c14eae8dc5fe852aefe1e089c85c.zip |
net/af_iucv: count packets in the xmit path
The TX code keeps track of all skbs that are in-flight but haven't
actually been sent out yet. For native IUCV sockets that's not a huge
deal, but with TRANS_HIPER sockets it would be much better if we
didn't need to maintain a list of skb clones.
Note that we actually only care about the _count_ of skbs in this stage
of the TX pipeline. So as prep work for removing the skb tracking on
TRANS_HIPER sockets, keep track of the skb count in a separate variable
and pair any list {enqueue, unlink} with a count {increment, decrement}.
Then replace all occurences where we currently look at the skb list's
fill level.
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/net/iucv')
-rw-r--r-- | include/net/iucv/af_iucv.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/iucv/af_iucv.h b/include/net/iucv/af_iucv.h index 9259ce2b22f3..0816bcd44dd1 100644 --- a/include/net/iucv/af_iucv.h +++ b/include/net/iucv/af_iucv.h @@ -128,6 +128,7 @@ struct iucv_sock { u8 flags; u16 msglimit; u16 msglimit_peer; + atomic_t skbs_in_xmit; atomic_t msg_sent; atomic_t msg_recv; atomic_t pendings; |