From: balbi@ti.com (Felipe Balbi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: remove redundant irq disable at halt and restart
Date: Fri, 24 Oct 2014 14:42:50 -0500 [thread overview]
Message-ID: <20141024194250.GF11455@saruman> (raw)
In-Reply-To: <20141024192845.GC19377@localhost>
On Fri, Oct 24, 2014 at 09:28:45PM +0200, Johan Hovold wrote:
> On Fri, Oct 24, 2014 at 02:21:11PM -0500, Felipe Balbi wrote:
> > On Fri, Oct 24, 2014 at 02:16:27PM -0500, Felipe Balbi wrote:
> > > On Fri, Oct 24, 2014 at 09:06:32PM +0200, Johan Hovold wrote:
> > > > Remove redundant local_irq_disable() at machine halt and restart.
> > > >
> > > > Since commit 44424c34049f ("ARM: 7803/1: Fix deadlock scenario with
> > > > smp_send_stop()") interrupts are disabled before stopping secondary
> > > > CPUs.
> > >
> > > Assuming this is correct, you should have:
> > >
> > > Fixes: 44424c3 (ARM: 7803/1: Fix deadlock scenario with smp_send_stop())
> > > Cc: <stable@vger.kernel.org> # v3.12+
>
> It's not a bug. Just a redundant disabling of already disabled
> interrupts, something which could possibly lead someone to believe that
> interrupts could be re-enabled by the power-off handler.
I didn't dig any of this out but I'll assume you did :-) So I withdraw
my comment ;-)
> > > > diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
> > > > index a35f6ebbd2c2..5663ab57cf07 100644
> > > > --- a/arch/arm/kernel/process.c
> > > > +++ b/arch/arm/kernel/process.c
> > > > @@ -195,7 +195,6 @@ void machine_halt(void)
> > > > local_irq_disable();
> > > > smp_send_stop();
> > > >
> > > > - local_irq_disable();
> > > > while (1);
> > > > }
> > > >
> > > > @@ -237,7 +236,6 @@ void machine_restart(char *cmd)
> > > >
> > > > /* Whoops - the platform was unable to reboot. Tell the user! */
> > > > printk("Reboot failed -- System halted\n");
> > > > - local_irq_disable();
> > >
> > > ... but wouldn't this reintroduce the the buck which that commit fixed ?
> >
> > s/buck/bug :-) my fingers have a mind of their own, aparently.
>
> :)
>
> No, the interrupts would still be disabled.
alright... so far I couldn't find where IRQs are disable before
machine_power_off() is called. Starting a do_poweroff(), couldn't find
it... Oh well, I'll keep digging.
cheers
--
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141024/6c01e9a1/attachment-0001.sig>
WARNING: multiple messages have this Message-ID (diff)
From: Felipe Balbi <balbi@ti.com>
To: Johan Hovold <johan@kernel.org>
Cc: Felipe Balbi <balbi@ti.com>,
Russell King <linux@arm.linux.org.uk>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] ARM: remove redundant irq disable at halt and restart
Date: Fri, 24 Oct 2014 14:42:50 -0500 [thread overview]
Message-ID: <20141024194250.GF11455@saruman> (raw)
In-Reply-To: <20141024192845.GC19377@localhost>
[-- Attachment #1: Type: text/plain, Size: 2070 bytes --]
On Fri, Oct 24, 2014 at 09:28:45PM +0200, Johan Hovold wrote:
> On Fri, Oct 24, 2014 at 02:21:11PM -0500, Felipe Balbi wrote:
> > On Fri, Oct 24, 2014 at 02:16:27PM -0500, Felipe Balbi wrote:
> > > On Fri, Oct 24, 2014 at 09:06:32PM +0200, Johan Hovold wrote:
> > > > Remove redundant local_irq_disable() at machine halt and restart.
> > > >
> > > > Since commit 44424c34049f ("ARM: 7803/1: Fix deadlock scenario with
> > > > smp_send_stop()") interrupts are disabled before stopping secondary
> > > > CPUs.
> > >
> > > Assuming this is correct, you should have:
> > >
> > > Fixes: 44424c3 (ARM: 7803/1: Fix deadlock scenario with smp_send_stop())
> > > Cc: <stable@vger.kernel.org> # v3.12+
>
> It's not a bug. Just a redundant disabling of already disabled
> interrupts, something which could possibly lead someone to believe that
> interrupts could be re-enabled by the power-off handler.
I didn't dig any of this out but I'll assume you did :-) So I withdraw
my comment ;-)
> > > > diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
> > > > index a35f6ebbd2c2..5663ab57cf07 100644
> > > > --- a/arch/arm/kernel/process.c
> > > > +++ b/arch/arm/kernel/process.c
> > > > @@ -195,7 +195,6 @@ void machine_halt(void)
> > > > local_irq_disable();
> > > > smp_send_stop();
> > > >
> > > > - local_irq_disable();
> > > > while (1);
> > > > }
> > > >
> > > > @@ -237,7 +236,6 @@ void machine_restart(char *cmd)
> > > >
> > > > /* Whoops - the platform was unable to reboot. Tell the user! */
> > > > printk("Reboot failed -- System halted\n");
> > > > - local_irq_disable();
> > >
> > > ... but wouldn't this reintroduce the the buck which that commit fixed ?
> >
> > s/buck/bug :-) my fingers have a mind of their own, aparently.
>
> :)
>
> No, the interrupts would still be disabled.
alright... so far I couldn't find where IRQs are disable before
machine_power_off() is called. Starting a do_poweroff(), couldn't find
it... Oh well, I'll keep digging.
cheers
--
balbi
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2014-10-24 19:42 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-24 19:06 [PATCH] ARM: remove redundant irq disable at halt and restart Johan Hovold
2014-10-24 19:06 ` Johan Hovold
2014-10-24 19:16 ` Felipe Balbi
2014-10-24 19:16 ` Felipe Balbi
2014-10-24 19:21 ` Felipe Balbi
2014-10-24 19:21 ` Felipe Balbi
2014-10-24 19:28 ` Johan Hovold
2014-10-24 19:28 ` Johan Hovold
2014-10-24 19:42 ` Felipe Balbi [this message]
2014-10-24 19:42 ` Felipe Balbi
2014-10-24 19:50 ` Johan Hovold
2014-10-24 19:50 ` Johan Hovold
2014-10-24 20:07 ` Felipe Balbi
2014-10-24 20:07 ` Felipe Balbi
2014-11-26 15:13 ` Johan Hovold
2014-11-26 15:13 ` Johan Hovold
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141024194250.GF11455@saruman \
--to=balbi@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.