[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202601152136.LGHBo3k1-lkp@intel.com>
Date: Thu, 15 Jan 2026 22:00:49 +0800
From: kernel test robot <lkp@...el.com>
To: Ciju Rajan K <crajank@...dia.com>, hdegoede@...hat.com,
ilpo.jarvinen@...ux.intel.com, tglx@...utronix.de
Cc: oe-kbuild-all@...ts.linux.dev, christophe.jaillet@...adoo.fr,
andriy.shevchenko@...ux.intel.com, vadimp@...dia.com,
platform-driver-x86@...r.kernel.org, linux-kernel@...r.kernel.org,
Ciju Rajan K <crajank@...dia.com>
Subject: Re: [PATCH platform-next v4 1/2] kernel/irq: Add generic interrupt
storm detection mechanism
Hi Ciju,
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/Ciju-Rajan-K/kernel-irq-Add-generic-interrupt-storm-detection-mechanism/20260115-155438
base: linus/master
patch link: https://lore.kernel.org/r/20260115074909.245852-2-crajank%40nvidia.com
patch subject: [PATCH platform-next v4 1/2] kernel/irq: Add generic interrupt storm detection mechanism
config: arc-allnoconfig (https://download.01.org/0day-ci/archive/20260115/202601152136.LGHBo3k1-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260115/202601152136.LGHBo3k1-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/202601152136.LGHBo3k1-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> kernel/irq/spurious.c:41:6: warning: no previous prototype for 'irq_register_storm_detection' [-Wmissing-prototypes]
41 | bool irq_register_storm_detection(unsigned int irq, unsigned int max_freq,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/irq/spurious.c:79:6: warning: no previous prototype for 'irq_unregister_storm_detection' [-Wmissing-prototypes]
79 | void irq_unregister_storm_detection(unsigned int irq)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/irq_register_storm_detection +41 kernel/irq/spurious.c
30
31
32 /**
33 * irq_register_storm_detection - register interrupt storm detection for an IRQ
34 * @irq: interrupt number
35 * @max_freq: maximum allowed frequency (interrupts per second)
36 * @cb: callback function to invoke when storm is detected
37 * @dev_id: device identifier passed to callback
38 *
39 * Returns: true on success, false on failure
40 */
> 41 bool irq_register_storm_detection(unsigned int irq, unsigned int max_freq,
42 irq_storm_cb_t cb, void *dev_id)
43 {
44 struct irq_storm *storm;
45 bool ret = false;
46
47 if (max_freq < IRQ_STORM_MIN_FREQ_HZ || !cb)
48 return false;
49
50 storm = kzalloc(sizeof(*storm), GFP_KERNEL);
51 if (!storm)
52 return false;
53
54 /* Adjust to count per 10ms */
55 storm->max_cnt = max_freq / (IRQ_STORM_MAX_FREQ_SCALE);
56 storm->cb = cb;
57 storm->dev_id = dev_id;
58
59 scoped_irqdesc_get_and_buslock(irq, IRQ_GET_DESC_CHECK_GLOBAL) {
60 if (scoped_irqdesc->action && !scoped_irqdesc->irq_storm) {
61 storm->last_cnt = scoped_irqdesc->tot_count;
62 storm->next_period = jiffies + msecs_to_jiffies(IRQ_STORM_PERIOD_WINDOW_MS);
63 scoped_irqdesc->irq_storm = storm;
64 ret = true;
65 }
66 }
67
68 if (!ret)
69 kfree(storm);
70
71 return ret;
72 }
73 EXPORT_SYMBOL_GPL(irq_register_storm_detection);
74
75 /**
76 * irq_unregister_storm_detection - unregister interrupt storm detection
77 * @irq: interrupt number
78 */
> 79 void irq_unregister_storm_detection(unsigned int irq)
80 {
81 scoped_irqdesc_get_and_buslock(irq, IRQ_GET_DESC_CHECK_GLOBAL) {
82 if (scoped_irqdesc->irq_storm) {
83 kfree(scoped_irqdesc->irq_storm);
84 scoped_irqdesc->irq_storm = NULL;
85 }
86 }
87 }
88 EXPORT_SYMBOL_GPL(irq_unregister_storm_detection);
89
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists