]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: Shrink the size of ack_frame_id to make room for tx_time_est
authorToke Høiland-Jørgensen <toke@redhat.com>
Wed, 23 Oct 2019 09:59:00 +0000 (11:59 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 8 Nov 2019 09:19:19 +0000 (10:19 +0100)
commit40c6f31f74c8371e4404eb40bb83b98eefb6d417
tree5c54dea90754bb2b22b7c1bf581b570d0d2ca35b
parent7d940087b81377d3d1b79c2ba610eda5218528d2
mac80211: Shrink the size of ack_frame_id to make room for tx_time_est

To implement airtime queue limiting, we need to keep a running account of
the estimated airtime of all skbs queued into the device. Do to this
correctly, we need to store the airtime estimate into the skb so we can
decrease the outstanding balance when the skb is freed. This means that the
time estimate must be stored somewhere that will survive for the lifetime
of the skb.

To get this, decrease the size of the ack_frame_id field to 6 bits, and
lower the size of the ID space accordingly. This leaves 10 bits for use for
tx_time_est, which is enough to store a maximum of 4096 us, if we shift the
values so they become units of 4us.

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Link: https://lore.kernel.org/r/157182474063.150713.16132669599100802716.stgit@toke.dk
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/mac80211.h
net/mac80211/cfg.c
net/mac80211/tx.c