From: Mark Rutland <mark.rutland@arm.com>
To: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Jason Cooper <jason@lakedaemon.net>,
Peter Zijlstra <peterz@infradead.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Len Brown <len.brown@intel.com>, Pavel Machek <pavel@ucw.cz>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
Wim Van Sebroeck <wim@iguana.be>,
"linux-watchdog@vger.kernel.org" <linux-watchdog@vger.kernel.org>,
Alessandro Zummo <a.zummo@towertech.it>,
"rtc-linux@googlegroups.com" <rtc-linux@googlegroups.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jslaby@suse.cz>,
"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
Mike Turquette <mturquette@linaro.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Nicolas Ferre <nicolas.ferre@atmel.com>,
Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
Alexandre Belloni <alexandre.belloni@free-electrons.com>lin
Subject: Re: [PATCH v2 5/6] watchdog: at91sam9: request the irq with IRQF_NO_SUSPEND
Date: Thu, 5 Mar 2015 10:53:08 +0000 [thread overview]
Message-ID: <20150305105308.GA13617@leverpostej> (raw)
In-Reply-To: <20150305095306.3db98ac8@bbrezillon>
Hi Boris,
I'd missed the fact that this was for SW watchdog as opposed to HW
watchdog, which may explain my confusion.
[...]
> > > err = request_irq(wdt->irq, wdt_interrupt,
> > > - IRQF_SHARED | IRQF_IRQPOLL,
> > > + IRQF_SHARED | IRQF_IRQPOLL |
> > > + IRQF_NO_SUSPEND,
> >
> > I'm a little confused by this. What happens if the watchdog fires when
> > we're actually in the suspended state (when IRQF_NO_SUSPEND interrupts
> > aren't guaranteed to be delivered).
>
> It reboot the system.
Is the timer we use to ping the watchdog guaranted to result in a wakeup
before an interrupt will be triggered? If so, then I think we're ok.
If not, then don't we need to clear a potentially pending watchdog irq
at resume time so at to not immediately reboot the machine? I couldn't
see any logic to that effect in the driver.
Regardless, if the only reason we care about taking the interrupt during
the suspend/resume phases is due to the timer sharing the IRQ, then
shouldn't we be using IRQF_COND_SUSPEND?
Thanks,
Mark.
WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Jason Cooper <jason@lakedaemon.net>,
Peter Zijlstra <peterz@infradead.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Len Brown <len.brown@intel.com>, Pavel Machek <pavel@ucw.cz>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
Wim Van Sebroeck <wim@iguana.be>,
"linux-watchdog@vger.kernel.org" <linux-watchdog@vger.kernel.org>,
Alessandro Zummo <a.zummo@towertech.it>,
"rtc-linux@googlegroups.com" <rtc-linux@googlegroups.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jslaby@suse.cz>,
"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
Mike Turquette <mturquette@linaro.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Nicolas Ferre <nicolas.ferre@atmel.com>,
Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
Alexandre Belloni <alexandre.belloni@free-electrons.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v2 5/6] watchdog: at91sam9: request the irq with IRQF_NO_SUSPEND
Date: Thu, 5 Mar 2015 10:53:08 +0000 [thread overview]
Message-ID: <20150305105308.GA13617@leverpostej> (raw)
In-Reply-To: <20150305095306.3db98ac8@bbrezillon>
Hi Boris,
I'd missed the fact that this was for SW watchdog as opposed to HW
watchdog, which may explain my confusion.
[...]
> > > err = request_irq(wdt->irq, wdt_interrupt,
> > > - IRQF_SHARED | IRQF_IRQPOLL,
> > > + IRQF_SHARED | IRQF_IRQPOLL |
> > > + IRQF_NO_SUSPEND,
> >
> > I'm a little confused by this. What happens if the watchdog fires when
> > we're actually in the suspended state (when IRQF_NO_SUSPEND interrupts
> > aren't guaranteed to be delivered).
>
> It reboot the system.
Is the timer we use to ping the watchdog guaranted to result in a wakeup
before an interrupt will be triggered? If so, then I think we're ok.
If not, then don't we need to clear a potentially pending watchdog irq
at resume time so at to not immediately reboot the machine? I couldn't
see any logic to that effect in the driver.
Regardless, if the only reason we care about taking the interrupt during
the suspend/resume phases is due to the timer sharing the IRQ, then
shouldn't we be using IRQF_COND_SUSPEND?
Thanks,
Mark.
WARNING: multiple messages have this Message-ID (diff)
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 5/6] watchdog: at91sam9: request the irq with IRQF_NO_SUSPEND
Date: Thu, 5 Mar 2015 10:53:08 +0000 [thread overview]
Message-ID: <20150305105308.GA13617@leverpostej> (raw)
In-Reply-To: <20150305095306.3db98ac8@bbrezillon>
Hi Boris,
I'd missed the fact that this was for SW watchdog as opposed to HW
watchdog, which may explain my confusion.
[...]
> > > err = request_irq(wdt->irq, wdt_interrupt,
> > > - IRQF_SHARED | IRQF_IRQPOLL,
> > > + IRQF_SHARED | IRQF_IRQPOLL |
> > > + IRQF_NO_SUSPEND,
> >
> > I'm a little confused by this. What happens if the watchdog fires when
> > we're actually in the suspended state (when IRQF_NO_SUSPEND interrupts
> > aren't guaranteed to be delivered).
>
> It reboot the system.
Is the timer we use to ping the watchdog guaranted to result in a wakeup
before an interrupt will be triggered? If so, then I think we're ok.
If not, then don't we need to clear a potentially pending watchdog irq
at resume time so at to not immediately reboot the machine? I couldn't
see any logic to that effect in the driver.
Regardless, if the only reason we care about taking the interrupt during
the suspend/resume phases is due to the timer sharing the IRQ, then
shouldn't we be using IRQF_COND_SUSPEND?
Thanks,
Mark.
next prev parent reply other threads:[~2015-03-05 10:53 UTC|newest]
Thread overview: 144+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-02 9:18 [PATCH v2 0/6] ARM: at91: fix irq_pm_install_action WARNING Boris Brezillon
2015-03-02 9:18 ` Boris Brezillon
2015-03-02 9:18 ` Boris Brezillon
2015-03-02 9:18 ` [PATCH v2 1/6] PM / wakeup: export pm_system_wakeup symbol Boris Brezillon
2015-03-02 9:18 ` Boris Brezillon
2015-03-02 9:18 ` [PATCH v2 3/6] rtc: at91rm9200: rework wakeup and interrupt handling Boris Brezillon
2015-03-02 9:18 ` Boris Brezillon
2015-03-02 9:18 ` [PATCH v2 4/6] clk: at91: implement suspend/resume for the PMC irqchip Boris Brezillon
2015-03-02 9:18 ` Boris Brezillon
2015-03-02 9:18 ` Boris Brezillon
[not found] ` <1425287898-15093-5-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-03-09 22:34 ` Mike Turquette
2015-03-09 22:34 ` Mike Turquette
2015-03-09 22:34 ` Mike Turquette
2015-03-09 22:34 ` Mike Turquette
2015-03-02 9:18 ` [PATCH v2 6/6] tty: serial: atmel: rework interrupt and wakeup handling Boris Brezillon
2015-03-02 9:18 ` Boris Brezillon
[not found] ` <1425287898-15093-1-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-03-02 9:18 ` [PATCH v2 2/6] rtc: at91sam9: rework wakeup and interrupt handling Boris Brezillon
2015-03-02 9:18 ` Boris Brezillon
2015-03-02 9:18 ` Boris Brezillon
[not found] ` <1425287898-15093-3-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-03-04 18:23 ` Mark Rutland
2015-03-04 18:23 ` Mark Rutland
2015-03-04 18:23 ` Mark Rutland
2015-03-02 9:18 ` [PATCH v2 5/6] watchdog: at91sam9: request the irq with IRQF_NO_SUSPEND Boris Brezillon
2015-03-02 9:18 ` Boris Brezillon
2015-03-02 9:18 ` Boris Brezillon
2015-03-02 14:10 ` Guenter Roeck
2015-03-02 14:10 ` Guenter Roeck
[not found] ` <1425287898-15093-6-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-03-04 18:38 ` Mark Rutland
2015-03-04 18:38 ` Mark Rutland
2015-03-04 18:38 ` Mark Rutland
2015-03-04 21:41 ` Rafael J. Wysocki
2015-03-04 21:41 ` Rafael J. Wysocki
2015-03-04 21:41 ` Rafael J. Wysocki
[not found] ` <14143668.0aRkeVrc3Q-sKB8Sp2ER+y1GS7QM15AGw@public.gmane.org>
2015-03-05 10:57 ` Mark Rutland
2015-03-05 10:57 ` Mark Rutland
2015-03-05 10:57 ` Mark Rutland
2015-03-05 15:10 ` Rafael J. Wysocki
2015-03-05 15:10 ` Rafael J. Wysocki
2015-03-05 15:10 ` Rafael J. Wysocki
[not found] ` <CAJZ5v0h8vn26BeWPVhC4e_KNhBu15-mshnbq0K=OQ1M36vPQEQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-05 16:32 ` Mark Rutland
2015-03-05 16:32 ` Mark Rutland
2015-03-05 16:32 ` Mark Rutland
2015-03-06 0:29 ` Rafael J. Wysocki
2015-03-06 0:29 ` Rafael J. Wysocki
2015-03-06 0:29 ` Rafael J. Wysocki
2015-03-06 11:06 ` Mark Rutland
2015-03-06 11:06 ` Mark Rutland
2015-03-06 11:06 ` Mark Rutland
2015-03-06 12:39 ` Rafael J. Wysocki
2015-03-06 12:39 ` Rafael J. Wysocki
2015-03-06 12:39 ` Rafael J. Wysocki
[not found] ` <CAJZ5v0jA-hRUnP_+mOdFw7vN7CGZ4o0FjUVu81rq7foi92f63g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-06 13:10 ` Mark Rutland
2015-03-06 13:10 ` Mark Rutland
2015-03-06 13:10 ` Mark Rutland
2015-03-07 9:12 ` Peter Zijlstra
2015-03-07 9:12 ` Peter Zijlstra
2015-03-07 9:12 ` Peter Zijlstra
2015-03-07 9:06 ` Peter Zijlstra
2015-03-07 9:06 ` Peter Zijlstra
2015-03-07 9:06 ` Peter Zijlstra
2015-03-05 8:53 ` Boris Brezillon
2015-03-05 8:53 ` Boris Brezillon
2015-03-05 8:53 ` Boris Brezillon
2015-03-05 10:53 ` Mark Rutland [this message]
2015-03-05 10:53 ` Mark Rutland
2015-03-05 10:53 ` Mark Rutland
2015-03-05 11:17 ` Boris Brezillon
2015-03-05 11:17 ` Boris Brezillon
2015-03-05 11:17 ` Boris Brezillon
2015-03-05 11:31 ` Boris Brezillon
2015-03-05 11:31 ` Boris Brezillon
2015-03-05 11:31 ` Boris Brezillon
2015-03-05 11:53 ` Mark Rutland
2015-03-05 11:53 ` Mark Rutland
2015-03-05 11:53 ` Mark Rutland
2015-03-07 9:18 ` Peter Zijlstra
2015-03-07 9:18 ` Peter Zijlstra
2015-03-07 9:18 ` Peter Zijlstra
2015-03-07 10:20 ` Sylvain Rochet
2015-03-07 10:20 ` Sylvain Rochet
2015-03-07 10:20 ` Sylvain Rochet
2015-03-07 10:39 ` Pavel Machek
2015-03-07 10:39 ` Pavel Machek
2015-03-07 10:39 ` Pavel Machek
2015-03-07 10:59 ` Sylvain Rochet
2015-03-07 10:59 ` Sylvain Rochet
2015-03-07 10:59 ` Sylvain Rochet
2015-03-07 11:06 ` Alexandre Belloni
2015-03-07 11:06 ` Alexandre Belloni
2015-03-07 11:06 ` Alexandre Belloni
[not found] ` <20150307110645.GW3989-m++hUPXGwpdeoWH0uzbU5w@public.gmane.org>
2015-03-07 11:29 ` Pavel Machek
2015-03-07 11:29 ` Pavel Machek
2015-03-07 11:29 ` Pavel Machek
2015-03-07 11:46 ` Sylvain Rochet
2015-03-07 11:46 ` Sylvain Rochet
2015-03-07 11:46 ` Sylvain Rochet
2015-03-08 1:12 ` Rafael J. Wysocki
2015-03-08 1:12 ` Rafael J. Wysocki
2015-03-08 1:12 ` Rafael J. Wysocki
2015-03-09 7:55 ` Alexandre Belloni
2015-03-09 7:55 ` Alexandre Belloni
2015-03-09 7:55 ` Alexandre Belloni
2015-03-09 14:30 ` Rafael J. Wysocki
2015-03-09 14:30 ` Rafael J. Wysocki
2015-03-09 14:30 ` Rafael J. Wysocki
[not found] ` <1592385.fqRVVyPSPE-sKB8Sp2ER+y1GS7QM15AGw@public.gmane.org>
2015-03-10 21:33 ` Alexandre Belloni
2015-03-10 21:33 ` Alexandre Belloni
2015-03-10 21:33 ` Alexandre Belloni
2015-03-10 22:31 ` Rafael J. Wysocki
2015-03-10 22:31 ` Rafael J. Wysocki
2015-03-10 22:31 ` Rafael J. Wysocki
[not found] ` <1901056.Mqyykpv3e9-sKB8Sp2ER+y1GS7QM15AGw@public.gmane.org>
2015-03-10 22:33 ` Alexandre Belloni
2015-03-10 22:33 ` Alexandre Belloni
2015-03-10 22:33 ` Alexandre Belloni
[not found] ` <20150310223305.GN9188-m++hUPXGwpdeoWH0uzbU5w@public.gmane.org>
2015-03-11 1:03 ` Rafael J. Wysocki
2015-03-11 1:03 ` Rafael J. Wysocki
2015-03-11 1:03 ` Rafael J. Wysocki
2015-03-11 7:33 ` Boris Brezillon
2015-03-11 7:33 ` Boris Brezillon
2015-03-11 7:33 ` Boris Brezillon
2015-03-08 1:11 ` Rafael J. Wysocki
2015-03-08 1:11 ` Rafael J. Wysocki
2015-03-08 1:11 ` Rafael J. Wysocki
2015-03-11 8:38 ` Boris Brezillon
2015-03-11 8:38 ` Boris Brezillon
2015-03-11 8:38 ` Boris Brezillon
2015-03-11 11:17 ` Nicolas Ferre
2015-03-11 11:17 ` Nicolas Ferre
2015-03-11 11:17 ` Nicolas Ferre
2015-03-11 11:17 ` Nicolas Ferre
2015-03-03 8:56 ` [PATCH v2 0/6] ARM: at91: fix irq_pm_install_action WARNING Alexandre Belloni
2015-03-03 8:56 ` Alexandre Belloni
2015-03-03 8:56 ` Alexandre Belloni
2015-03-03 15:35 ` Nicolas Ferre
2015-03-03 15:35 ` Nicolas Ferre
2015-03-03 15:35 ` Nicolas Ferre
2015-03-03 15:35 ` Nicolas Ferre
2015-03-04 1:43 ` Rafael J. Wysocki
2015-03-04 1:43 ` Rafael J. Wysocki
2015-03-04 1:43 ` Rafael J. Wysocki
2015-03-04 1:43 ` Rafael J. Wysocki
2015-03-04 18:43 ` Mark Rutland
2015-03-04 18:43 ` Mark Rutland
2015-03-04 18:43 ` Mark Rutland
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=20150305105308.GA13617@leverpostej \
--to=mark.rutland@arm.com \
--cc=a.zummo@towertech.it \
--cc=alexandre.belloni@free-electrons.com \
--cc=boris.brezillon@free-electrons.com \
--cc=gregkh@linuxfoundation.org \
--cc=jason@lakedaemon.net \
--cc=jslaby@suse.cz \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=mturquette@linaro.org \
--cc=nicolas.ferre@atmel.com \
--cc=pavel@ucw.cz \
--cc=peterz@infradead.org \
--cc=plagnioj@jcrosoft.com \
--cc=rjw@rjwysocki.net \
--cc=rtc-linux@googlegroups.com \
--cc=tglx@linutronix.de \
--cc=wim@iguana.be \
/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.