From: Guenter Roeck <linux@roeck-us.net>
To: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Rob Herring <robherring2@gmail.com>,
Timo Kokkonen <timo.kokkonen@offcode.fi>,
Alexandre Belloni <alexandre.belloni@free-electrons.com>,
Nicolas Ferre <nicolas.ferre@atmel.com>,
linux-watchdog@vger.kernel.org,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 2/2] at91sam9_wdt: Allow watchdog to reset device at early boot
Date: Fri, 20 Feb 2015 12:04:57 -0800 [thread overview]
Message-ID: <20150220200457.GB29730@roeck-us.net> (raw)
In-Reply-To: <20150220204358.775a9967@bbrezillon>
On Fri, Feb 20, 2015 at 08:43:58PM +0100, Boris Brezillon wrote:
> On Fri, 20 Feb 2015 08:28:55 -0800
> Guenter Roeck <linux@roeck-us.net> wrote:
>
> > On Fri, Feb 20, 2015 at 08:06:23AM -0600, Rob Herring wrote:
> > > On Thu, Feb 19, 2015 at 12:14 AM, Timo Kokkonen
> > > <timo.kokkonen@offcode.fi> wrote:
> > > > Hi,
> > > >
>
> [...]
>
> > > > What I am proposing here is a way to solve this without hacking. I was told
> > > > to think also a way to defer starting the watchdog for a given timeout so
> > > > that user space would have more time to wake up, which sounded like a good
> > > > idea. And this obviously needs to be implemented so that the watchdog is
> > > > guaranteed to reset the device should there be a crash of any kind that
> > > > prevents the watchdog daemon from starting up. There are a lot of details
> > > > that need to be taken care of properly and therefore watchdog core can't do
> > > > much about it, which is why I thought there is no much point trying to do it
> > > > in watchdog core.
> > >
> > > Deferring would assume that the watchdog is not already enabled.
> > >
> > > Putting in how long the kernel should service the watchdog in DT is
> > > like putting soft or hard lockup detection times into DT. These are
> > > kernel settings. If you need to change this, you should update your
> > > kernel or kernel settings, not the DT.
> > >
> > The time to userspace handover may differ from HW variant to HW variant.
> > Some may load faster, some may load slower.
> >
> > Similar, the runtime watchdog timeout may be different from system
> > to system. On a system with faster CPU, and/or one with faster io,
> > one may want (or need) a faster watchdog timeout. I assumed that
> > was accepted and understood when the timeout-sec property was
> > introduced a long time ago, but maybe not.
> >
> > Yes, the problem should be resolved in a generic way. This has been
> > on my mind for a long time, including the problem if a watchdog should
> > or should not stay or become enabled during early boot. All those are
> > system properties which should be addressed generically, and there
> > should be a means to express those properties in devicetree.
> >
> > Problem goes back into the old back-and-forth of what can be in devicetree
> > or not. Sorting that out always takes a long time and a substantial amount
> > of effort. Unfortunately, I don't have that time (writing the code would
> > probably be trivial in comparison).
>
> I once promised myself to propose this stupid idea, so here it is:
> How about creating a new concept called CT (for Config Tree), that
> would reuse the DT syntax and tree representation and add system config
> information to the appropriate devices (something like an overlay
> you'll put on top of your DT).
>
We actually use that approach at work - essentially a system configuration
using dt syntax. It even uses the dt compiler to create dtb files,
only the dtb files are kept as part of the application software.
Problem here though is that we are not talking about configuration,
but about system properties. Secondary problem is that those system
properties can be abused, and "it can be abused, let's reject it"
is always easy. This is made more complicated by the fact that very
few people are willing or even able to go through the exercise of
clearly distinguishing system configuration vs. system properties
when proposing new dt properties, especially since this can be a very
tricky slope and may require 90% communication skills and 10% engineering
skills (use the term 'configuration' once and you are out). Not really
sure how to solve that problem, or if it is even possible to solve it.
> Joke apart, I've had the same kind of discussion quite often lately.
> While I understand DT guys concern to control which property should go
> into the DT which ones should not, some system config are better
> described next to the device they are attached to rather than in the
> cmdline.
>
I think we are very much in agreement here.
Thanks,
Guenter
next prev parent reply other threads:[~2015-02-20 20:05 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-23 10:40 [PATCH] at91sam9_wdt: Allow watchdog to reset device at early boot Timo Kokkonen
2014-11-12 8:20 ` Timo Kokkonen
2014-11-13 9:12 ` Nicolas Ferre
2014-11-14 8:40 ` Timo Kokkonen
2014-11-21 12:23 ` Timo Kokkonen
2014-11-27 6:53 ` Timo Kokkonen
2014-11-27 9:22 ` Nicolas Ferre
2014-11-27 17:23 ` Guenter Roeck
2014-11-27 19:06 ` Boris Brezillon
2014-11-27 19:31 ` Guenter Roeck
2014-11-28 0:30 ` Alexandre Belloni
2014-11-28 6:40 ` Timo Kokkonen
2014-11-27 19:00 ` Boris Brezillon
2014-11-28 6:42 ` Timo Kokkonen
2014-12-05 12:57 ` Timo Kokkonen
2014-12-05 14:12 ` Boris Brezillon
2014-12-05 18:42 ` Timo Kokkonen
2014-12-05 19:02 ` Guenter Roeck
2014-12-05 20:32 ` Timo Kokkonen
2014-12-05 21:39 ` Guenter Roeck
2014-12-06 10:11 ` Timo Kokkonen
2015-01-13 14:53 ` Guenter Roeck
2015-01-14 6:09 ` Timo Kokkonen
2015-02-18 12:57 ` [PATCHv3 0/2] watchdog: Introduce "early-timeout-sec" property Timo Kokkonen
2015-02-18 12:57 ` [PATCH 1/2] devicetree: Document generic watchdog properties Timo Kokkonen
2015-02-18 12:57 ` [PATCH 2/2] at91sam9_wdt: Allow watchdog to reset device at early boot Timo Kokkonen
2015-02-18 13:21 ` Boris Brezillon
2015-02-18 13:59 ` Guenter Roeck
2015-02-18 14:17 ` Boris Brezillon
2015-02-18 14:50 ` Guenter Roeck
2015-02-18 16:00 ` Alexandre Belloni
2015-02-18 17:50 ` Guenter Roeck
2015-02-18 20:21 ` Boris Brezillon
2015-02-19 6:02 ` Timo Kokkonen
2015-02-18 21:11 ` Rob Herring
2015-02-19 6:14 ` Timo Kokkonen
2015-02-20 14:06 ` Rob Herring
2015-02-20 16:28 ` Guenter Roeck
2015-02-20 19:43 ` Boris Brezillon
2015-02-20 20:04 ` Guenter Roeck [this message]
2015-02-20 7:48 ` Jean-Christophe PLAGNIOL-VILLARD
2015-02-20 7:51 ` Boris Brezillon
2015-02-20 16:33 ` Jean-Christophe PLAGNIOL-VILLARD
2015-02-20 17:16 ` Boris Brezillon
2015-02-20 18:06 ` Guenter Roeck
2015-02-23 7:29 ` Timo Kokkonen
2015-02-23 8:51 ` Boris Brezillon
2015-02-23 9:11 ` Timo Kokkonen
2015-02-23 16:19 ` Guenter Roeck
2015-02-23 17:10 ` Rob Herring
2015-02-23 17:43 ` Guenter Roeck
2015-02-20 8:00 ` Timo Kokkonen
2015-02-20 16:09 ` Guenter Roeck
2015-02-18 13:16 ` [PATCHv3 0/2] watchdog: Introduce "early-timeout-sec" property Boris Brezillon
2015-02-18 13:51 ` Timo Kokkonen
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=20150220200457.GB29730@roeck-us.net \
--to=linux@roeck-us.net \
--cc=alexandre.belloni@free-electrons.com \
--cc=boris.brezillon@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=nicolas.ferre@atmel.com \
--cc=robherring2@gmail.com \
--cc=timo.kokkonen@offcode.fi \
/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