All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Chen Yu <yu.c.chen@intel.com>
Cc: kbuild-all@lists.01.org, Chen Yu <yu.c.chen@intel.com>,
	linux-kernel@vger.kernel.org
Subject: [yu-chen-surf:sis 1/1] kernel/sched/fair.c:9317:19: sparse: sparse: incompatible types in comparison expression (different type sizes):
Date: Tue, 10 May 2022 20:00:51 +0800	[thread overview]
Message-ID: <202205101914.mxQiTOkX-lkp@intel.com> (raw)

tree:   https://github.com/yu-chen-surf/linux.git sis
head:   e59a4ccc3962b54c5488c142b073dcf9b85b5843
commit: e59a4ccc3962b54c5488c142b073dcf9b85b5843 [1/1] sched/fair: Introduce SIS_UTIL to search idle CPU based on sum of util_avg
config: arc-randconfig-s031-20220509 (https://download.01.org/0day-ci/archive/20220510/202205101914.mxQiTOkX-lkp@intel.com/config)
compiler: arc-elf-gcc (GCC) 11.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # https://github.com/yu-chen-surf/linux/commit/e59a4ccc3962b54c5488c142b073dcf9b85b5843
        git remote add yu-chen-surf https://github.com/yu-chen-surf/linux.git
        git fetch --no-tags yu-chen-surf sis
        git checkout e59a4ccc3962b54c5488c142b073dcf9b85b5843
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arc SHELL=/bin/bash kernel/sched/

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 >>)
   kernel/sched/fair.c:918:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct sched_entity *se @@     got struct sched_entity [noderef] __rcu * @@
   kernel/sched/fair.c:918:34: sparse:     expected struct sched_entity *se
   kernel/sched/fair.c:918:34: sparse:     got struct sched_entity [noderef] __rcu *
   kernel/sched/fair.c:11027:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] sd @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:11027:9: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:11027:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:5053:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:5053:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/fair.c:5053:22: sparse:    struct task_struct *
   kernel/sched/fair.c:5834:1: sparse: sparse: symbol '__pcpu_scope_load_balance_mask' was not declared. Should it be static?
   kernel/sched/fair.c:5835:1: sparse: sparse: symbol '__pcpu_scope_select_idle_mask' was not declared. Should it be static?
   kernel/sched/fair.c:6817:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] sd @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:6817:20: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:6817:20: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:6951:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] tmp @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:6951:9: sparse:     expected struct sched_domain *[assigned] tmp
   kernel/sched/fair.c:6951:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:7149:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:7149:38: sparse:     expected struct task_struct *curr
   kernel/sched/fair.c:7149:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/fair.c:7447:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:7447:38: sparse:     expected struct task_struct *curr
   kernel/sched/fair.c:7447:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/fair.c:8432:40: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct sched_domain *child @@     got struct sched_domain [noderef] __rcu *child @@
   kernel/sched/fair.c:8432:40: sparse:     expected struct sched_domain *child
   kernel/sched/fair.c:8432:40: sparse:     got struct sched_domain [noderef] __rcu *child
   kernel/sched/fair.c:8976:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:8976:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/fair.c:8976:22: sparse:    struct task_struct *
   kernel/sched/fair.c:10302:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] sd @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:10302:9: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:10302:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:9962:44: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct sched_domain *sd_parent @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:9962:44: sparse:     expected struct sched_domain *sd_parent
   kernel/sched/fair.c:9962:44: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:10398:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] sd @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:10398:9: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:10398:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:4693:31: sparse: sparse: marked inline, but without a definition
   kernel/sched/fair.c: note: in included file:
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
>> kernel/sched/fair.c:9317:19: sparse: sparse: incompatible types in comparison expression (different type sizes):
>> kernel/sched/fair.c:9317:19: sparse:    int *
>> kernel/sched/fair.c:9317:19: sparse:    long *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *

vim +9317 kernel/sched/fair.c

  9267	
  9268	static inline void update_idle_cpu_scan(struct lb_env *env,
  9269						unsigned long sum_util)
  9270	{
  9271		struct sched_domain_shared *sd_share;
  9272		int nr_scan, nr_llc, x, y;
  9273	
  9274		if (!sched_feat(SIS_UTIL))
  9275			return;
  9276		/*
  9277		 * Update the number of CPUs to scan in LLC domain, which could
  9278		 * be used as a hint in select_idle_cpu(). The update of this hint
  9279		 * occurs during periodic load balancing, rather than frequent
  9280		 * newidle balance.
  9281		 */
  9282		nr_llc = per_cpu(sd_llc_size, env->dst_cpu);
  9283		if (env->idle == CPU_NEWLY_IDLE ||
  9284		    env->sd->span_weight != nr_llc)
  9285			return;
  9286	
  9287		sd_share = rcu_dereference(per_cpu(sd_llc_shared, env->dst_cpu));
  9288		if (!sd_share)
  9289			return;
  9290	
  9291		/*
  9292		 * The number of CPUs to search drops as sum_util increases, when
  9293		 * sum_util hits 85% or above, the scan stops.
  9294		 * The reason to choose 85% as the threshold is because this is the
  9295		 * imbalance_pct(117) when a LLC sched group is overloaded.
  9296		 *
  9297		 * let y = 1 - (x/0.85)^2                                         [1]
  9298		 *
  9299		 * y is the ratio of CPUs to be scanned in the LLC
  9300		 * domain, x is the ratio of sum_util compared to the
  9301		 * CPU capacity:
  9302		 *
  9303		 * x = sum_util / (nr_llc * SCHED_CAPACITY_SCALE)                 [2]
  9304		 *
  9305		 * Scale x by SCHED_CAPACITY_SCALE and [2] becomes:
  9306		 *
  9307		 * x = sum_util / nr_llc                                          [3]
  9308		 *
  9309		 * and [1] becomes:
  9310		 *
  9311		 * y = (SCHED_CAPACITY_SCALE - (x*x)/740) / SCHED_CAPACITY_SCALE  [4]
  9312		 *
  9313		 * then the number of CPUs to scan is nr_scan = nr_llc * y
  9314		 */
  9315		x = sum_util / nr_llc;
  9316		y = SCHED_CAPACITY_SCALE - (x * x) / 740;
> 9317		nr_scan = max(0, nr_llc * y  / SCHED_CAPACITY_SCALE);
  9318		WRITE_ONCE(sd_share->nr_idle_scan, nr_scan);
  9319	}
  9320	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

                 reply	other threads:[~2022-05-10 12:01 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202205101914.mxQiTOkX-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=yu.c.chen@intel.com \
    /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.