All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH v7] mac80211: Switch to a virtual time-based airtime scheduler
Date: Thu, 06 May 2021 02:57:26 +0800	[thread overview]
Message-ID: <202105060212.gSyzwAsR-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 6453 bytes --]

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210505144443.84666-1-toke@redhat.com>
References: <20210505144443.84666-1-toke@redhat.com>
TO: "Toke Høiland-Jørgensen" <toke@redhat.com>
TO: linux-wireless(a)vger.kernel.org
CC: "Toke Høiland-Jørgensen" <toke@redhat.com>
CC: make-wifi-fast(a)lists.bufferbloat.net
CC: Felix Fietkau <nbd@nbd.name>
CC: Rajkumar Manoharan <rmanohar@codeaurora.org>
CC: Kan Yan <kyan@google.com>
CC: Yibo Zhao <yiboz@codeaurora.org>

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
:::::: branch date: 4 hours ago
:::::: commit date: 4 hours ago
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@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(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 33176 bytes --]

             reply	other threads:[~2021-05-05 18:57 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-05 18:57 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-05-05 19:23 [PATCH v7] mac80211: Switch to a virtual time-based airtime scheduler kernel test robot
2021-05-05 14:44 Toke Høiland-Jørgensen
2021-05-07  5:55 ` kernel test robot
2021-05-07  5:55   ` kernel test robot
2021-05-07  8:19   ` Toke Høiland-Jørgensen
2021-05-07  8:19     ` Toke Høiland-Jørgensen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202105060212.gSyzwAsR-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.