diff options
author | Julian Wiedmann <jwi@linux.ibm.com> | 2021-01-28 14:41:06 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2021-01-29 07:36:21 +0300 |
commit | ef6af7bdb9e6c14eae8dc5fe852aefe1e089c85c (patch) | |
tree | 1e9d200306516e7009f8050e5d373a85e8eaf93e /include/net/iucv/af_iucv.h | |
parent | c464444fa2ca41255817e2bdcfc47a658ec20645 (diff) | |
download | linux-ef6af7bdb9e6c14eae8dc5fe852aefe1e089c85c.tar.xz |
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/af_iucv.h')
-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; |