mailweb.openeuler.org
Manage this list

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Kernel

Threads by month
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
kernel@openeuler.org

  • 45 participants
  • 21931 discussions
[openeuler:OLK-6.6 3541/3541] kernel/sched/fair.c:175:5: sparse: sparse: symbol 'sysctl_sched_util_low_pct' was not declared. Should it be static?
by kernel test robot 14 Dec '25

14 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd9eb9b4365b71652b2c2ac58293bea47c9f9302 commit: 2e1dfc02d115143587ccfee1815ad295763050f2 [3541/3541] sched: Adjust wakeup cpu range according CPU util dynamicly config: arm64-randconfig-r113-20251213 (https://download.01.org/0day-ci/archive/20251214/202512140710.cAqdH8JK-lkp@…) compiler: aarch64-linux-gcc (GCC) 12.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140710.cAqdH8JK-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140710.cAqdH8JK-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) kernel/sched/fair.c:143:14: sparse: sparse: symbol 'sysctl_overload_detect_period' was not declared. Should it be static? kernel/sched/fair.c:144:14: sparse: sparse: symbol 'sysctl_offline_wait_interval' was not declared. Should it be static? >> kernel/sched/fair.c:175:5: sparse: sparse: symbol 'sysctl_sched_util_low_pct' was not declared. Should it be static? kernel/sched/fair.c:1256:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_entity const *se @@ got struct sched_entity [noderef] __rcu * @@ kernel/sched/fair.c:1256:34: sparse: expected struct sched_entity const *se kernel/sched/fair.c:1256:34: sparse: got struct sched_entity [noderef] __rcu * kernel/sched/fair.c:3039:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu * @@ kernel/sched/fair.c:3039:13: sparse: expected struct task_struct *tsk kernel/sched/fair.c:3039:13: sparse: got struct task_struct [noderef] __rcu * kernel/sched/fair.c:12740: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:12740:9: sparse: expected struct sched_domain *[assigned] sd kernel/sched/fair.c:12740:9: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c:5891:22: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/fair.c:5891:22: sparse: struct task_struct [noderef] __rcu * kernel/sched/fair.c:5891:22: sparse: struct task_struct * kernel/sched/fair.c:7964: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:7964:20: sparse: expected struct sched_domain *[assigned] sd kernel/sched/fair.c:7964:20: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c:8258: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:8258:9: sparse: expected struct sched_domain *[assigned] tmp kernel/sched/fair.c:8258:9: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c:8367: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:8367:38: sparse: expected struct task_struct *curr kernel/sched/fair.c:8367:38: sparse: got struct task_struct [noderef] __rcu *curr kernel/sched/fair.c:8587:22: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/fair.c:8587:22: sparse: struct task_struct [noderef] __rcu * kernel/sched/fair.c:8587:22: sparse: struct task_struct * kernel/sched/fair.c:8941: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:8941:38: sparse: expected struct task_struct *curr kernel/sched/fair.c:8941:38: sparse: got struct task_struct [noderef] __rcu *curr kernel/sched/fair.c:9934: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:9934:40: sparse: expected struct sched_domain *child kernel/sched/fair.c:9934:40: sparse: got struct sched_domain [noderef] __rcu *child kernel/sched/fair.c:10571:22: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/fair.c:10571:22: sparse: struct task_struct [noderef] __rcu * kernel/sched/fair.c:10571:22: sparse: struct task_struct * kernel/sched/fair.c:12012: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:12012:9: sparse: expected struct sched_domain *[assigned] sd kernel/sched/fair.c:12012:9: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c:11669: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:11669:44: sparse: expected struct sched_domain *sd_parent kernel/sched/fair.c:11669:44: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c:12108: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:12108:9: sparse: expected struct sched_domain *[assigned] sd kernel/sched/fair.c:12108:9: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c:2985:9: sparse: sparse: context imbalance in 'task_numa_placement' - different lock contexts for basic block kernel/sched/fair.c:7180:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@ kernel/sched/fair.c:7180:28: sparse: expected struct sched_domain *sd kernel/sched/fair.c:7180:28: sparse: got struct sched_domain [noderef] __rcu *child kernel/sched/fair.c:7186:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@ kernel/sched/fair.c:7186:28: sparse: expected struct sched_domain *sd kernel/sched/fair.c:7186:28: sparse: got struct sched_domain [noderef] __rcu *child kernel/sched/fair.c:7193:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@ kernel/sched/fair.c:7193:28: sparse: expected struct sched_domain *sd kernel/sched/fair.c:7193:28: sparse: got struct sched_domain [noderef] __rcu *child kernel/sched/fair.c:7201:17: 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:7201:17: sparse: expected struct sched_domain *[assigned] tmp kernel/sched/fair.c:7201:17: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c: note: in included file: kernel/sched/sched.h:2309:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2309:9: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2309:9: sparse: struct task_struct * kernel/sched/sched.h:2145:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2145:25: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2145:25: sparse: struct task_struct * kernel/sched/sched.h:2145:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2145:25: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2145:25: sparse: struct task_struct * vim +/sysctl_sched_util_low_pct +175 kernel/sched/fair.c 168 169 #ifdef CONFIG_QOS_SCHED_DYNAMIC_AFFINITY 170 /* 171 * Low utilization threshold for CPU 172 * 173 * (default: 85%), units: percentage of CPU utilization) 174 */ > 175 int sysctl_sched_util_low_pct = 85; 176 #endif 177 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/iommu/arm-smmu-v3-context.c:569:5: warning: no previous prototype for 'arm_smmu_set_cd_mpam'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Xingang, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 7c01a111ee8606b0c1986bb624808769d4236742 [1942/1942] iommu/arm-smmu-v3: Add support to configure mpam in STE/CD context config: arm64-randconfig-002-20251213 (https://download.01.org/0day-ci/archive/20251214/202512140721.kLxdCMUB-lkp@…) compiler: aarch64-linux-gcc (GCC) 11.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140721.kLxdCMUB-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140721.kLxdCMUB-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/iommu/arm-smmu-v3-context.c:569:5: warning: no previous prototype for 'arm_smmu_set_cd_mpam' [-Wmissing-prototypes] 569 | int arm_smmu_set_cd_mpam(struct iommu_pasid_table_ops *ops, | ^~~~~~~~~~~~~~~~~~~~ -- drivers/iommu/arm-smmu-v3.c:4267:5: warning: no previous prototype for 'arm_smmu_set_dev_mpam' [-Wmissing-prototypes] 4267 | int arm_smmu_set_dev_mpam(struct device *dev, int ssid, int partid, int pmg, | ^~~~~~~~~~~~~~~~~~~~~ >> drivers/iommu/arm-smmu-v3.c:4269: warning: Function parameter or member 'dev' not described in 'arm_smmu_set_dev_mpam' >> drivers/iommu/arm-smmu-v3.c:4269: warning: Function parameter or member 'ssid' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4269: warning: Function parameter or member 'partid' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4269: warning: Function parameter or member 'pmg' not described in 'arm_smmu_set_dev_mpam' >> drivers/iommu/arm-smmu-v3.c:4269: warning: Function parameter or member 's1mpam' not described in 'arm_smmu_set_dev_mpam' vim +/arm_smmu_set_cd_mpam +569 drivers/iommu/arm-smmu-v3-context.c 568 > 569 int arm_smmu_set_cd_mpam(struct iommu_pasid_table_ops *ops, 570 int ssid, int partid, int pmg) 571 { 572 struct arm_smmu_cd_tables *tbl = pasid_ops_to_tables(ops); 573 u64 val; 574 __le64 *cdptr = arm_smmu_get_cd_ptr(tbl, ssid); 575 576 if (!cdptr) 577 return -ENOMEM; 578 579 val = le64_to_cpu(cdptr[5]); 580 val &= ~CTXDESC_CD_5_PARTID_MASK; 581 val |= FIELD_PREP(CTXDESC_CD_5_PARTID_MASK, partid); 582 val &= ~CTXDESC_CD_5_PMG_MASK; 583 val |= FIELD_PREP(CTXDESC_CD_5_PMG_MASK, pmg); 584 WRITE_ONCE(cdptr[5], cpu_to_le64(val)); 585 586 iommu_pasid_flush(&tbl->pasid, ssid, true); 587 588 return 0; 589 } 590 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1941/1941] kernel/cgroup/cgroup.c:2240: warning: Excess function parameter 'lock_threadgroup' description in 'cgroup_attach_lock'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Tejun, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 4924308a1ca9cc2f791398836a8744c22078ffbd [1941/1941] cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251213/202512132306.9jtRj6o7-lkp@…) compiler: aarch64-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512132306.9jtRj6o7-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512132306.9jtRj6o7-lkp@intel.com/ All warnings (new ones prefixed by >>): >> kernel/cgroup/cgroup.c:2240: warning: Excess function parameter 'lock_threadgroup' description in 'cgroup_attach_lock' >> kernel/cgroup/cgroup.c:2250: warning: Excess function parameter 'lock_threadgroup' description in 'cgroup_attach_unlock' vim +2240 kernel/cgroup/cgroup.c 2215 2216 /** 2217 * cgroup_attach_lock - Lock for ->attach() 2218 * @lock_threadgroup: whether to down_write cgroup_threadgroup_rwsem 2219 * 2220 * cgroup migration sometimes needs to stabilize threadgroups against forks and 2221 * exits by write-locking cgroup_threadgroup_rwsem. However, some ->attach() 2222 * implementations (e.g. cpuset), also need to disable CPU hotplug. 2223 * Unfortunately, letting ->attach() operations acquire cpus_read_lock() can 2224 * lead to deadlocks. 2225 * 2226 * Bringing up a CPU may involve creating and destroying tasks which requires 2227 * read-locking threadgroup_rwsem, so threadgroup_rwsem nests inside 2228 * cpus_read_lock(). If we call an ->attach() which acquires the cpus lock while 2229 * write-locking threadgroup_rwsem, the locking order is reversed and we end up 2230 * waiting for an on-going CPU hotplug operation which in turn is waiting for 2231 * the threadgroup_rwsem to be released to create new tasks. For more details: 2232 * 2233 * http://lkml.kernel.org/r/20220711174629.uehfmqegcwn2lqzu@wubuntu 2234 * 2235 * Resolve the situation by always acquiring cpus_read_lock() before optionally 2236 * write-locking cgroup_threadgroup_rwsem. This allows ->attach() to assume that 2237 * CPU hotplug is disabled on entry. 2238 */ 2239 static void cgroup_attach_lock(void) > 2240 { 2241 cpus_read_lock(); 2242 percpu_down_write(&cgroup_threadgroup_rwsem); 2243 } 2244 2245 /** 2246 * cgroup_attach_unlock - Undo cgroup_attach_lock() 2247 * @lock_threadgroup: whether to up_write cgroup_threadgroup_rwsem 2248 */ 2249 static void cgroup_attach_unlock(void) > 2250 { 2251 percpu_up_write(&cgroup_threadgroup_rwsem); 2252 cpus_read_unlock(); 2253 } 2254 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/md/bcache/btree.h:386:14: warning: redefinition of typedef 'btree_map_keys_fn' is a C11 feature
by kernel test robot 14 Dec '25

14 Dec '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: b4a620ff5be6873f1669fa06c90cd15a0d569021 [1942/1942] make bch_btree_check() to be multiple threads config: x86_64-randconfig-006-20251213 (https://download.01.org/0day-ci/archive/20251214/202512140641.mYQpHQXV-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140641.mYQpHQXV-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140641.mYQpHQXV-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:354:9: note: previous definition is here 354 | #define __SANITIZE_ADDRESS__ 1 | ^ In file included from drivers/md/bcache/super.c:12: >> drivers/md/bcache/btree.h:386:14: warning: redefinition of typedef 'btree_map_keys_fn' is a C11 feature [-Wtypedef-redefinition] 386 | typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, | ^ drivers/md/bcache/btree.h:288:14: note: previous definition is here 288 | typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, | ^ 2 warnings generated. -- In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:354:9: note: previous definition is here 354 | #define __SANITIZE_ADDRESS__ 1 | ^ In file included from drivers/md/bcache/acache.c:18: In file included from drivers/md/bcache/request.h:4: >> drivers/md/bcache/btree.h:386:14: warning: redefinition of typedef 'btree_map_keys_fn' is a C11 feature [-Wtypedef-redefinition] 386 | typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, | ^ drivers/md/bcache/btree.h:288:14: note: previous definition is here 288 | typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, | ^ drivers/md/bcache/acache.c:73:5: warning: no previous prototype for function 'acache_open' [-Wmissing-prototypes] 73 | int acache_open(struct inode *inode, struct file *filp) | ^ drivers/md/bcache/acache.c:73:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 73 | int acache_open(struct inode *inode, struct file *filp) | ^ | static drivers/md/bcache/acache.c:91:5: warning: no previous prototype for function 'acache_release' [-Wmissing-prototypes] 91 | int acache_release(struct inode *inode, struct file *filp) | ^ drivers/md/bcache/acache.c:91:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 91 | int acache_release(struct inode *inode, struct file *filp) | ^ | static drivers/md/bcache/acache.c:97:9: warning: no previous prototype for function 'read_circ_slice' [-Wmissing-prototypes] 97 | ssize_t read_circ_slice(struct acache_circ *circ, struct acache_info *buf, | ^ drivers/md/bcache/acache.c:97:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 97 | ssize_t read_circ_slice(struct acache_circ *circ, struct acache_info *buf, | ^ | static drivers/md/bcache/acache.c:232:6: warning: no previous prototype for function 'init_acache_circ' [-Wmissing-prototypes] 232 | void init_acache_circ(struct acache_circ **circ, void *startaddr) | ^ drivers/md/bcache/acache.c:232:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 232 | void init_acache_circ(struct acache_circ **circ, void *startaddr) | ^ | static drivers/md/bcache/acache.c:261:5: warning: no previous prototype for function 'acache_prefetch_init' [-Wmissing-prototypes] 261 | int acache_prefetch_init(struct acache_device *adev) | ^ drivers/md/bcache/acache.c:261:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 261 | int acache_prefetch_init(struct acache_device *adev) | ^ | static drivers/md/bcache/acache.c:514:20: warning: no previous prototype for function 'get_cached_device_by_dev' [-Wmissing-prototypes] 514 | struct cached_dev *get_cached_device_by_dev(dev_t dev) | ^ drivers/md/bcache/acache.c:514:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 514 | struct cached_dev *get_cached_device_by_dev(dev_t dev) | ^ | static drivers/md/bcache/acache.c:527:13: warning: no previous prototype for function 'get_bio_by_item' [-Wmissing-prototypes] 527 | struct bio *get_bio_by_item(struct cached_dev *dc, struct acache_info *item) | ^ drivers/md/bcache/acache.c:527:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 527 | struct bio *get_bio_by_item(struct cached_dev *dc, struct acache_info *item) | ^ | static 9 warnings generated. -- In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:354:9: note: previous definition is here 354 | #define __SANITIZE_ADDRESS__ 1 | ^ In file included from drivers/md/bcache/journal.c:9: >> drivers/md/bcache/btree.h:386:14: warning: redefinition of typedef 'btree_map_keys_fn' is a C11 feature [-Wtypedef-redefinition] 386 | typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, | ^ drivers/md/bcache/btree.h:288:14: note: previous definition is here 288 | typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, | ^ drivers/md/bcache/journal.c:320:6: warning: no previous prototype for function 'is_discard_enabled' [-Wmissing-prototypes] 320 | bool is_discard_enabled(struct cache_set *s) | ^ drivers/md/bcache/journal.c:320:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 320 | bool is_discard_enabled(struct cache_set *s) | ^ | static 3 warnings generated. vim +/btree_map_keys_fn +386 drivers/md/bcache/btree.h 48dad8baf92fe8 Kent Overstreet 2013-09-10 385 fc2d5988b5972b Coly Li 2018-08-11 @386 typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, fc2d5988b5972b Coly Li 2018-08-11 387 struct bkey *k); fc2d5988b5972b Coly Li 2018-08-11 388 int bch_btree_map_keys(struct btree_op *op, struct cache_set *c, fc2d5988b5972b Coly Li 2018-08-11 389 struct bkey *from, btree_map_keys_fn *fn, int flags); fc2d5988b5972b Coly Li 2018-08-11 390 :::::: The code at line 386 was first introduced by commit :::::: fc2d5988b5972bced859944986fb36d902ac3698 bcache: add identifier names to arguments of function definitions :::::: TO: Coly Li <colyli(a)suse.de> :::::: CC: Jens Axboe <axboe(a)kernel.dk> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/gpu/drm/nouveau/nvkm/core/object.c:37:19: warning: mixing declarations and code is a C99 extension
by kernel test robot 14 Dec '25

14 Dec '25
Hi Dave, First bad commit (maybe != root cause): tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 901dbb48d8a4f60af427f1ec67ac1247ff219f39 [1942/1942] nouveau: lock the client object tree. config: x86_64-rhel-9.4-rust (https://download.01.org/0day-ci/archive/20251214/202512140652.dui78VGp-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140652.dui78VGp-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140652.dui78VGp-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/gpu/drm/nouveau/nvkm/core/object.c:37:19: warning: mixing declarations and code is a C99 extension [-Wdeclaration-after-statement] 37 | struct rb_node *node = client->objroot.rb_node; | ^ 1 warning generated. vim +37 drivers/gpu/drm/nouveau/nvkm/core/object.c 9274f4a9ba7e70 drivers/gpu/drm/nouveau/core/core/object.c Ben Skeggs 2012-07-06 27 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 28 struct nvkm_object * 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 29 nvkm_object_search(struct nvkm_client *client, u64 handle, 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 30 const struct nvkm_object_func *func) 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 31 { 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 32 struct nvkm_object *object; 901dbb48d8a4f6 drivers/gpu/drm/nouveau/nvkm/core/object.c Dave Airlie 2024-05-09 33 unsigned long flags; 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 34 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 35 if (handle) { 901dbb48d8a4f6 drivers/gpu/drm/nouveau/nvkm/core/object.c Dave Airlie 2024-05-09 36 spin_lock_irqsave(&client->obj_lock, flags); 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 @37 struct rb_node *node = client->objroot.rb_node; 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 38 while (node) { 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 39 object = rb_entry(node, typeof(*object), node); 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 40 if (handle < object->object) 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 41 node = node->rb_left; 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 42 else 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 43 if (handle > object->object) 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 44 node = node->rb_right; 901dbb48d8a4f6 drivers/gpu/drm/nouveau/nvkm/core/object.c Dave Airlie 2024-05-09 45 else { 901dbb48d8a4f6 drivers/gpu/drm/nouveau/nvkm/core/object.c Dave Airlie 2024-05-09 46 spin_unlock_irqrestore(&client->obj_lock, flags); 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 47 goto done; 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 48 } 901dbb48d8a4f6 drivers/gpu/drm/nouveau/nvkm/core/object.c Dave Airlie 2024-05-09 49 } 901dbb48d8a4f6 drivers/gpu/drm/nouveau/nvkm/core/object.c Dave Airlie 2024-05-09 50 spin_unlock_irqrestore(&client->obj_lock, flags); 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 51 return ERR_PTR(-ENOENT); 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 52 } else { 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 53 object = &client->object; 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 54 } 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 55 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 56 done: 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 57 if (unlikely(func && object->func != func)) 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 58 return ERR_PTR(-EINVAL); 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 59 return object; 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 60 } 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 61 :::::: The code at line 37 was first introduced by commit :::::: 110cccff955313c66dccd2817f62368f106d9bf2 drm/nouveau/core/object: support lookup of specific object types :::::: TO: Ben Skeggs <bskeggs(a)redhat.com> :::::: CC: Ben Skeggs <bskeggs(a)redhat.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3540/3540] clang: warning: no such include directory: 'drivers/infiniband/hw/hiroce3/include/mag'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Shuai, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd9eb9b4365b71652b2c2ac58293bea47c9f9302 commit: 5bc8dbb5fdf565625b2eea4080dbd70bade992b8 [3540/3540] infiniband/hw/hiroce3: Add Huawei Intelligent Network Card RDMA Driver config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20251214/202512140527.ZQJQrPyG-lkp@…) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140527.ZQJQrPyG-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140527.ZQJQrPyG-lkp@intel.com/ All warnings (new ones prefixed by >>): >> clang: warning: no such include directory: 'drivers/infiniband/hw/hiroce3/include/mag' [-Wmissing-include-dirs] In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:6: In file included from drivers/net/ethernet/huawei/hinic3/hinic3_hw.h:10: In file included from drivers/net/ethernet/huawei/hinic3/hinic3_crm.h:7: In file included from include/linux/pci.h:1663: In file included from include/linux/dmapool.h:14: In file included from include/linux/scatterlist.h:8: In file included from include/linux/mm.h:2204: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_ccf_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_ccf_format.h:720:9: note: previous '#pragma pack' directive that modifies alignment is here 720 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15: drivers/infiniband/hw/hiroce3/include/rdma/roce_dif_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_verbs_mr_attr.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 15 | #include "roce_dif_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "rdma_ext_ctx_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:377:9: note: previous '#pragma pack' directive that modifies alignment is here 377 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 7 | #include "rdma_context_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:5179:9: note: previous '#pragma pack' directive that modifies alignment is here 5179 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "roce_verbs_pub.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_pub.h:223:9: note: previous '#pragma pack' directive that modifies alignment is here 223 | #pragma pack() | ^ 11 warnings generated. -- >> clang: warning: no such include directory: 'drivers/infiniband/hw/hiroce3/include/mag' [-Wmissing-include-dirs] In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:7: In file included from include/rdma/ib_verbs.h:15: In file included from include/linux/ethtool.h:18: In file included from include/linux/if_ether.h:19: In file included from include/linux/skbuff.h:17: In file included from include/linux/bvec.h:10: In file included from include/linux/highmem.h:8: In file included from include/linux/cacheflush.h:5: In file included from arch/arm64/include/asm/cacheflush.h:11: In file included from include/linux/kgdb.h:19: In file included from include/linux/kprobes.h:28: In file included from include/linux/ftrace.h:13: In file included from include/linux/kallsyms.h:13: In file included from include/linux/mm.h:2204: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:13: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_ccf_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_ccf_format.h:720:9: note: previous '#pragma pack' directive that modifies alignment is here 720 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:13: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15: drivers/infiniband/hw/hiroce3/include/rdma/roce_dif_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_verbs_mr_attr.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:13: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 15 | #include "roce_dif_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:13: drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "rdma_ext_ctx_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:377:9: note: previous '#pragma pack' directive that modifies alignment is here 377 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: drivers/infiniband/hw/hiroce3/cq/roce_cq.h:13:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 13 | #include "rdma_context_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:5179:9: note: previous '#pragma pack' directive that modifies alignment is here 5179 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:15: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "roce_verbs_pub.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_pub.h:223:9: note: previous '#pragma pack' directive that modifies alignment is here 223 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:15: drivers/infiniband/hw/hiroce3/roce.h:30:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 30 | #include "roce_verbs_cmd.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_pub.h:223:9: note: previous '#pragma pack' directive that modifies alignment is here 223 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: drivers/infiniband/hw/hiroce3/cq/roce_cq.h:15:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] -- >> clang: warning: no such include directory: 'drivers/infiniband/hw/hiroce3/include/mag' [-Wmissing-include-dirs] In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:6: In file included from drivers/net/ethernet/huawei/hinic3/hinic3_hw.h:10: In file included from drivers/net/ethernet/huawei/hinic3/hinic3_crm.h:7: In file included from include/linux/pci.h:1663: In file included from include/linux/dmapool.h:14: In file included from include/linux/scatterlist.h:8: In file included from include/linux/mm.h:2204: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_ccf_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_ccf_format.h:720:9: note: previous '#pragma pack' directive that modifies alignment is here 720 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15: drivers/infiniband/hw/hiroce3/include/rdma/roce_dif_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_verbs_mr_attr.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 15 | #include "roce_dif_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "rdma_ext_ctx_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:377:9: note: previous '#pragma pack' directive that modifies alignment is here 377 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 7 | #include "rdma_context_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:5179:9: note: previous '#pragma pack' directive that modifies alignment is here 5179 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "roce_verbs_pub.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_pub.h:223:9: note: previous '#pragma pack' directive that modifies alignment is here 223 | #pragma pack() | ^ drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:63:5: warning: no previous prototype for function 'roce3_cq_hw2sw' [-Wmissing-prototypes] 63 | int roce3_cq_hw2sw(struct roce3_device *rdev, struct roce3_cq *cq) | ^ drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:63:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 63 | int roce3_cq_hw2sw(struct roce3_device *rdev, struct roce3_cq *cq) | ^ | static 12 warnings generated. -- >> clang: warning: no such include directory: 'drivers/infiniband/hw/hiroce3/include/mag' [-Wmissing-include-dirs] In file included from drivers/infiniband/hw/hiroce3/roce_main.c:4: In file included from include/net/ipv6.h:12: In file included from include/linux/ipv6.h:100: In file included from include/linux/tcp.h:17: In file included from include/linux/skbuff.h:17: In file included from include/linux/bvec.h:10: In file included from include/linux/highmem.h:8: In file included from include/linux/cacheflush.h:5: In file included from arch/arm64/include/asm/cacheflush.h:11: In file included from include/linux/kgdb.h:19: In file included from include/linux/kprobes.h:28: In file included from include/linux/ftrace.h:13: In file included from include/linux/kallsyms.h:13: In file included from include/linux/mm.h:2204: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/infiniband/hw/hiroce3/roce_main.c:26: In file included from drivers/infiniband/hw/hiroce3/roce_event.h:20: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_ccf_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_ccf_format.h:720:9: note: previous '#pragma pack' directive that modifies alignment is here 720 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/roce_main.c:26: In file included from drivers/infiniband/hw/hiroce3/roce_event.h:20: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15: drivers/infiniband/hw/hiroce3/include/rdma/roce_dif_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_verbs_mr_attr.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/roce_main.c:26: In file included from drivers/infiniband/hw/hiroce3/roce_event.h:20: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 15 | #include "roce_dif_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/roce_main.c:26: In file included from drivers/infiniband/hw/hiroce3/roce_event.h:20: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "rdma_ext_ctx_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:377:9: note: previous '#pragma pack' directive that modifies alignment is here 377 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/roce_main.c:26: In file included from drivers/infiniband/hw/hiroce3/roce_event.h:20: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 7 | #include "rdma_context_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:5179:9: note: previous '#pragma pack' directive that modifies alignment is here 5179 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/roce_main.c:26: In file included from drivers/infiniband/hw/hiroce3/roce_event.h:20: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "roce_verbs_pub.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_pub.h:223:9: note: previous '#pragma pack' directive that modifies alignment is here 223 | #pragma pack() | ^ drivers/infiniband/hw/hiroce3/roce_main.c:1256:6: warning: no previous prototype for function 'roce3_need_proc_link_event' [-Wmissing-prototypes] .. -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1941/1941] mm/hugetlb.c:1370:6: warning: no previous prototype for 'free_huge_page_to_dhugetlb_pool'
by kernel test robot 14 Dec '25

14 Dec '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 0bc0d0d57edacd59ebe38d05ad9c4b2bc185aa51 [1941/1941] dhugetlb: backport dynamic hugetlb feature config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251213/202512132206.SiQCfPUr-lkp@…) compiler: aarch64-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512132206.SiQCfPUr-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512132206.SiQCfPUr-lkp@intel.com/ All warnings (new ones prefixed by >>): >> mm/hugetlb.c:1370:6: warning: no previous prototype for 'free_huge_page_to_dhugetlb_pool' [-Wmissing-prototypes] 1370 | void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- >> mm/memcontrol.c:5008:6: warning: no previous prototype for 'dhugetlb_pool_is_free' [-Wmissing-prototypes] 5008 | bool dhugetlb_pool_is_free(struct cgroup_subsys_state *css) | ^~~~~~~~~~~~~~~~~~~~~ mm/memcontrol.c:6718: warning: bad line: | 0, otherwise. vim +/free_huge_page_to_dhugetlb_pool +1370 mm/hugetlb.c 1324 1325 #ifdef CONFIG_DYNAMIC_HUGETLB 1326 static void free_huge_page_to_dhugetlb_pool(struct page *page, 1327 bool restore_reserve) 1328 { 1329 struct hstate *h = page_hstate(page); 1330 struct dhugetlb_pool *hpool; 1331 1332 hpool = get_dhugetlb_pool_from_dhugetlb_pagelist(page); 1333 if (unlikely(!hpool)) { 1334 pr_err("dhugetlb: free error: get hpool failed\n"); 1335 return; 1336 } 1337 1338 spin_lock(&hpool->lock); 1339 ClearPagePool(page); 1340 set_compound_page_dtor(page, NULL_COMPOUND_DTOR); 1341 if (!hstate_is_gigantic(h)) { 1342 list_add(&page->lru, &hpool->dhugetlb_2M_freelists); 1343 hpool->free_reserved_2M++; 1344 hpool->used_2M--; 1345 if (restore_reserve) { 1346 hpool->mmap_reserved_2M++; 1347 trace_dhugetlb_acct_memory(hpool, 1348 hpool->mmap_reserved_2M, 1349 DHUGETLB_RESV_2M); 1350 } 1351 trace_dhugetlb_alloc_free(hpool, page, hpool->free_reserved_2M, 1352 DHUGETLB_FREE_2M); 1353 } else { 1354 list_add(&page->lru, &hpool->dhugetlb_1G_freelists); 1355 hpool->free_reserved_1G++; 1356 hpool->used_1G--; 1357 if (restore_reserve) { 1358 hpool->mmap_reserved_1G++; 1359 trace_dhugetlb_acct_memory(hpool, 1360 hpool->mmap_reserved_1G, 1361 DHUGETLB_RESV_1G); 1362 } 1363 trace_dhugetlb_alloc_free(hpool, page, hpool->free_reserved_1G, 1364 DHUGETLB_FREE_1G); 1365 } 1366 spin_unlock(&hpool->lock); 1367 dhugetlb_pool_put(hpool); 1368 } 1369 #else > 1370 void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve) 1371 { 1372 } 1373 #endif 1374 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/md/bcache/acache.c:65:5: warning: no previous prototype for function 'acache_open'
by kernel test robot 14 Dec '25

14 Dec '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 1c09f1b02db96b8277226cbe64fe5bbd185a7149 [1942/1942] bcache: add a framework to perform prefetch config: x86_64-randconfig-006-20251213 (https://download.01.org/0day-ci/archive/20251214/202512140431.6ZelE1lA-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140431.6ZelE1lA-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140431.6ZelE1lA-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:354:9: note: previous definition is here 354 | #define __SANITIZE_ADDRESS__ 1 | ^ >> drivers/md/bcache/acache.c:65:5: warning: no previous prototype for function 'acache_open' [-Wmissing-prototypes] 65 | int acache_open(struct inode *inode, struct file *filp) | ^ drivers/md/bcache/acache.c:65:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 65 | int acache_open(struct inode *inode, struct file *filp) | ^ | static >> drivers/md/bcache/acache.c:83:5: warning: no previous prototype for function 'acache_release' [-Wmissing-prototypes] 83 | int acache_release(struct inode *inode, struct file *filp) | ^ drivers/md/bcache/acache.c:83:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 83 | int acache_release(struct inode *inode, struct file *filp) | ^ | static drivers/md/bcache/acache.c:89:9: warning: no previous prototype for function 'read_circ_slice' [-Wmissing-prototypes] 89 | ssize_t read_circ_slice(struct acache_circ *circ, struct acache_info *buf, | ^ drivers/md/bcache/acache.c:89:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 89 | ssize_t read_circ_slice(struct acache_circ *circ, struct acache_info *buf, | ^ | static >> drivers/md/bcache/acache.c:224:6: warning: no previous prototype for function 'init_acache_circ' [-Wmissing-prototypes] 224 | void init_acache_circ(struct acache_circ **circ, void *startaddr) | ^ drivers/md/bcache/acache.c:224:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 224 | void init_acache_circ(struct acache_circ **circ, void *startaddr) | ^ | static >> drivers/md/bcache/acache.c:253:5: warning: no previous prototype for function 'acache_prefetch_init' [-Wmissing-prototypes] 253 | int acache_prefetch_init(struct acache_device *adev) | ^ drivers/md/bcache/acache.c:253:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 253 | int acache_prefetch_init(struct acache_device *adev) | ^ | static drivers/md/bcache/acache.c:401:20: warning: no previous prototype for function 'get_cached_device_by_dev' [-Wmissing-prototypes] 401 | struct cached_dev *get_cached_device_by_dev(dev_t dev) | ^ drivers/md/bcache/acache.c:401:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 401 | struct cached_dev *get_cached_device_by_dev(dev_t dev) | ^ | static >> drivers/md/bcache/acache.c:414:13: warning: no previous prototype for function 'get_bio_by_item' [-Wmissing-prototypes] 414 | struct bio *get_bio_by_item(struct cached_dev *dc, struct acache_info *item) | ^ drivers/md/bcache/acache.c:414:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 414 | struct bio *get_bio_by_item(struct cached_dev *dc, struct acache_info *item) | ^ | static 8 warnings generated. vim +/acache_open +65 drivers/md/bcache/acache.c 63 64 > 65 int acache_open(struct inode *inode, struct file *filp) 66 { 67 struct mem_reg *dev; 68 69 int minor = MINOR(inode->i_rdev); 70 71 if (minor >= ACACHE_NR_DEVS) 72 return -ENODEV; 73 if (atomic_xchg(&acache_opened_dev, 1)) 74 return -EPERM; 75 76 dev = &adev.mem_regionp[minor]; 77 78 filp->private_data = dev; 79 80 return 0; 81 } 82 > 83 int acache_release(struct inode *inode, struct file *filp) 84 { 85 atomic_dec(&acache_opened_dev); 86 return 0; 87 } 88 89 ssize_t read_circ_slice(struct acache_circ *circ, struct acache_info *buf, 90 size_t size) 91 { 92 unsigned long first, todo, flags; 93 94 spin_lock_irqsave(&circ->lock, flags); 95 96 todo = CIRC_CNT(circ->head, circ->tail, circ->size); 97 if (todo == 0) { 98 spin_unlock_irqrestore(&circ->lock, flags); 99 return 0; 100 } 101 if (todo > size / sizeof(struct acache_info)) 102 todo = size / sizeof(struct acache_info); 103 104 first = CIRC_CNT_TO_END(circ->head, circ->tail, circ->size); 105 if (first > todo) 106 first = todo; 107 108 memcpy(buf, circ->data + circ->tail, first * sizeof(struct acache_info)); 109 if (first < todo) 110 memcpy(buf + first, circ->data, 111 (todo - first) * sizeof(struct acache_info)); 112 circ->tail = (circ->tail + todo) & (circ->size - 1); 113 114 spin_unlock_irqrestore(&circ->lock, flags); 115 return todo * sizeof(struct acache_info); 116 } 117 118 static ssize_t acache_read(struct file *filp, char __user *buf, 119 size_t size, loff_t *ppos) 120 { 121 long ret, cut; 122 123 if (metadata.conntype != ACACHE_READWRITE_CONN) 124 return -EINVAL; 125 126 if (size > MAX_TRANSFER_SIZE) 127 size = MAX_TRANSFER_SIZE; 128 129 ret = read_circ_slice(adev.acache_info_circ, adev.readbuf, size); 130 if (ret <= 0) 131 return ret; 132 133 cut = copy_to_user(buf, adev.readbuf, size); 134 return ret - cut; 135 } 136 137 int process_one_request(struct acache_info *item); 138 static void prefetch_worker_func(struct work_struct *work) 139 { 140 struct prefetch_worker *sw = 141 container_of(work, struct prefetch_worker, work); 142 143 process_one_request(&sw->s); 144 spin_lock(&adev.prefetch_workers_free_list_lock); 145 list_add_tail(&sw->list, &adev.prefetch_workers_free); 146 spin_unlock(&adev.prefetch_workers_free_list_lock); 147 } 148 149 static int queue_prefetch_item(struct acache_info *s) 150 { 151 struct prefetch_worker *sw; 152 153 spin_lock(&adev.prefetch_workers_free_list_lock); 154 sw = list_first_entry_or_null(&adev.prefetch_workers_free, 155 struct prefetch_worker, list); 156 if (!sw) { 157 spin_unlock(&adev.prefetch_workers_free_list_lock); 158 return -1; 159 } 160 list_del_init(&sw->list); 161 spin_unlock(&adev.prefetch_workers_free_list_lock); 162 163 memcpy(&sw->s, s, sizeof(struct acache_info)); 164 INIT_WORK(&sw->work, prefetch_worker_func); 165 queue_work(adev.wq, &sw->work); 166 return 0; 167 } 168 169 static ssize_t acache_write(struct file *filp, const char __user *buf, 170 size_t size, loff_t *ppos) 171 { 172 long cut; 173 int i; 174 175 if (metadata.conntype != ACACHE_READWRITE_CONN) 176 return -EINVAL; 177 178 if (size > MAX_TRANSFER_SIZE) 179 size = MAX_TRANSFER_SIZE; 180 181 cut = copy_from_user(adev.writebuf, buf, size); 182 for (i = 0; i < (size - cut) / sizeof(struct acache_info); i++) { 183 if (queue_prefetch_item(adev.writebuf + i)) 184 break; 185 } 186 return i * sizeof(struct acache_info); 187 } 188 189 static long acache_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) 190 { 191 switch (cmd) { 192 case ACACHE_GET_METADATA: 193 return copy_to_user((struct acache_metadata __user *)arg, 194 &metadata, sizeof(struct acache_metadata)); 195 default: 196 return -EINVAL; 197 } 198 } 199 200 static const struct file_operations acache_fops = { 201 .owner = THIS_MODULE, 202 .read = acache_read, 203 .write = acache_write, 204 .open = acache_open, 205 .release = acache_release, 206 .unlocked_ioctl = acache_ioctl, 207 }; 208 209 void save_circ_item(struct acache_info *data) 210 { 211 unsigned long flags; 212 struct acache_circ *circ = adev.acache_info_circ; 213 214 spin_lock_irqsave(&circ->lock, flags); 215 if (CIRC_SPACE(circ->head, circ->tail, circ->size) >= 1) { 216 memcpy(&circ->data[circ->head], data, sizeof(struct acache_info)); 217 circ->head = (circ->head + 1) & (circ->size - 1); 218 } else { 219 pr_debug("ringbuffer is full; discard new request."); 220 } 221 spin_unlock_irqrestore(&circ->lock, flags); 222 } 223 > 224 void init_acache_circ(struct acache_circ **circ, void *startaddr) 225 { 226 *circ = (struct acache_circ *)startaddr; 227 (*circ)->head = 0; 228 (*circ)->tail = 0; 229 (*circ)->size = ACACHE_CIRC_SIZE; 230 spin_lock_init(&(*circ)->lock); 231 } 232 233 static void acache_free_mem(void) 234 { 235 int i; 236 237 for (i = 0; i < ACACHE_NR_DEVS; i++) 238 vfree(adev.mem_regionp[i].data); 239 240 if (adev.readbuf) { 241 vfree(adev.readbuf); 242 adev.readbuf = NULL; 243 } 244 if (adev.writebuf) { 245 vfree(adev.writebuf); 246 adev.writebuf = NULL; 247 } 248 249 kfree(adev.prefetch_workers); 250 adev.prefetch_workers = NULL; 251 } 252 > 253 int acache_prefetch_init(struct acache_device *adev) 254 { 255 int i; 256 257 if (acache_prefetch_workers <= 0) { 258 pr_err("acache_dev_size should not be less than zero"); 259 return -1; 260 } 261 adev->prefetch_workers = kmalloc_array(acache_prefetch_workers, 262 sizeof(struct prefetch_worker), 263 GFP_KERNEL); 264 if (!adev->prefetch_workers) 265 goto fail_prefetch_workers_alloc; 266 267 INIT_LIST_HEAD(&adev->prefetch_workers_free); 268 spin_lock_init(&adev->prefetch_workers_free_list_lock); 269 for (i = 0; i < acache_prefetch_workers; i++) { 270 spin_lock(&adev->prefetch_workers_free_list_lock); 271 list_add_tail(&adev->prefetch_workers[i].list, 272 &adev->prefetch_workers_free); 273 spin_unlock(&adev->prefetch_workers_free_list_lock); 274 } 275 276 adev->wq = alloc_workqueue("acache_prefetch", WQ_MEM_RECLAIM, 0); 277 if (!adev->wq) 278 goto fail_workqueue_alloc; 279 280 return 0; 281 282 fail_workqueue_alloc: 283 kfree(adev->prefetch_workers); 284 adev->prefetch_workers = NULL; 285 fail_prefetch_workers_alloc: 286 if (adev->wq) 287 destroy_workqueue(adev->wq); 288 return -1; 289 } 290 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/base/node.c:480: warning: Function parameter or member 'cpu_nid' not described in 'register_memory_node_under_compute_node'
by kernel test robot 14 Dec '25

14 Dec '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 9e8e325cfd089c66c9a2f570f99021a62bf0ae09 [1942/1942] node: Link memory nodes to their compute nodes config: arm64-randconfig-002-20251213 (https://download.01.org/0day-ci/archive/20251214/202512140305.nS3EGEEx-lkp@…) compiler: aarch64-linux-gcc (GCC) 11.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140305.nS3EGEEx-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140305.nS3EGEEx-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/base/node.c:568:5: warning: no previous prototype for 'register_mem_block_under_node_early' [-Wmissing-prototypes] 568 | int register_mem_block_under_node_early(struct memory_block *mem_blk, void *arg) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/base/node.c:480: warning: Function parameter or member 'mem_nid' not described in 'register_memory_node_under_compute_node' >> drivers/base/node.c:480: warning: Function parameter or member 'cpu_nid' not described in 'register_memory_node_under_compute_node' >> drivers/base/node.c:480: warning: Excess function parameter 'mem_node' description in 'register_memory_node_under_compute_node' >> drivers/base/node.c:480: warning: Excess function parameter 'cpu_node' description in 'register_memory_node_under_compute_node' vim +480 drivers/base/node.c 463 464 /** 465 * register_memory_node_under_compute_node - link memory node to its compute 466 * node for a given access class. 467 * @mem_node: Memory node number 468 * @cpu_node: Cpu node number 469 * @access: Access class to register 470 * 471 * Description: 472 * For use with platforms that may have separate memory and compute nodes. 473 * This function will export node relationships linking which memory 474 * initiator nodes can access memory targets at a given ranked access 475 * class. 476 */ 477 int register_memory_node_under_compute_node(unsigned int mem_nid, 478 unsigned int cpu_nid, 479 unsigned access) > 480 { 481 struct node *init_node, *targ_node; 482 struct node_access_nodes *initiator, *target; 483 int ret; 484 485 if (!node_online(cpu_nid) || !node_online(mem_nid)) 486 return -ENODEV; 487 488 init_node = node_devices[cpu_nid]; 489 targ_node = node_devices[mem_nid]; 490 initiator = node_init_node_access(init_node, access); 491 target = node_init_node_access(targ_node, access); 492 if (!initiator || !target) 493 return -ENOMEM; 494 495 ret = sysfs_add_link_to_group(&initiator->dev.kobj, "targets", 496 &targ_node->dev.kobj, 497 dev_name(&targ_node->dev)); 498 if (ret) 499 return ret; 500 501 ret = sysfs_add_link_to_group(&target->dev.kobj, "initiators", 502 &init_node->dev.kobj, 503 dev_name(&init_node->dev)); 504 if (ret) 505 goto err; 506 507 return 0; 508 err: 509 sysfs_remove_link_from_group(&initiator->dev.kobj, "targets", 510 dev_name(&targ_node->dev)); 511 return ret; 512 } 513 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] arch/x86/entry/entry_64.o: warning: objtool: .entry.text+0x162: unsupported intra-function call
by kernel test robot 14 Dec '25

14 Dec '25
Hi Josh, First bad commit (maybe != root cause): tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: f3a233591ef81d81ea87a24717d4bee05211a56c [1942/1942] x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n config: x86_64-allnoconfig (https://download.01.org/0day-ci/archive/20251214/202512140208.Qp9EVDfd-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140208.Qp9EVDfd-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140208.Qp9EVDfd-lkp@intel.com/ All warnings (new ones prefixed by >>): arch/x86/entry/entry_64.S: Assembler messages: arch/x86/entry/entry_64.S:1767: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret' >> arch/x86/entry/entry_64.o: warning: objtool: .entry.text+0x162: unsupported intra-function call -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • ...
  • 2194
  • Older →

HyperKitty Powered by HyperKitty