Messages in this thread | | | Date | Wed, 31 Jan 2024 12:28:49 +0800 | From | kernel test robot <> | Subject | Re: [PATCHv2 1/2] watchdog/softlockup: low-overhead detection of interrupt storm |
| |
Hi Bitao,
kernel test robot noticed the following build warnings:
[auto build test WARNING on akpm-mm/mm-everything] [also build test WARNING on linus/master v6.8-rc2 next-20240131] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Bitao-Hu/watchdog-softlockup-low-overhead-detection-of-interrupt-storm/20240130-155029 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/20240130074744.45759-2-yaoma%40linux.alibaba.com patch subject: [PATCHv2 1/2] watchdog/softlockup: low-overhead detection of interrupt storm config: x86_64-randconfig-122-20240130 (https://download.01.org/0day-ci/archive/20240131/202401311206.nS3XM5Li-lkp@intel.com/config) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240131/202401311206.nS3XM5Li-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/202401311206.nS3XM5Li-lkp@intel.com/
sparse warnings: (new ones prefixed by >>) >> kernel/watchdog.c:464:50: sparse: sparse: incorrect type in initializer (different modifiers) @@ expected unsigned char [usertype] ( *utilization )[4] @@ got unsigned char [noderef] [usertype] ( * )[4] @@ kernel/watchdog.c:464:50: sparse: expected unsigned char [usertype] ( *utilization )[4] kernel/watchdog.c:464:50: sparse: got unsigned char [noderef] [usertype] ( * )[4] kernel/watchdog.c:489:50: sparse: sparse: incorrect type in initializer (different modifiers) @@ expected unsigned char [usertype] ( *utilization )[4] @@ got unsigned char [noderef] [usertype] ( * )[4] @@ kernel/watchdog.c:489:50: sparse: expected unsigned char [usertype] ( *utilization )[4] kernel/watchdog.c:489:50: sparse: got unsigned char [noderef] [usertype] ( * )[4]
vim +464 kernel/watchdog.c
459 460 static void update_cpustat(void) 461 { 462 u8 i; 463 u16 *old = this_cpu_ptr(cpustat_old); > 464 u8 (*utilization)[NUM_STATS_PER_GROUP] = this_cpu_ptr(cpustat_utilization); 465 u8 tail = this_cpu_read(cpustat_tail); 466 struct kernel_cpustat kcpustat; 467 u64 *cpustat = kcpustat.cpustat; 468 u16 sample_period_ms = sample_period >> 24LL; /* 2^24ns ~= 16.8ms */ 469 470 kcpustat_cpu_fetch(&kcpustat, smp_processor_id()); 471 for (i = STATS_SYSTEM; i < NUM_STATS_PER_GROUP; i++) { 472 /* 473 * We don't need nanosecond resolution. A granularity of 16ms is 474 * sufficient for our precision, allowing us to use u16 to store 475 * cpustats, which will roll over roughly every ~1000 seconds. 476 * 2^24 ~= 16 * 10^6 477 */ 478 cpustat[idx_to_stat[i]] = lower_16_bits(cpustat[idx_to_stat[i]] >> 24LL); 479 utilization[tail][i] = 100 * (u16)(cpustat[idx_to_stat[i]] - old[i]) 480 / sample_period_ms; 481 old[i] = cpustat[idx_to_stat[i]]; 482 } 483 this_cpu_write(cpustat_tail, (tail + 1) % NUM_STATS_GROUPS); 484 } 485
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
| |