All of lore.kernel.org
 help / color / mirror / Atom feed
* [-next] !irqd_can_balance() WARNINGs at irq_move_masked_irq()
@ 2015-06-19  7:11 Sergey Senozhatsky
  2015-06-19  9:25 ` Thomas Gleixner
  0 siblings, 1 reply; 25+ messages in thread
From: Sergey Senozhatsky @ 2015-06-19  7:11 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Jiang Liu, Borislav Petkov, linux-kernel, Sergey Senozhatsky,
	Sergey Senozhatsky

Hi,

next-20150619 is un-bootable (it `drowns` in warnings).

I modified irq_move_masked_irq() to do WARN_ONCE() instead of WARN_ON
every !irqd_can_balance(), and here it is:

[    0.412227] ------------[ cut here ]------------
[    0.412291] WARNING: CPU: 0 PID: 0 at kernel/irq/migration.c:21 irq_move_masked_irq+0x57/0xc4()
[    0.412371] Can't balance irq 0 [edge]
[    0.412428] Modules linked in:
[    0.412524] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.1.0-rc8-next-20150619-dbg-00010-g841f367-dirty #228
[    0.412606] Hardware name: SAMSUNG ELECTRONICS CO.,LTD Samsung DeskTop System/Samsung DeskTop System, BIOS 05CC                   04/09/2010
[    0.412693]  0000000000000009 ffff880137c03e18 ffffffff814f2acd ffffffff810851a4
[    0.412920]  ffff880137c03e68 ffff880137c03e58 ffffffff8103d196 0000000000000000
[    0.413146]  ffffffff8108bfe8 ffff880133007c00 0000000000000000 0000000000000000
[    0.413373] Call Trace:
[    0.413428]  <IRQ>  [<ffffffff814f2acd>] dump_stack+0x4c/0x6e
[    0.413532]  [<ffffffff810851a4>] ? console_unlock+0x400/0x42f
[    0.413596]  [<ffffffff8103d196>] warn_slowpath_common+0x9b/0xb5
[    0.413659]  [<ffffffff8108bfe8>] ? irq_move_masked_irq+0x57/0xc4
[    0.413722]  [<ffffffff8103d1f6>] warn_slowpath_fmt+0x46/0x48
[    0.413785]  [<ffffffff8108bfe8>] irq_move_masked_irq+0x57/0xc4
[    0.413847]  [<ffffffff8108c097>] irq_move_irq+0x42/0x56
[    0.413910]  [<ffffffff8102c410>] apic_ack_edge+0x23/0x3b
[    0.413972]  [<ffffffff81089b79>] irq_chip_ack_parent+0x14/0x16
[    0.414034]  [<ffffffff810894cd>] handle_edge_irq+0x90/0xe1
[    0.414096]  [<ffffffff81004aa9>] handle_irq+0x24/0x2a
[    0.414158]  [<ffffffff814fb2ec>] do_IRQ+0x4c/0xcd
[    0.414219]  [<ffffffff814f9c6a>] common_interrupt+0x6a/0x6a
[    0.414280]  <EOI>  [<ffffffff81403266>] ? cpuidle_enter_state+0x195/0x29d
[    0.414386]  [<ffffffff81403262>] ? cpuidle_enter_state+0x191/0x29d
[    0.414450]  [<ffffffff8140339a>] cpuidle_enter+0x17/0x19
[    0.414512]  [<ffffffff81075c30>] call_cpuidle+0x55/0x57
[    0.414573]  [<ffffffff81403381>] ? cpuidle_select+0x13/0x15
[    0.414636]  [<ffffffff81075eac>] cpu_startup_entry+0x27a/0x399
[    0.414700]  [<ffffffff814ef8bd>] rest_init+0x134/0x13a
[    0.414762]  [<ffffffff81b0df2c>] start_kernel+0x41a/0x427
[    0.414825]  [<ffffffff81b0d2fe>] x86_64_start_reservations+0x2a/0x2c
[    0.414889]  [<ffffffff81b0d46b>] x86_64_start_kernel+0x16b/0x17a
[    0.414987] ---[ end trace 082909e0a7e1599a ]---

Do you guys want to replace WAN_ON() with WARN_ONCE(), perhaps? This, of course,
doesn't fix anything; but at least one can boot the system. (not really a patch,
just an idea).

Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>

---

 kernel/irq/migration.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/irq/migration.c b/kernel/irq/migration.c
index dd203e2..0352b04 100644
--- a/kernel/irq/migration.c
+++ b/kernel/irq/migration.c
@@ -16,7 +16,9 @@ void irq_move_masked_irq(struct irq_data *idata)
 	 * Paranoia: cpu-local interrupts shouldn't be calling in here anyway.
 	 */
 	if (!irqd_can_balance(&desc->irq_data)) {
-		WARN_ON(1);
+		WARN_ONCE(1, "Can't balance irq %d [%s]\n",
+				desc->irq_data.irq,
+				desc->name);
 		return;
 	}
 

^ permalink raw reply related	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2015-06-21 14:44 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-19  7:11 [-next] !irqd_can_balance() WARNINGs at irq_move_masked_irq() Sergey Senozhatsky
2015-06-19  9:25 ` Thomas Gleixner
2015-06-19 12:21   ` Thomas Gleixner
2015-06-19 13:11     ` Sergey Senozhatsky
2015-06-19 16:09     ` Jiang Liu
2015-06-19 16:12       ` Jiang Liu
2015-06-19 16:15         ` Thomas Gleixner
2015-06-19 16:21           ` Jiang Liu
2015-06-19 16:30             ` Thomas Gleixner
2015-06-19 16:47               ` Jiang Liu
2015-06-19 17:14                 ` Sergey Senozhatsky
2015-06-20  4:32                 ` Sergey Senozhatsky
2015-06-20 10:07                 ` [tip:x86/apic] x86/hpet: Check for irq== 0 when allocating hpet MSI interrupts tip-bot for Jiang Liu
2015-06-19 16:23           ` [-next] !irqd_can_balance() WARNINGs at irq_move_masked_irq() Sergey Senozhatsky
2015-06-20  4:31     ` Sergey Senozhatsky
2015-06-20  7:52       ` Thomas Gleixner
2015-06-20  7:57         ` Sergey Senozhatsky
2015-06-20  8:13           ` Thomas Gleixner
2015-06-20  8:27             ` Sergey Senozhatsky
2015-06-20  9:12               ` Thomas Gleixner
2015-06-20 17:53                 ` Sergey Senozhatsky
2015-06-21  4:15                 ` Sergey Senozhatsky
2015-06-21 14:37                   ` Thomas Gleixner
2015-06-21 14:43                     ` [tip:x86/apic] x86/hpet: Use proper hpet device number for MSI allocation tip-bot for Thomas Gleixner
2015-06-20 17:20             ` [tip:irq/core] genirq: Remove bogus restriction in irq_move_mask_irq() tip-bot for Thomas Gleixner

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.