* [kkdwivedi:fermata 47/49] kernel/sched/psi.c:1743:17: sparse: sparse: symbol 'bpf_psi_total' was not declared. Should it be static?
@ 2026-10-02 15:52 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-10-02 15:52 UTC (permalink / raw)
To: Kumar Kartikeya Dwivedi; +Cc: oe-kbuild-all
tree: https://github.com/kkdwivedi/linux fermata
head: babde5051be3840becf5a78de91a0b68a99f0e49
commit: 280ac9dc2846a4a9c68adefea007239b3642d07f [47/49] bpf: Add bpf_psi_total() to read a cgroup's stall time
config: um-randconfig-r2307-20261001 (https://download.01.org/0day-ci/archive/20261002/202610021733.EeeBI3cf-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.4.0-5) 12.4.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261002/202610021733.EeeBI3cf-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/202610021733.EeeBI3cf-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
kernel/sched/topology.c:118:56: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:118:56: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:118:56: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:137:60: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:137:60: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:137:60: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:160:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:160:20: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:160:20: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:470:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct perf_domain *pd @@ got struct perf_domain [noderef] __rcu *pd @@
kernel/sched/topology.c:470:19: sparse: expected struct perf_domain *pd
kernel/sched/topology.c:470:19: sparse: got struct perf_domain [noderef] __rcu *pd
kernel/sched/topology.c:654:49: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:654:49: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:654:49: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:753:50: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:753:50: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:753:50: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:775:55: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain [noderef] __rcu *[noderef] __rcu child @@ got struct sched_domain *[assigned] tmp @@
kernel/sched/topology.c:775:55: sparse: expected struct sched_domain [noderef] __rcu *[noderef] __rcu child
kernel/sched/topology.c:775:55: sparse: got struct sched_domain *[assigned] tmp
kernel/sched/topology.c:788:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:788:29: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/topology.c:788:29: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:793:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:793:20: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:793:20: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:826:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *sd @@
kernel/sched/topology.c:826:13: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/topology.c:826:13: sparse: got struct sched_domain [noderef] __rcu *sd
kernel/sched/topology.c:1069:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *sdp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:1069:38: sparse: expected struct sched_domain *sdp
kernel/sched/topology.c:1069:38: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:1076:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sdp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:1076:21: sparse: expected struct sched_domain *sdp
kernel/sched/topology.c:1076:21: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:1223:70: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1223:70: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:1223:70: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1252:59: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1252:59: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:1252:59: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1298:57: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1298:57: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:1298:57: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1300:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sibling @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1300:25: sparse: expected struct sched_domain *sibling
kernel/sched/topology.c:1300:25: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1308:55: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1308:55: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:1308:55: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1310:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sibling @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1310:25: sparse: expected struct sched_domain *sibling
kernel/sched/topology.c:1310:25: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1380:62: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1380:62: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:1380:62: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1484:40: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1484:40: sparse: expected struct sched_domain *child
kernel/sched/topology.c:1484:40: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1620: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/topology.c:1620:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:1620:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:1877:52: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:1877:52: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:1877:52: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:1987:43: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain [noderef] __rcu *child @@ got struct sched_domain *child @@
kernel/sched/topology.c:1987:43: sparse: expected struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1987:43: sparse: got struct sched_domain *child
kernel/sched/topology.c:2791:31: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain [noderef] __rcu *parent @@ got struct sched_domain *sd @@
kernel/sched/topology.c:2791:31: sparse: expected struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:2791:31: sparse: got struct sched_domain *sd
kernel/sched/topology.c:2919:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *[noderef] __rcu parent @@
kernel/sched/topology.c:2919:16: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:2919:16: sparse: got struct sched_domain [noderef] __rcu *[noderef] __rcu parent
kernel/sched/topology.c:2921:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2921:24: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:2921:24: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:2926:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2926:16: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:2926:16: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:2931:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2931:24: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:2931:24: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:3008:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd_asym @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:3008:25: sparse: expected struct sched_domain *[assigned] sd_asym
kernel/sched/topology.c:3008:25: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:3143:57: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:3143:57: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:3143:57: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:3165:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:3165:28: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:3165:28: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:3191:57: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:3191:57: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:3191:57: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:3444:44: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:3444:44: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:3444:44: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/build_utility.c: note: in included file:
>> kernel/sched/psi.c:1743:17: sparse: sparse: symbol 'bpf_psi_total' was not declared. Should it be static?
kernel/sched/build_utility.c: note: in included file:
kernel/sched/autogroup.c:10:28: sparse: sparse: symbol 'sysctl_sched_autogroup_enabled' was not declared. Should it be static?
kernel/sched/build_utility.c: note: in included file:
kernel/sched/sched.h:2489:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2489:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2489:25: sparse: struct task_struct *
vim +/bpf_psi_total +1743 kernel/sched/psi.c
1729
1730 /**
1731 * bpf_psi_total - Read a cgroup's cumulative pressure stall time
1732 * @cgrp: the cgroup; the root cgroup reads the system-wide group
1733 * @state: the state to read, for example PSI_MEM_SOME or PSI_MEM_FULL
1734 *
1735 * Collects the per-CPU stall times first, so the result is as fresh as a
1736 * read of the cgroup's pressure files, whose total= field it matches. The
1737 * periodic aggregator alone updates the group total only every two seconds,
1738 * which is too coarse for a control loop that ticks faster than that.
1739 *
1740 * Return: the stall time in nanoseconds, or U64_MAX if PSI is disabled, the
1741 * cgroup has no PSI group, or @state is not a per-group state.
1742 */
> 1743 __bpf_kfunc u64 bpf_psi_total(struct cgroup *cgrp, enum psi_states state)
1744 {
1745 struct psi_group *group;
1746 u64 total;
1747
1748 if (static_branch_likely(&psi_disabled))
1749 return U64_MAX;
1750 if ((unsigned int)state >= PSI_NONIDLE)
1751 return U64_MAX;
1752
1753 group = cgroup_psi(cgrp);
1754 if (!group)
1755 return U64_MAX;
1756
1757 mutex_lock(&group->avgs_lock);
1758 collect_percpu_times(group, PSI_AVGS, NULL);
1759 total = group->total[PSI_AVGS][state];
1760 mutex_unlock(&group->avgs_lock);
1761
1762 return total;
1763 }
1764
--
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-02 15:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-02 15:52 [kkdwivedi:fermata 47/49] kernel/sched/psi.c:1743:17: sparse: sparse: symbol 'bpf_psi_total' was not declared. Should it be static? 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.