[openeuler:openEuler-1.0-LTS 1654/1654] kernel/sched/grid/qos.c:84:26: error: no member named 'v' in 'struct mempolicy'

Hi Wang, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 8eff3fb546d3baa728542fd40cdbad086cd9227c commit: ce35ded5d5774f055f6850b15032066ff4936414 [1654/1654] sched: smart grid: init sched_grid_qos structure on QOS purpose config: x86_64-randconfig-122-20250531 (https://download.01.org/0day-ci/archive/20250601/202506010120.CPcodFlN-lkp@i...) compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250601/202506010120.CPcodFlN-lkp@i...) 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/202506010120.CPcodFlN-lkp@intel.com/ All errors (new ones prefixed by >>): kernel/sched/grid/qos.c: note: in included file (through include/linux/kernel.h, include/linux/nodemask.h): /opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type kernel/sched/grid/qos.c: note: in included file (through include/linux/printk.h, include/linux/kernel.h, include/linux/nodemask.h): /opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type kernel/sched/grid/qos.c: note: in included file (through include/linux/string.h, include/linux/bitmap.h, include/linux/nodemask.h): /opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type kernel/sched/grid/qos.c:84:13: sparse: sparse: using member 'v' in incomplete struct mempolicy kernel/sched/grid/qos.c:91:9: sparse: sparse: using member 'v' in incomplete struct mempolicy kernel/sched/grid/qos.c:95:16: sparse: sparse: no member 'il_prev' in struct task_struct kernel/sched/grid/qos.c:97:19: sparse: sparse: no member 'il_prev' in struct task_struct
kernel/sched/grid/qos.c:84:26: error: no member named 'v' in 'struct mempolicy' 84 | if (nodes_equal(policy->v.nodes, *preferred_nmask)) | ~~~~~~ ^ include/linux/nodemask.h:202:20: note: expanded from macro 'nodes_equal' 202 | __nodes_equal(&(src1), &(src2), MAX_NUMNODES) | ^~~~ kernel/sched/grid/qos.c:91:27: error: no member named 'v' in 'struct mempolicy' 91 | nodes_and(nmask, policy->v.nodes, *preferred_nmask); | ~~~~~~ ^ include/linux/nodemask.h:162:26: note: expanded from macro 'nodes_and' 162 | __nodes_and(&(dst), &(src1), &(src2), MAX_NUMNODES) | ^~~~ kernel/sched/grid/qos.c:95:26: error: no member named 'il_prev' in 'struct task_struct' 95 | next = next_node_in(me->il_prev, nmask); | ~~ ^ include/linux/nodemask.h:278:46: note: expanded from macro 'next_node_in' 278 | #define next_node_in(n, src) __next_node_in((n), &(src)) | ^ kernel/sched/grid/qos.c:97:7: error: no member named 'il_prev' in 'struct task_struct' 97 | me->il_prev = next; | ~~ ^ 4 errors generated. -- kernel/sched/grid/qos.c:84:26: error: no member named 'v' in 'struct mempolicy' 84 | if (nodes_equal(policy->v.nodes, *preferred_nmask)) | ~~~~~~ ^ include/linux/nodemask.h:202:20: note: expanded from macro 'nodes_equal' 202 | __nodes_equal(&(src1), &(src2), MAX_NUMNODES) | ^~~~ kernel/sched/grid/qos.c:91:27: error: no member named 'v' in 'struct mempolicy' 91 | nodes_and(nmask, policy->v.nodes, *preferred_nmask); | ~~~~~~ ^ include/linux/nodemask.h:162:26: note: expanded from macro 'nodes_and' 162 | __nodes_and(&(dst), &(src1), &(src2), MAX_NUMNODES) | ^~~~ kernel/sched/grid/qos.c:95:26: error: no member named 'il_prev' in 'struct task_struct' 95 | next = next_node_in(me->il_prev, nmask); | ~~ ^ include/linux/nodemask.h:278:46: note: expanded from macro 'next_node_in' 278 | #define next_node_in(n, src) __next_node_in((n), &(src)) | ^ kernel/sched/grid/qos.c:97:7: error: no member named 'il_prev' in 'struct task_struct' 97 | me->il_prev = next; | ~~ ^ 4 errors generated.
vim +84 kernel/sched/grid/qos.c 68 69 /* dynamic select a more appropriate preferred interleave nid for process */ 70 int sched_grid_preferred_interleave_nid(struct mempolicy *policy) 71 { 72 nodemask_t nmask; 73 unsigned int next; 74 struct task_struct *me = current; 75 nodemask_t *preferred_nmask = NULL; 76 77 if (likely(me->grid_qos)) 78 preferred_nmask = 79 &me->grid_qos->affinity.mem_preferred_node_mask; 80 81 if (!preferred_nmask || !policy) 82 return NUMA_NO_NODE; 83
84 if (nodes_equal(policy->v.nodes, *preferred_nmask)) 85 return NUMA_NO_NODE; 86 /* 87 * We perceive the actual consumption of memory bandwidth 88 * in each node and post a preferred interleave nid in 89 * more appropriate range. 90 */ 91 nodes_and(nmask, policy->v.nodes, *preferred_nmask); 92 if (nodes_empty(nmask)) 93 return NUMA_NO_NODE; 94 95 next = next_node_in(me->il_prev, nmask); 96 if (next < MAX_NUMNODES) 97 me->il_prev = next; 98 return next; 99 } 100
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
participants (1)
-
kernel test robot