Message ID | 1371236142.2726.43.camel@dabdike (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
On 06/14/2013 11:55 AM, James Bottomley wrote: >>From 48bbf44a96676ce6f520a408378730c976e9a11e Mon Sep 17 00:00:00 2001 > From: James Bottomley <JBottomley@Parallels.com> > 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. Is this changelog correct? It looks to me like you are enabling interrupts down there. David Daney > > Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> > Cc: stable@vger.kernel.org > Signed-off-by: James Bottomley <JBottomley@Parallels.com> > > --- > > 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. > > > diff --git a/kernel/cpu/idle.c b/kernel/cpu/idle.c > index d5585f5..0a4d11e 100644 > --- a/kernel/cpu/idle.c > +++ b/kernel/cpu/idle.c > @@ -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 ^^^^^^^^^^^^^^^^ > } > > /* > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > > -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 2013-06-14 at 12:11 -0700, David Daney wrote: > On 06/14/2013 11:55 AM, James Bottomley wrote: > >>From 48bbf44a96676ce6f520a408378730c976e9a11e Mon Sep 17 00:00:00 2001 > > From: James Bottomley <JBottomley@Parallels.com> > > 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. > > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 14 Jun 2013, James Bottomley wrote: > >From 48bbf44a96676ce6f520a408378730c976e9a11e Mon Sep 17 00:00:00 2001 > From: James Bottomley <JBottomley@Parallels.com> > 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. > > Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> > Cc: stable@vger.kernel.org What's the stable tag for? This code got merged in 3,10, so stable is totally irrelevant. > Signed-off-by: James Bottomley <JBottomley@Parallels.com> > > --- > > 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 > > diff --git a/kernel/cpu/idle.c b/kernel/cpu/idle.c > index d5585f5..0a4d11e 100644 > --- a/kernel/cpu/idle.c > +++ b/kernel/cpu/idle.c > @@ -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(); > } > > /* > > > -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 14 Jun 2013, Thomas Gleixner wrote: > On Fri, 14 Jun 2013, James Bottomley wrote: > > > >From 48bbf44a96676ce6f520a408378730c976e9a11e Mon Sep 17 00:00:00 2001 > > From: James Bottomley <JBottomley@Parallels.com> > > 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. > > > > Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> > > Cc: stable@vger.kernel.org > > What's the stable tag for? This code got merged in 3,10, so stable is > totally irrelevant. > > > Signed-off-by: James Bottomley <JBottomley@Parallels.com> > > > > --- > > > > 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. 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 -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 2013-06-14 at 22:39 +0200, Thomas Gleixner wrote: > On Fri, 14 Jun 2013, James Bottomley wrote: > > > >From 48bbf44a96676ce6f520a408378730c976e9a11e Mon Sep 17 00:00:00 2001 > > From: James Bottomley <JBottomley@Parallels.com> > > 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. > > > > Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> > > Cc: stable@vger.kernel.org > > 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. > > Signed-off-by: James Bottomley <JBottomley@Parallels.com> > > > > --- > > > > 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 > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/kernel/cpu/idle.c b/kernel/cpu/idle.c index d5585f5..0a4d11e 100644 --- a/kernel/cpu/idle.c +++ b/kernel/cpu/idle.c @@ -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(); } /*