fix WARNING: at kernel/cpu/idle.c:96
PATCH RESEND 1/1 fix WARNING: at kernel/cpu/idle.c:96
Quoted 1 line
From
48bbf44a96676ce6f520a408378730c976e9a11eMon Sep 17 00:00:00 2001
From: James Bottomley <[email protected]>
Date: Wed, 8 May 2013 14:05:34 -0700
Subject: [PATCH] [PARISC] fix WARNING: at kernel/cpu/idle.c:96
On PA-RISC (and presumably any other arch that doesn't implement its own arch_cpu_idle), we get this spurious boot warning. The problem is that the way the idle task is selected initially using the weak arch_cpu_idle() in idle.c causes us to enter this place once with interrupts enabled. Fix this by disabling interrupts in the weak arch_cpu_idle() code.
---
Thomas, I'm getting a bit impatient: this is a clear bug in the cpu idle code and we keep getting reports of this as a boot crash on parisc. If you don't push it through your tree, I'll take it through the parisc one.
kernel/cpu/idle.c +1 -0
@@ -58,6 +58,7 @@ void __weak arch_cpu_idle_dead(void) { }void __weak arch_cpu_idle (void ) { cpu_idle_force_poll =1 ; +local_irq_enable (); }/*
Quoted 10 lines · James Bottomley
Quoted 1 line
From
48bbf44a96676ce6f520a408378730c976e9a11eMon Sep 17 00:00:00 2001From: James Bottomley <[email protected]>
Date: Wed, 8 May 2013 14:05:34 -0700
Subject: [PATCH] [PARISC] fix WARNING: atkernel/cpu/idle.c:96On PA-RISC (and presumably any other arch that doesn't implement its own
arch_cpu_idle), we get this spurious boot warning. The problem is that the way the idle task is selected initially using the weakarch_cpu_idle()inidle.ccauses us to enter this place once with interrupts enabled. Fix this by disabling interrupts in the weakarch_cpu_idle()code.
Is this changelog correct? It looks to me like you are enabling interrupts down there.
David Daney
Quoted 18 lines
Reviewed-by Srivatsa S. Bhat <[email protected]>Signed-off-by James Bottomley <[email protected]>---
Thomas, I'm getting a bit impatient: this is a clear bug in the cpu idle code and we keep getting reports of this as a boot crash on parisc. If you don't push it through your tree, I'll take it through the parisc one.
kernel/cpu/idle.c +0
-0
kernel/cpu/idle.c void __weak arch_cpu_idle_dead(void) { } · line 61
Quoted 4 lines
kernel/cpu/idle.c +1
-0@@ -58,6 +58,7 @@ void __weak arch_cpu_idle_dead(void) { }void __weak arch_cpu_idle (void ) { cpu_idle_force_poll =1 ; +local_irq_enable ();
Here ^^^^^^^^^^^^^^^^
Quoted 12 lines
kernel/cpu/idle.c +0
-1}/* -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Quoted 6 lines · David Daney
Quoted 5 lines · James Bottomley
Quoted 1 line
From
48bbf44a96676ce6f520a408378730c976e9a11eMon Sep 17 00:00:00 2001From: James Bottomley <[email protected]>
Date: Wed, 8 May 2013 14:05:34 -0700
Subject: [PATCH] [PARISC] fix WARNING: atkernel/cpu/idle.c:96
Quoted 8 lines
Quoted 5 lines
On PA-RISC (and presumably any other arch that doesn't implement its own
arch_cpu_idle), we get this spurious boot warning. The problem is that the way the idle task is selected initially using the weakarch_cpu_idle()inidle.ccauses us to enter this place once with interrupts enabled. Fix this by disabling interrupts in the weakarch_cpu_idle()code.Is this changelog correct? It looks to me like you are enabling interrupts down there.
Yes, obvious typo, sorry. The WARN_ON check is for disabled interrupts the fix is to enable them.
James
Quoted 5 lines · James Bottomley
Quoted 1 line
From
48bbf44a96676ce6f520a408378730c976e9a11eMon Sep 17 00:00:00 2001From: James Bottomley <[email protected]>
Date: Wed, 8 May 2013 14:05:34 -0700
Subject: [PATCH] [PARISC] fix WARNING: atkernel/cpu/idle.c:96
Quoted 8 lines
On PA-RISC (and presumably any other arch that doesn't implement its own
arch_cpu_idle), we get this spurious boot warning. The problem is that the way the idle task is selected initially using the weakarch_cpu_idle()inidle.ccauses us to enter this place once with interrupts enabled. Fix this by disabling interrupts in the weakarch_cpu_idle()code.Reviewed-by Srivatsa S. Bhat <[email protected]>
What's the stable tag for? This code got merged in 3,10, so stable is totally irrelevant.
Quoted 8 lines
Signed-off-by James Bottomley <[email protected]>---
Thomas, I'm getting a bit impatient: this is a clear bug in the cpu idle code and we keep getting reports of this as a boot crash on parisc. If you don't push it through your tree, I'll take it through the parisc one.
Hold your breath. I was not even CC'ed on the original patch and I admit that I ignored the patch which starts with [PARISC].
If the subject line would have started with [idle], [core/idle] I definitely would have paid attention.
Aside of that the rest of the subject line is just annoyingly sloppy. We do not fix a WARNING. That's not what this patch is about. The patch fixes a problem which got introduced with the idle rework, period.
I'll pick it up and fix the changelog.
Thanks,
tglx
Quoted 16 lines
kernel/cpu/idle.c +1
-0@@ -58,6 +58,7 @@ void __weak arch_cpu_idle_dead(void) { }void __weak arch_cpu_idle (void ) { cpu_idle_force_poll =1 ; +local_irq_enable (); }/*
Quoted 34 lines · Thomas Gleixner
Quoted 5 lines · James Bottomley
Quoted 1 line
From
48bbf44a96676ce6f520a408378730c976e9a11eMon Sep 17 00:00:00 2001From: James Bottomley <[email protected]>
Date: Wed, 8 May 2013 14:05:34 -0700
Subject: [PATCH] [PARISC] fix WARNING: atkernel/cpu/idle.c:96Quoted 8 lines
On PA-RISC (and presumably any other arch that doesn't implement its own
arch_cpu_idle), we get this spurious boot warning. The problem is that the way the idle task is selected initially using the weakarch_cpu_idle()inidle.ccauses us to enter this place once with interrupts enabled. Fix this by disabling interrupts in the weakarch_cpu_idle()code.Reviewed-by Srivatsa S. Bhat <[email protected]>What's the stable tag for? This code got merged in 3,10, so stable is totally irrelevant.
Quoted 8 lines
Signed-off-by James Bottomley <[email protected]>---
Thomas, I'm getting a bit impatient: this is a clear bug in the cpu idle code and we keep getting reports of this as a boot crash on parisc. If you don't push it through your tree, I'll take it through the parisc one.
Hold your breath. I was not even CC'ed on the original patch and I admit that I ignored the patch which starts with [PARISC].
If the subject line would have started with [idle], [core/idle] I definitely would have paid attention.
Quoted 6 lines
Aside of that the rest of the subject line is just annoyingly sloppy. We do not fix a WARNING. That's not what this patch is about. The patch fixes a problem which got introduced with the idle rework, period.
I'll pick it up and fix the changelog.
And it needs fixing. It says:
"... way the idle task is selected initially using the weak
arch_cpu_idle() in idle.c causes us to enter this place once with interrupts enabled. Fix this by disabling interrupts in the weak arch_cpu_idle() code."
And the patch does:
void __weak arch_cpu_idle(void)
{
cpu_idle_force_poll = 1;+ local_irq_enable();
}
Instead of bullying around you might consider to read Documentation/SubmittingPatches.
Thanks,
tglx
Quoted 13 lines · Thomas Gleixner
Quoted 11 lines · James Bottomley
Quoted 1 line
From
48bbf44a96676ce6f520a408378730c976e9a11eMon Sep 17 00:00:00 2001From: James Bottomley <[email protected]>
Date: Wed, 8 May 2013 14:05:34 -0700
Subject: [PATCH] [PARISC] fix WARNING: atkernel/cpu/idle.c:96On PA-RISC (and presumably any other arch that doesn't implement its own
arch_cpu_idle), we get this spurious boot warning. The problem is that the way the idle task is selected initially using the weakarch_cpu_idle()inidle.ccauses us to enter this place once with interrupts enabled. Fix this by disabling interrupts in the weakarch_cpu_idle()code.
Quoted 5 lines
Quoted 2 lines
Reviewed-by Srivatsa S. Bhat <[email protected]>What's the stable tag for? This code got merged in 3,10, so stable is totally irrelevant.
Hm, OK, it's been so long I'm misremembering which kernel versions need it.
Quoted 11 lines
Quoted 8 lines
Signed-off-by James Bottomley <[email protected]>---
Thomas, I'm getting a bit impatient: this is a clear bug in the cpu idle code and we keep getting reports of this as a boot crash on parisc. If you don't push it through your tree, I'll take it through the parisc one.
Hold your breath. I was not even CC'ed on the original patch and I admit that I ignored the patch which starts with [PARISC].
Oh, you were ... I made sure of that. It's thread with subject
Re: [PATCH] parisc: avoid WARNING: at kernel/cpu/idle.c:96
You were cc'd from the one dated Wed, 08 May 2013 14:05:34 -0700
Quoted 9 lines
If the subject line would have started with [idle], [core/idle] I definitely would have paid attention.
Aside of that the rest of the subject line is just annoyingly sloppy. We do not fix a WARNING. That's not what this patch is about. The patch fixes a problem which got introduced with the idle rework, period.
I'll pick it up and fix the changelog.
Sure, whatever you think is best ... Given Linus' current mood I think leading with a description of the actual user visible problem being fixed is a good way to make sure he doesn't get annoyed, but it's your call.
James
tip-bot for James Bottomley
merge bot[tip:core/urgent] idle: Enable interrupts in the weak arch_cpu_idle() implementation
In reply to James Bottomleyidle: Enable interrupts in the weak arch_cpu_idle() implementation
Commit-ID: 29ce3785b22da47c49f4ef6e14b9014fa5dee261 Gitweb: http://git.kernel.org/tip/29ce3785b22da47c49f4ef6e14b9014fa5dee261 Author: James Bottomley <[email protected]> AuthorDate: Wed, 8 May 2013 14:05:34 -0700 Committer: Thomas Gleixner <[email protected]> CommitDate: Fri, 14 Jun 2013 23:01:05 +0200
idle: Enable interrupts in the weak arch_cpu_idle() implementation
PARISC bootup triggers the warning at kernel/cpu/idle.c:96. That's caused by the weak arch_cpu_idle() implementation, which is provided to avoid that architectures implement idle_poll over and over.
The switchover to polling mode happens in the first call of the weak arch_cpu_idle() implementation, but that code fails to reenable interrupts and therefor triggers the warning.
Fix this by enabling interrupts in the weak arch_cpu_idle() code.
[ tglx: Made the changelog match the patch ]
--- kernel/cpu/idle.c | 1 + 1 file changed, 1 insertion(+)
kernel/cpu/idle.c +1 -0
@@ -59,6 +59,7 @@ void __weak arch_cpu_idle_dead(void) { }void __weak arch_cpu_idle (void ) { cpu_idle_force_poll =1 ; +local_irq_enable (); }/*