* [riscv:for-next 17/18] arch/riscv/kernel/unaligned_access_speed.c:291:13: warning: 'check_unaligned_access_speed' defined but not used
@ 2026-07-30 9:07 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-07-30 9:07 UTC (permalink / raw)
To: Nam Cao; +Cc: oe-kbuild-all, Paul Walmsley
tree: https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git for-next
head: 03ececaea90889587dac37c802f02a1ea8b61d51
commit: d91f147112ba46e443aac2d45777824362365dcb [17/18] riscv: unaligned: stop using kthread for check_vector_unaligned_access()
config: riscv-randconfig-002-20260730 (https://download.01.org/0day-ci/archive/20260730/202607301618.yrE3EKfS-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 9.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260730/202607301618.yrE3EKfS-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/202607301618.yrE3EKfS-lkp@intel.com/
All warnings (new ones prefixed by >>):
arch/riscv/kernel/unaligned_access_speed.c: In function 'check_unaligned_access_all_cpus':
arch/riscv/kernel/unaligned_access_speed.c:380:24: error: 'check_vector_unaligned_access' undeclared (first use in this function); did you mean 'check_unaligned_access'?
380 | schedule_on_each_cpu(check_vector_unaligned_access);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| check_unaligned_access
arch/riscv/kernel/unaligned_access_speed.c:380:24: note: each undeclared identifier is reported only once for each function it appears in
At top level:
>> arch/riscv/kernel/unaligned_access_speed.c:291:13: warning: 'check_unaligned_access_speed' defined but not used [-Wunused-function]
291 | static void check_unaligned_access_speed(struct work_struct *work __always_unused)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/check_unaligned_access_speed +291 arch/riscv/kernel/unaligned_access_speed.c
289
290 #else /* CONFIG_RISCV_PROBE_VECTOR_UNALIGNED_ACCESS */
> 291 static void check_unaligned_access_speed(struct work_struct *work __always_unused)
292 {
293 }
294 #endif
295
296 static int riscv_online_cpu_vec(unsigned int cpu)
297 {
298 if (unaligned_vector_speed_param != RISCV_HWPROBE_MISALIGNED_VECTOR_UNKNOWN) {
299 per_cpu(vector_misaligned_access, cpu) = unaligned_vector_speed_param;
300 return 0;
301 }
302
303 #ifdef CONFIG_RISCV_PROBE_VECTOR_UNALIGNED_ACCESS
304 if (per_cpu(vector_misaligned_access, cpu) != RISCV_HWPROBE_MISALIGNED_VECTOR_UNKNOWN)
305 return 0;
306
307 check_vector_unaligned_access_emulated(NULL);
308 check_vector_unaligned_access(NULL);
309 #endif
310
311 return 0;
312 }
313
314 static const char * const speed_str[] __initconst = { NULL, NULL, "slow", "fast", "unsupported" };
315
316 static int __init set_unaligned_scalar_speed_param(char *str)
317 {
318 if (!strcmp(str, speed_str[RISCV_HWPROBE_MISALIGNED_SCALAR_SLOW]))
319 unaligned_scalar_speed_param = RISCV_HWPROBE_MISALIGNED_SCALAR_SLOW;
320 else if (!strcmp(str, speed_str[RISCV_HWPROBE_MISALIGNED_SCALAR_FAST]))
321 unaligned_scalar_speed_param = RISCV_HWPROBE_MISALIGNED_SCALAR_FAST;
322 else if (!strcmp(str, speed_str[RISCV_HWPROBE_MISALIGNED_SCALAR_UNSUPPORTED]))
323 unaligned_scalar_speed_param = RISCV_HWPROBE_MISALIGNED_SCALAR_UNSUPPORTED;
324 else
325 return -EINVAL;
326
327 return 1;
328 }
329 __setup("unaligned_scalar_speed=", set_unaligned_scalar_speed_param);
330
331 static int __init set_unaligned_vector_speed_param(char *str)
332 {
333 if (!strcmp(str, speed_str[RISCV_HWPROBE_MISALIGNED_VECTOR_SLOW]))
334 unaligned_vector_speed_param = RISCV_HWPROBE_MISALIGNED_VECTOR_SLOW;
335 else if (!strcmp(str, speed_str[RISCV_HWPROBE_MISALIGNED_VECTOR_FAST]))
336 unaligned_vector_speed_param = RISCV_HWPROBE_MISALIGNED_VECTOR_FAST;
337 else if (!strcmp(str, speed_str[RISCV_HWPROBE_MISALIGNED_VECTOR_UNSUPPORTED]))
338 unaligned_vector_speed_param = RISCV_HWPROBE_MISALIGNED_VECTOR_UNSUPPORTED;
339 else
340 return -EINVAL;
341
342 return 1;
343 }
344 __setup("unaligned_vector_speed=", set_unaligned_vector_speed_param);
345
346 static int __init check_unaligned_access_all_cpus(void)
347 {
348 int cpu;
349
350 unaligned_access_init();
351
352 if (unaligned_scalar_speed_param != RISCV_HWPROBE_MISALIGNED_SCALAR_UNKNOWN) {
353 pr_info("scalar unaligned access speed set to '%s' (%lu) by command line\n",
354 speed_str[unaligned_scalar_speed_param], unaligned_scalar_speed_param);
355 for_each_online_cpu(cpu)
356 per_cpu(misaligned_access_speed, cpu) = unaligned_scalar_speed_param;
357 } else if (!check_unaligned_access_emulated_all_cpus()) {
358 check_unaligned_access_speed_all_cpus();
359 }
360
361 if (unaligned_vector_speed_param != RISCV_HWPROBE_MISALIGNED_VECTOR_UNKNOWN) {
362 if (!has_vector() &&
363 unaligned_vector_speed_param != RISCV_HWPROBE_MISALIGNED_VECTOR_UNSUPPORTED) {
364 pr_warn("vector support is not available, ignoring unaligned_vector_speed=%s\n",
365 speed_str[unaligned_vector_speed_param]);
366 } else {
367 pr_info("vector unaligned access speed set to '%s' (%lu) by command line\n",
368 speed_str[unaligned_vector_speed_param], unaligned_vector_speed_param);
369 }
370 }
371
372 if (!has_vector())
373 unaligned_vector_speed_param = RISCV_HWPROBE_MISALIGNED_VECTOR_UNSUPPORTED;
374
375 if (unaligned_vector_speed_param != RISCV_HWPROBE_MISALIGNED_VECTOR_UNKNOWN) {
376 for_each_online_cpu(cpu)
377 per_cpu(vector_misaligned_access, cpu) = unaligned_vector_speed_param;
378 } else if (!check_vector_unaligned_access_emulated_all_cpus() &&
379 IS_ENABLED(CONFIG_RISCV_PROBE_VECTOR_UNALIGNED_ACCESS)) {
> 380 schedule_on_each_cpu(check_vector_unaligned_access);
381 }
382
383 /*
384 * Setup hotplug callbacks for any new CPUs that come online or go
385 * offline.
386 */
387 cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, "riscv:online",
388 riscv_online_cpu, riscv_offline_cpu);
389 cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, "riscv:online",
390 riscv_online_cpu_vec, NULL);
391
392 cpus_read_lock();
393 modify_unaligned_access_branches(cpu_online_mask);
394 cpus_read_unlock();
395
396 return 0;
397 }
398
--
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-07-30 9:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-30 9:07 [riscv:for-next 17/18] arch/riscv/kernel/unaligned_access_speed.c:291:13: warning: 'check_unaligned_access_speed' defined but not used 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.