All of lore.kernel.org
 help / color / mirror / Atom feed
* [zen:7.2/prjc 57/121] kernel/sched/alt_core.c:6468:50: error: passing argument 2 of 'cpumask_weight_and' makes pointer from integer without a cast
@ 2026-10-06 14:24 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-10-06 14:24 UTC (permalink / raw)
  To: steven; +Cc: oe-kbuild-all

Hi Steven,

FYI, the error/warning still remains.

tree:   https://github.com/zen-kernel/zen-kernel 7.2/prjc
head:   2bfd868afb6d8c6d606a189951e4680cd4ca98e2
commit: 46ef77681e026cafee56306f59871ab4760809af [57/121] sched/alt: Auto-detect heterogeneous CPU topology
config: um-allyesconfig (https://download.01.org/0day-ci/archive/20261006/202610062230.eUFlxcIF-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261006/202610062230.eUFlxcIF-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610062230.eUFlxcIF-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from include/linux/bitmap.h:11,
                    from include/linux/cpumask.h:11,
                    from include/linux/smp.h:13,
                    from include/linux/lockdep.h:14,
                    from include/linux/spinlock.h:63,
                    from include/linux/sched.h:38,
                    from kernel/sched/alt_core.c:15:
   kernel/sched/alt_core.c: In function 'sched_assign_llc_id':
   kernel/sched/alt_core.c:6402:32: error: implicit declaration of function 'cpu_coregroup_mask' [-Wimplicit-function-declaration]
    6402 |         for_each_cpu_and(peer, cpu_coregroup_mask(cpu), active_mask) {
         |                                ^~~~~~~~~~~~~~~~~~
   include/linux/find.h:588:41: note: in definition of macro 'for_each_and_bit'
     588 |              (bit) = find_next_and_bit((addr1), (addr2), (size), (bit)), (bit) < (size);\
         |                                         ^~~~~
   include/linux/cpumask.h:412:31: note: in expansion of macro 'cpumask_bits'
     412 |         for_each_and_bit(cpu, cpumask_bits(mask1), cpumask_bits(mask2), small_cpumask_bits)
         |                               ^~~~~~~~~~~~
   kernel/sched/alt_core.c:6402:9: note: in expansion of macro 'for_each_cpu_and'
    6402 |         for_each_cpu_and(peer, cpu_coregroup_mask(cpu), active_mask) {
         |         ^~~~~~~~~~~~~~~~
   include/linux/cpumask_types.h:18:37: error: invalid type argument of '->' (have 'int')
      18 | #define cpumask_bits(maskp) ((maskp)->bits)
         |                                     ^~
   include/linux/find.h:588:41: note: in definition of macro 'for_each_and_bit'
     588 |              (bit) = find_next_and_bit((addr1), (addr2), (size), (bit)), (bit) < (size);\
         |                                         ^~~~~
   include/linux/cpumask.h:412:31: note: in expansion of macro 'cpumask_bits'
     412 |         for_each_and_bit(cpu, cpumask_bits(mask1), cpumask_bits(mask2), small_cpumask_bits)
         |                               ^~~~~~~~~~~~
   kernel/sched/alt_core.c:6402:9: note: in expansion of macro 'for_each_cpu_and'
    6402 |         for_each_cpu_and(peer, cpu_coregroup_mask(cpu), active_mask) {
         |         ^~~~~~~~~~~~~~~~
   include/linux/find.h:588:72: warning: left-hand operand of comma expression has no effect [-Wunused-value]
     588 |              (bit) = find_next_and_bit((addr1), (addr2), (size), (bit)), (bit) < (size);\
         |                                                                        ^
   include/linux/cpumask.h:412:9: note: in expansion of macro 'for_each_and_bit'
     412 |         for_each_and_bit(cpu, cpumask_bits(mask1), cpumask_bits(mask2), small_cpumask_bits)
         |         ^~~~~~~~~~~~~~~~
   kernel/sched/alt_core.c:6402:9: note: in expansion of macro 'for_each_cpu_and'
    6402 |         for_each_cpu_and(peer, cpu_coregroup_mask(cpu), active_mask) {
         |         ^~~~~~~~~~~~~~~~
   kernel/sched/alt_core.c: In function 'sched_build_topology_cpumask':
   kernel/sched/alt_core.c:6455:21: error: passing argument 3 of 'cpumask_and' makes pointer from integer without a cast [-Wint-conversion]
    6455 |                     cpu_coregroup_mask(cpu));
         |                     ^~~~~~~~~~~~~~~~~~~~~~~
         |                     |
         |                     int
   include/linux/cpumask.h:716:40: note: expected 'const struct cpumask *' but argument is of type 'int'
     716 |                  const struct cpumask *src2p)
         |                  ~~~~~~~~~~~~~~~~~~~~~~^~~~~
   In file included from include/linux/nodemask.h:92,
                    from include/linux/numa.h:6,
                    from include/linux/cpumask.h:15:
>> kernel/sched/alt_core.c:6468:50: error: passing argument 2 of 'cpumask_weight_and' makes pointer from integer without a cast [-Wint-conversion]
    6468 |                                                  cpu_coregroup_mask(cpu)));
         |                                                  ^~~~~~~~~~~~~~~~~~~~~~~
         |                                                  |
         |                                                  int
   include/linux/minmax.h:86:38: note: in definition of macro '__cmp_once_unique'
      86 |         ({ type ux = (x); type uy = (y); __cmp(op, ux, uy); })
         |                                      ^
   include/linux/minmax.h:169:27: note: in expansion of macro '__cmp_once'
     169 | #define max_t(type, x, y) __cmp_once(max, type, x, y)
         |                           ^~~~~~~~~~
   kernel/sched/alt_core.c:6467:17: note: in expansion of macro 'max_t'
    6467 |                 max_t(int, 1, cpumask_weight_and(active_mask,
         |                 ^~~~~
   include/linux/cpumask.h:883:84: note: expected 'const struct cpumask *' but argument is of type 'int'
     883 | unsigned int cpumask_weight_and(const struct cpumask *srcp1, const struct cpumask *srcp2)
         |                                                              ~~~~~~~~~~~~~~~~~~~~~~^~~~~
   kernel/sched/alt_core.c: In function 'sched_topology_add_cpu':
>> kernel/sched/alt_core.c:6486:41: error: passing argument 2 of 'cpumask_test_cpu' makes pointer from integer without a cast [-Wint-conversion]
    6486 |         if (cpumask_test_cpu(added_cpu, cpu_coregroup_mask(cpu)))
         |                                         ^~~~~~~~~~~~~~~~~~~~~~~
         |                                         |
         |                                         int
   include/linux/cpumask.h:649:54: note: expected 'const struct cpumask *' but argument is of type 'int'
     649 | bool cpumask_test_cpu(int cpu, const struct cpumask *cpumask)
         |                                ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
   kernel/sched/alt_core.c: In function 'sched_topology_update_llc_size':
   include/linux/cpumask_types.h:18:37: error: invalid type argument of '->' (have 'int')
      18 | #define cpumask_bits(maskp) ((maskp)->bits)
         |                                     ^~
   include/linux/find.h:588:41: note: in definition of macro 'for_each_and_bit'
     588 |              (bit) = find_next_and_bit((addr1), (addr2), (size), (bit)), (bit) < (size);\
         |                                         ^~~~~
   include/linux/cpumask.h:412:31: note: in expansion of macro 'cpumask_bits'
     412 |         for_each_and_bit(cpu, cpumask_bits(mask1), cpumask_bits(mask2), small_cpumask_bits)
         |                               ^~~~~~~~~~~~
   kernel/sched/alt_core.c:6509:9: note: in expansion of macro 'for_each_cpu_and'
    6509 |         for_each_cpu_and(cpu, cpu_coregroup_mask(changed_cpu), active_mask)
         |         ^~~~~~~~~~~~~~~~
   include/linux/find.h:588:72: warning: left-hand operand of comma expression has no effect [-Wunused-value]
     588 |              (bit) = find_next_and_bit((addr1), (addr2), (size), (bit)), (bit) < (size);\
         |                                                                        ^
   include/linux/cpumask.h:412:9: note: in expansion of macro 'for_each_and_bit'
     412 |         for_each_and_bit(cpu, cpumask_bits(mask1), cpumask_bits(mask2), small_cpumask_bits)
         |         ^~~~~~~~~~~~~~~~
   kernel/sched/alt_core.c:6509:9: note: in expansion of macro 'for_each_cpu_and'
    6509 |         for_each_cpu_and(cpu, cpu_coregroup_mask(changed_cpu), active_mask)
         |         ^~~~~~~~~~~~~~~~
   kernel/sched/alt_core.c:6512:58: error: passing argument 2 of 'cpumask_weight_and' makes pointer from integer without a cast [-Wint-conversion]
    6512 |                                                          cpu_coregroup_mask(cpu)));
         |                                                          ^~~~~~~~~~~~~~~~~~~~~~~
         |                                                          |
         |                                                          int
   include/linux/minmax.h:86:38: note: in definition of macro '__cmp_once_unique'
      86 |         ({ type ux = (x); type uy = (y); __cmp(op, ux, uy); })
         |                                      ^
   include/linux/minmax.h:169:27: note: in expansion of macro '__cmp_once'
     169 | #define max_t(type, x, y) __cmp_once(max, type, x, y)
         |                           ^~~~~~~~~~
   kernel/sched/alt_core.c:6511:25: note: in expansion of macro 'max_t'
    6511 |                         max_t(int, 1, cpumask_weight_and(active_mask,
         |                         ^~~~~
   include/linux/cpumask.h:883:84: note: expected 'const struct cpumask *' but argument is of type 'int'
     883 | unsigned int cpumask_weight_and(const struct cpumask *srcp1, const struct cpumask *srcp2)
         |                                                              ~~~~~~~~~~~~~~~~~~~~~~^~~~~
   kernel/sched/alt_core.c: In function 'sched_topology_activate_update':
   kernel/sched/alt_core.c:6552:48: error: passing argument 2 of 'cpumask_test_cpu' makes pointer from integer without a cast [-Wint-conversion]
    6552 |                 if (cpumask_test_cpu(incoming, cpu_coregroup_mask(cpu)))
         |                                                ^~~~~~~~~~~~~~~~~~~~~~~
         |                                                |
         |                                                int
   include/linux/cpumask.h:649:54: note: expected 'const struct cpumask *' but argument is of type 'int'
     649 | bool cpumask_test_cpu(int cpu, const struct cpumask *cpumask)
         |                                ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
   kernel/sched/alt_core.c:6556:58: error: passing argument 2 of 'cpumask_weight_and' makes pointer from integer without a cast [-Wint-conversion]
    6556 |                                                          cpu_coregroup_mask(cpu)));
         |                                                          ^~~~~~~~~~~~~~~~~~~~~~~
         |                                                          |
         |                                                          int
   include/linux/minmax.h:86:38: note: in definition of macro '__cmp_once_unique'
      86 |         ({ type ux = (x); type uy = (y); __cmp(op, ux, uy); })
         |                                      ^
   include/linux/minmax.h:169:27: note: in expansion of macro '__cmp_once'
     169 | #define max_t(type, x, y) __cmp_once(max, type, x, y)
         |                           ^~~~~~~~~~
   kernel/sched/alt_core.c:6554:33: note: in expansion of macro 'max_t'
    6554 |                                 max_t(int, 1,
         |                                 ^~~~~
   include/linux/cpumask.h:883:84: note: expected 'const struct cpumask *' but argument is of type 'int'
     883 | unsigned int cpumask_weight_and(const struct cpumask *srcp1, const struct cpumask *srcp2)
         |                                                              ~~~~~~~~~~~~~~~~~~~~~~^~~~~


vim +/cpumask_weight_and +6468 kernel/sched/alt_core.c

  6437	
  6438	static bool sched_build_topology_cpumask(int cpu,
  6439						 const struct cpumask *active_mask)
  6440	{
  6441		cpumask_t *topo = per_cpu(sched_cpu_topo_masks, cpu);
  6442		bool llc_id_merged;
  6443		int level;
  6444	
  6445		for (level = 0; level < NR_CPU_AFFINITY_LEVELS; level++)
  6446			cpumask_clear(topo + level);
  6447	
  6448	#ifdef CONFIG_SCHED_SMT
  6449		cpumask_and(topo + SCHED_CPU_AFFINITY_SMT, active_mask,
  6450			    topology_sibling_cpumask(cpu));
  6451	#endif /* CONFIG_SCHED_SMT */
  6452		cpumask_and(topo + SCHED_CPU_AFFINITY_CLUSTER, active_mask,
  6453			    topology_cluster_cpumask(cpu));
  6454		cpumask_and(topo + SCHED_CPU_AFFINITY_LLC, active_mask,
  6455			    cpu_coregroup_mask(cpu));
  6456		cpumask_and(topo + SCHED_CPU_AFFINITY_CORE, active_mask,
  6457			    topology_core_cpumask(cpu));
  6458		cpumask_copy(topo + SCHED_CPU_AFFINITY_OTHER, active_mask);
  6459	
  6460		per_cpu(sched_cpu_llc_mask, cpu) =
  6461			topo + SCHED_CPU_AFFINITY_LLC;
  6462		per_cpu(sched_cpu_topo_end_mask, cpu) =
  6463			topo + NR_CPU_AFFINITY_LEVELS;
  6464	
  6465		llc_id_merged = sched_assign_llc_id(cpu, active_mask);
  6466		per_cpu(sd_llc_size, cpu) =
> 6467			max_t(int, 1, cpumask_weight_and(active_mask,
> 6468							 cpu_coregroup_mask(cpu)));
  6469		per_cpu(sched_cpu_topology_valid, cpu) = true;
  6470	
  6471		return llc_id_merged;
  6472	}
  6473	
  6474	static void sched_topology_add_cpu(int cpu, int added_cpu)
  6475	{
  6476		cpumask_t *topo = per_cpu(sched_cpu_topo_masks, cpu);
  6477	
  6478	#ifdef CONFIG_SCHED_SMT
  6479		if (cpumask_test_cpu(added_cpu, topology_sibling_cpumask(cpu)))
  6480			cpumask_set_cpu(added_cpu,
  6481					topo + SCHED_CPU_AFFINITY_SMT);
  6482	#endif
  6483		if (cpumask_test_cpu(added_cpu, topology_cluster_cpumask(cpu)))
  6484			cpumask_set_cpu(added_cpu,
  6485					topo + SCHED_CPU_AFFINITY_CLUSTER);
> 6486		if (cpumask_test_cpu(added_cpu, cpu_coregroup_mask(cpu)))
  6487			cpumask_set_cpu(added_cpu,
  6488					topo + SCHED_CPU_AFFINITY_LLC);
  6489		if (cpumask_test_cpu(added_cpu, topology_core_cpumask(cpu)))
  6490			cpumask_set_cpu(added_cpu,
  6491					topo + SCHED_CPU_AFFINITY_CORE);
  6492		cpumask_set_cpu(added_cpu, topo + SCHED_CPU_AFFINITY_OTHER);
  6493	}
  6494	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-10-06 14:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-06 14:24 [zen:7.2/prjc 57/121] kernel/sched/alt_core.c:6468:50: error: passing argument 2 of 'cpumask_weight_and' makes pointer from integer without a cast kernel test robot

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.