linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: gradator@gradator.net (Sylvain Rochet)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 5/6] watchdog: at91sam9: request the irq with IRQF_NO_SUSPEND
Date: Sat, 7 Mar 2015 11:59:53 +0100	[thread overview]
Message-ID: <20150307105953.GC28436@gradator.net> (raw)
In-Reply-To: <20150307103939.GA17964@amd>

Hello,


On Sat, Mar 07, 2015 at 11:39:39AM +0100, Pavel Machek wrote:
> On Sat 2015-03-07 11:20:56, Sylvain Rochet wrote:
> > Hello,
> > 
> > On Sat, Mar 07, 2015 at 10:18:46AM +0100, Peter Zijlstra wrote:
> > > On Thu, Mar 05, 2015 at 11:53:08AM +0000, Mark Rutland wrote:
> > > > If everyone else is happy with this using IRQF_NO_SUSPEND for now then
> > > > don't let my comments above block this patch.
> > > 
> > > Yeah, I'm really not happy with NO_SUSPEND + enable_irq_wake().
> > > 
> > > I really want that combo to BUG/WARN -- esp. since there's so much cargo
> > > culted crap out there.
> > > 
> > > We should make robust interfaces, not randomly toggle flags until it
> > > mostly works by accident rather than by design -- which is what this
> > > feels like.
> > > 
> > > And while I appreciate the watchdog use-case; I think the easiest
> > > solution for now is to simply disable the wathdog over suspend until
> > > we've come up with something that makes sense.
> > > 
> > > As it is, you need to 'suspend' the watchdog at some point anyhow; you
> > > don't want that thing to wake you from whatever suspend state you're in.
> > 
> > The Atmel watchdog can't be stopped once it's started. This is actually 
> > very useful so we can reset if suspend or resume failed, the only 
> > drawback is that you have to wake up from time to time (e.g. by using 
> > the RTC/RTT) to clear the watchdog and then go back to sleep ASAP.
> 
> Yeah. So you do "echo mem > /sys/power/state", and few seconds/minutes
> after watchdog kills the system. But you did not ask for dead system,
> you asked for suspend.

Yeah, that's why I'm setting the RTC/RTT in the pm_enter() callback on 
our products. On wake-up I'm checking if we woke up using the RTC/RTT in 
the pm_suspend_again() callback, if true we clear the watchdog and we go 
back to sleep. This can't easily be mainlined because it adds 
RTC/RTT/WDT calls from PM code, which will not be accepted anyway.


> And while that behaviour is useful for you, I don't think it is
> exactly useful behaviour, nor it is the behaviour user would expect.

I agree, but it still can't be stopped, IMHO users wanting to suspend 
without being protected by the watchdog during suspend and resume should 
just don't use the hardware watchdog at all, they are already missing 
the watchdog in a tricky area where the kernel can fail more than 
anywhere else, the software watchdog should be fine as well for them.


Sylvain
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150307/8947ab85/attachment.sig>

  reply	other threads:[~2015-03-07 10:59 UTC|newest]

Thread overview: 48+ 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 ` [PATCH v2 1/6] PM / wakeup: export pm_system_wakeup symbol Boris Brezillon
2015-03-02  9:18 ` [PATCH v2 2/6] rtc: at91sam9: rework wakeup and interrupt handling Boris Brezillon
2015-03-04 18:23   ` Mark Rutland
2015-03-02  9:18 ` [PATCH v2 3/6] rtc: at91rm9200: " Boris Brezillon
2015-03-02  9:18 ` [PATCH v2 4/6] clk: at91: implement suspend/resume for the PMC irqchip Boris Brezillon
2015-03-09 22:34   ` Mike Turquette
2015-03-02  9:18 ` [PATCH v2 5/6] watchdog: at91sam9: request the irq with IRQF_NO_SUSPEND Boris Brezillon
2015-03-02 14:10   ` Guenter Roeck
2015-03-04 18:38   ` Mark Rutland
2015-03-04 21:41     ` Rafael J. Wysocki
2015-03-05 10:57       ` Mark Rutland
2015-03-05 15:10         ` Rafael J. Wysocki
2015-03-05 16:32           ` Mark Rutland
2015-03-06  0:29             ` Rafael J. Wysocki
2015-03-06 11:06               ` Mark Rutland
2015-03-06 12:39                 ` Rafael J. Wysocki
2015-03-06 13:10                   ` Mark Rutland
2015-03-07  9:12                 ` Peter Zijlstra
2015-03-07  9:06           ` Peter Zijlstra
2015-03-05  8:53     ` Boris Brezillon
2015-03-05 10:53       ` Mark Rutland
2015-03-05 11:17         ` Boris Brezillon
2015-03-05 11:31           ` Boris Brezillon
2015-03-05 11:53           ` Mark Rutland
2015-03-07  9:18             ` Peter Zijlstra
2015-03-07 10:20               ` Sylvain Rochet
2015-03-07 10:39                 ` Pavel Machek
2015-03-07 10:59                   ` Sylvain Rochet [this message]
2015-03-07 11:06                   ` Alexandre Belloni
2015-03-07 11:29                     ` Pavel Machek
2015-03-07 11:46                       ` Sylvain Rochet
2015-03-08  1:12                       ` Rafael J. Wysocki
2015-03-09  7:55                         ` Alexandre Belloni
2015-03-09 14:30                           ` Rafael J. Wysocki
2015-03-10 21:33                             ` Alexandre Belloni
2015-03-10 22:31                               ` Rafael J. Wysocki
2015-03-10 22:33                                 ` Alexandre Belloni
2015-03-11  1:03                                   ` Rafael J. Wysocki
2015-03-11  7:33                                     ` Boris Brezillon
2015-03-08  1:11                     ` Rafael J. Wysocki
2015-03-11  8:38                       ` Boris Brezillon
2015-03-11 11:17                         ` Nicolas Ferre
2015-03-02  9:18 ` [PATCH v2 6/6] tty: serial: atmel: rework interrupt and wakeup handling Boris Brezillon
2015-03-03  8:56 ` [PATCH v2 0/6] ARM: at91: fix irq_pm_install_action WARNING Alexandre Belloni
2015-03-03 15:35 ` Nicolas Ferre
2015-03-04  1:43   ` Rafael J. Wysocki
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=20150307105953.GC28436@gradator.net \
    --to=gradator@gradator.net \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).