[Make-wifi-fast] [PATCH v7] mac80211: Switch to a virtual time-based airtime scheduler
kernel test robot
rong.a.chen at intel.com
Fri May 7 01:55:12 EDT 2021
Hi "Toke,
I love your patch! Perhaps something to improve:
[auto build test WARNING on mac80211-next/master]
[also build test WARNING on next-20210505]
[cannot apply to mac80211/master v5.12]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Toke-H-iland-J-rgensen/mac80211-Switch-to-a-virtual-time-based-airtime-scheduler/20210505-224557
base: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
config: i386-randconfig-s002-20210505 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://github.com/0day-ci/linux/commit/4ff38b3940e58b3d8e44594f44f2f700e5b930b5
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Toke-H-iland-J-rgensen/mac80211-Switch-to-a-virtual-time-based-airtime-scheduler/20210505-224557
git checkout 4ff38b3940e58b3d8e44594f44f2f700e5b930b5
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
sparse warnings: (new ones prefixed by >>)
>> net/mac80211/tx.c:4020:6: sparse: sparse: context imbalance in 'ieee80211_txq_may_transmit' - wrong count at exit
vim +/ieee80211_txq_may_transmit +4020 net/mac80211/tx.c
3ace10f5b5ad94 Kan Yan 2019-11-18 4019
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 @4020 bool ieee80211_txq_may_transmit(struct ieee80211_hw *hw,
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4021 struct ieee80211_txq *txq)
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4022 {
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4023 struct txq_info *first_txqi = NULL, *txqi = to_txq_info(txq);
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4024 struct ieee80211_local *local = hw_to_local(hw);
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4025 struct airtime_sched_info *air_sched;
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4026 struct airtime_info *air_info;
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4027 struct rb_node *node = NULL;
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4028 bool ret = false;
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4029 u64 now;
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4030
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4031
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4032 if (!ieee80211_txq_airtime_check(hw, txq))
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4033 return false;
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4034
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4035 air_sched = &local->airtime[txq->ac];
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4036 spin_lock_bh(&air_sched->lock);
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4037
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4038 if (RB_EMPTY_NODE(&txqi->schedule_order))
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4039 goto out;
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4040
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4041 now = ktime_get_boottime_ns();
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4042
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4043 /* Like in ieee80211_next_txq(), make sure the first station in the
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4044 * scheduling order is eligible for transmission to avoid starvation.
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4045 */
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4046 node = rb_first_cached(&air_sched->active_txqs);
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4047 if (node) {
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4048 first_txqi = container_of(node, struct txq_info,
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4049 schedule_order);
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4050 air_info = to_airtime_info(&first_txqi->txq);
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4051
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4052 if (air_sched->v_t < air_info->v_t)
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4053 airtime_catchup_v_t(air_sched, air_info->v_t, now);
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4054 }
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4055
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4056 air_info = to_airtime_info(&txqi->txq);
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4057 if (air_info->v_t <= air_sched->v_t) {
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4058 air_sched->last_schedule_activity = now;
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4059 ret = true;
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4060 }
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4061
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4062 spin_unlock_bh(&air_sched->lock);
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4063 out:
4ff38b3940e58b Toke Høiland-Jørgensen 2021-05-05 4064 return ret;
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4065 }
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4066 EXPORT_SYMBOL(ieee80211_txq_may_transmit);
b4809e9484da14 Toke Høiland-Jørgensen 2018-12-18 4067
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 33176 bytes
Desc: not available
URL: <https://lists.bufferbloat.net/pipermail/make-wifi-fast/attachments/20210507/ea59f66a/attachment-0001.gz>
-------------- next part --------------
_______________________________________________
kbuild mailing list -- kbuild at lists.01.org
To unsubscribe send an email to kbuild-leave at lists.01.org
More information about the Make-wifi-fast
mailing list