[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202601160433.z2rdE9lE-lkp@intel.com>
Date: Fri, 16 Jan 2026 05:14:54 +0800
From: kernel test robot <lkp@...el.com>
To: Luigi Rizzo <lrizzo@...gle.com>, Thomas Gleixner <tglx@...utronix.de>,
Marc Zyngier <maz@...nel.org>, Luigi Rizzo <rizzo.unipi@...il.com>,
Paolo Abeni <pabeni@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Sean Christopherson <seanjc@...gle.com>,
Jacob Pan <jacob.jun.pan@...ux.intel.com>
Cc: oe-kbuild-all@...ts.linux.dev,
Linux Memory Management List <linux-mm@...ck.org>,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
Bjorn Helgaas <helgaas@...nel.org>,
Willem de Bruijn <willemb@...gle.com>
Subject: Re: [PATCH v4 3/3] genirq: Adaptive Global Software Interrupt
Moderation (GSIM).
Hi Luigi,
kernel test robot noticed the following build warnings:
[auto build test WARNING on linus/master]
[also build test WARNING on v6.19-rc5]
[cannot apply to tip/irq/core next-20260115]
[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/Luigi-Rizzo/genirq-Add-flags-for-software-interrupt-moderation/20260116-000808
base: linus/master
patch link: https://lore.kernel.org/r/20260115155942.482137-4-lrizzo%40google.com
patch subject: [PATCH v4 3/3] genirq: Adaptive Global Software Interrupt Moderation (GSIM).
config: mips-randconfig-r051-20260116 (https://download.01.org/0day-ci/archive/20260116/202601160433.z2rdE9lE-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9b8addffa70cee5b2acc5454712d9cf78ce45710)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260116/202601160433.z2rdE9lE-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202601160433.z2rdE9lE-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> kernel/irq/irq_moderation.c:432:40: warning: overflow in expression; result is 1'410'065'408 with type 'long' [-Winteger-overflow]
432 | recent = (now - epoch_start_ns) < 10 * NSEC_PER_SEC;
| ~~~^~~~~~~~~~~~~~
1 warning generated.
vim +432 kernel/irq/irq_moderation.c
410
411 /* Print statistics */
412 static void rd_stats(struct seq_file *p)
413 {
414 ulong global_intr_rate = 0, global_irq_high = 0;
415 ulong local_irq_high = 0, hardirq_high = 0;
416 uint delay_us = irq_mod_info.delay_us;
417 u64 now = ktime_get_ns();
418 int cpu, active_cpus = 0;
419
420 seq_printf(p, HEAD_FMT,
421 "# CPU", "irq/s", "loc_irq/s", "cpus", "delay_ns",
422 "irq_hi", "loc_irq_hi", "hardirq_hi", "timer_set",
423 "enqueue", "stray_irq");
424
425 for_each_possible_cpu(cpu) {
426 struct irq_mod_state cur, *m = per_cpu_ptr(&irq_mod_state, cpu);
427 u64 epoch_start_ns;
428 bool recent;
429
430 /* Accumulate and print only recent samples */
431 epoch_start_ns = atomic64_read(&m->epoch_start_ns);
> 432 recent = (now - epoch_start_ns) < 10 * NSEC_PER_SEC;
433
434 /* Copy statistics, will only use some 32bit values, races ok. */
435 data_race(cur = *per_cpu_ptr(&irq_mod_state, cpu));
436 if (recent) {
437 active_cpus++;
438 global_intr_rate += cur.global_intr_rate;
439 }
440
441 global_irq_high += cur.global_irq_high;
442 local_irq_high += cur.local_irq_high;
443 hardirq_high += cur.hardirq_high;
444
445 seq_printf(p, BODY_FMT,
446 cpu,
447 recent * cur.global_intr_rate,
448 recent * cur.local_intr_rate,
449 recent * (cur.scaled_cpu_count + 128) / 256,
450 recent * cur.mod_ns,
451 cur.global_irq_high,
452 cur.local_irq_high,
453 cur.hardirq_high,
454 cur.timer_set,
455 cur.enqueue,
456 cur.stray_irq);
457 }
458
459 seq_printf(p, "\n"
460 "enabled %s\n"
461 "delay_us %u\n"
462 "target_intr_rate %u\n"
463 "hardirq_percent %u\n"
464 "update_ms %u\n"
465 "scale_cpus %u\n",
466 str_yes_no(delay_us > 0),
467 delay_us,
468 irq_mod_info.target_intr_rate, irq_mod_info.hardirq_percent,
469 irq_mod_info.update_ms, irq_mod_info.scale_cpus);
470
471 seq_printf(p,
472 "intr_rate %lu\n"
473 "irq_high %lu\n"
474 "my_irq_high %lu\n"
475 "hardirq_percent_high %lu\n"
476 "total_interrupts %u\n"
477 "total_cpus %u\n",
478 active_cpus ? global_intr_rate / active_cpus : 0,
479 global_irq_high, local_irq_high, hardirq_high,
480 READ_ONCE(*((u32 *)&irq_mod_info.total_intrs)),
481 READ_ONCE(*((u32 *)&irq_mod_info.total_cpus)));
482 }
483
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists