From: Guenter Roeck <linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
To: Pantelis Antoniou
<pantelis.antoniou-OWPKS81ov/FWk0Htik3J/w@public.gmane.org>
Cc: Grant Likely
<grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>,
Sebastian Reichel <sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Geert Uytterhoeven
<geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org>,
Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
Matt Porter <matt.porter-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Koen Kooi
<koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f@public.gmane.org>,
Alison Chaiken
<Alison_Chaiken-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>,
Dinh Nguyen <dinh.linux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Jan Lubbe <jluebbe-H4yykcOXDpCzQB+pC5nmwQ@public.gmane.org>,
Alexander Sverdlin
<alexander.sverdlin-OYasijW0DpE@public.gmane.org>,
Michael Stickel <ms-g5CePrrZ5ROELgA04lAiVw@public.gmane.org>,
Dirk Behme <dirk.behme-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Alan Tull
<delicious.quinoa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Sascha Hauer <s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
Michael Bohan <mbohan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
Ionut Nicu <ioan.nicu.ext-OYasijW0DpE@public.gmane.org>,
Michal Simek <monstr-pSz03upnqPeHXe+LvDLADg@public.gmane.org>,
Matt Ranostay <mranostay-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Pete Popov <pete.popov@ko>
Subject: Re: [PATCH v4 2/8] OF: Introduce DT overlay support.
Date: Tue, 27 May 2014 08:21:15 -0700 [thread overview]
Message-ID: <20140527152115.GA30180@roeck-us.net> (raw)
In-Reply-To: <9CF30A1A-5EB6-401E-A0D5-453CB99B4A83-OWPKS81ov/FWk0Htik3J/w@public.gmane.org>
On Tue, May 27, 2014 at 03:24:35PM +0300, Pantelis Antoniou wrote:
> Hi Grant,
>
> On May 27, 2014, at 3:12 PM, Grant Likely wrote:
>
> > On Mon, 26 May 2014 16:42:44 -0700, Guenter Roeck <linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org> wrote:
> >> On 05/26/2014 03:36 PM, Sebastian Reichel wrote:
> >>> Hi,
> >>>
> >>> On Mon, May 26, 2014 at 10:33:03PM +0100, Grant Likely wrote:
> >>>> After thinking about it more, I think it is very likely that removing
> >>>> all the overlays is the correct thing to do in the kexec use-case. When
> >>>> kexec-ing, it makes sense that we'd want the exact same behaviour from
> >>>> the kexec'ed kernel. That means we want the device drivers to do the
> >>>> same thing including loading whatever overlays they depend on.
> >>>>
> >>>> If the flattened tree was left applied, then the behaviour becomes
> >>>> different.
> >>>>
> >>>> I say always remove the overlays unless explicitly told not to, but I'm
> >>>> struggling to come up with use cases where keeping them applied is
> >>>> desirable.
> >>>
> >>> I would assume, that I want them applied in most cases. DT describes
> >>> the hardware. If I kexec into a new kernel I change software, not
> >>> hardware.
> >>>
> >>> Maybe I'm missing the main purpose of the feature. I currently see
> >>> two useful usecases for DT overlays:
> >>>
> >>> 1. The dtb the kernel is booted with cannot be changed for some
> >>> reason, but the board has additional hardware attached (e.g.
> >>> the user added a sensor on the i2c bus)
> >>> 2. The hardware is changed on the fly (e.g. the user flashed the
> >>> FPGA part of a zynq processor), sensors on i2c bus, ...
> >>>
> >>> In both cases the kernel should be booted with the additional
> >>> overlay information IMHO. Though for the second case it should
> >>> be possible to remove the "programmed" hardware information
> >>> somehow.
> >>>
> >>
> >> 3. Some hot-plug device or card is inserted or removed.
> >>
> >> I would argue that the kernel should _not_ be booted with the overlay in place.
> >> Otherwise the code handling overlays would have to have special handling
> >> for the restart case, which is much more complex than just to re-insert
> >> the overlay when it is determined that the device or card is still there.
> >
> > Exactly.
> >
>
> Looks like we are levitating to the 'remove overlays on kexec' approach.
> Is that correct?
>
Let's just assume for a minute that this is not the case, and that loaded
overlays are passed on.
This would be an interesting challenge for the overlay manager, as it would
have to handle a number of startup conditions. After all, it can not take
it as granted that the hardware state did not change after it was stopped
in the old kernel, and before it was started in the new kernel.
- overlay loaded, but hardware/device no longer present
-> unload overlay
- overlay loaded, but different hardware present
-> unload old overlay, load new one
- overlay not loaded, hardware present
-> load overlay
- overlay loaded and matches hardware
-> do nothing
In comparison, its task would be quite straightforward if loaded overlays
are not passed on to the new kernel.
- If hardware is present, load overlay
Ultimately, I seem to be missing something, as I don't really see the benefit
of passing on the loaded overlay(s) to the new kernel. Activation time, maybe,
for the most common case (overlay loaded and matches hardware) ?
Concern though is the other cases, with a mismatch between HW and loaded
overlays. I am not sure if it is even possible to ensure that there are
no race conditions if the devicetree is outdated at system startup. Sure,
that is unlikely to happen in 'normal' operating conditions, but that only
means that it _will_ happen a few hours after the first customer starts
playing with the system.
Guenter
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-05-27 15:21 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-04 12:43 [PATCH v4 0/8] Introducing (yet again) Device Tree Overlays Pantelis Antoniou
2014-04-04 12:43 ` [PATCH v4 1/8] OF: Introduce Device Tree resolve support Pantelis Antoniou
[not found] ` <1396615441-29630-1-git-send-email-pantelis.antoniou-OWPKS81ov/FWk0Htik3J/w@public.gmane.org>
2014-04-04 12:43 ` [PATCH v4 2/8] OF: Introduce DT overlay support Pantelis Antoniou
2014-05-14 10:08 ` Grant Likely
[not found] ` <20140514100856.5198DC4153D-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-05-14 12:11 ` Michael Stickel
[not found] ` <53735D88.5090108-g5CePrrZ5ROELgA04lAiVw@public.gmane.org>
2014-05-14 15:49 ` Grant Likely
[not found] ` <20140514154907.BC65DC40BD2-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-05-14 16:13 ` Guenter Roeck
2014-05-15 7:14 ` Pantelis Antoniou
2014-05-14 13:03 ` Geert Uytterhoeven
2014-05-14 13:18 ` Guenter Roeck
[not found] ` <53736D42.1010302-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2014-05-15 7:15 ` Pantelis Antoniou
2014-05-14 15:34 ` Grant Likely
2014-05-15 7:12 ` Pantelis Antoniou
[not found] ` <E204285C-D6CD-4518-A94F-26BF0570C1B1-OWPKS81ov/FWk0Htik3J/w@public.gmane.org>
2014-05-15 7:20 ` Geert Uytterhoeven
[not found] ` <CAMuHMdUWfQ=2xPhNsS36mT6nv-CfR3_1exZ+5qYgdkjbBntrWg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-16 10:58 ` Grant Likely
[not found] ` <20140516105814.3EA3FC403C2-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-05-16 11:52 ` Geert Uytterhoeven
2014-05-20 5:50 ` Grant Likely
[not found] ` <20140520055026.E3A98C412DA-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-05-20 7:38 ` Geert Uytterhoeven
[not found] ` <CAMuHMdXjWENrq0MW-DU2x7WnaCsWyipN4DO=y0ZTL+3G_fPYGg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-26 10:48 ` Grant Likely
2014-05-26 10:57 ` Geert Uytterhoeven
[not found] ` <CAMuHMdUGdjVKBR5rRzZ274rf7p8XfztNRWEojH1RrZV8c_V1uA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-26 11:08 ` Pantelis Antoniou
2014-05-26 11:23 ` Grant Likely
2014-05-26 11:55 ` Pantelis Antoniou
2014-05-26 15:09 ` Sebastian Reichel
[not found] ` <20140526150942.GA26787-SfvFxonMDyemK9LvCR3Hrw@public.gmane.org>
2014-05-26 15:14 ` Guenter Roeck
2014-05-26 23:00 ` Sebastian Reichel
2014-05-26 15:14 ` Pantelis Antoniou
[not found] ` <A6195DFD-0447-4444-AC09-501C43F09924-OWPKS81ov/FWk0Htik3J/w@public.gmane.org>
2014-05-26 21:33 ` Grant Likely
[not found] ` <20140526213303.C1C73C40E11-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-05-26 21:44 ` Geert Uytterhoeven
2014-05-26 23:47 ` Guenter Roeck
2014-05-27 12:11 ` Grant Likely
2014-05-26 22:36 ` Sebastian Reichel
[not found] ` <20140526223630.GA32691-SfvFxonMDyemK9LvCR3Hrw@public.gmane.org>
2014-05-26 23:42 ` Guenter Roeck
[not found] ` <5383D174.8070304-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2014-05-27 0:32 ` Sebastian Reichel
[not found] ` <20140527003219.GD32691-SfvFxonMDyemK9LvCR3Hrw@public.gmane.org>
2014-05-27 0:54 ` Guenter Roeck
2014-05-27 12:12 ` Grant Likely
[not found] ` <20140527121236.3B818C40A5A-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-05-27 12:24 ` Pantelis Antoniou
[not found] ` <9CF30A1A-5EB6-401E-A0D5-453CB99B4A83-OWPKS81ov/FWk0Htik3J/w@public.gmane.org>
2014-05-27 15:21 ` Guenter Roeck [this message]
2014-05-27 15:38 ` Pantelis Antoniou
[not found] ` <20140527152115.GA30180-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2014-05-27 17:52 ` Geert Uytterhoeven
2014-05-27 18:22 ` Guenter Roeck
2014-05-27 20:11 ` Grant Likely
2014-05-20 12:27 ` Pantelis Antoniou
2014-05-15 14:18 ` Grant Likely
2014-04-04 12:43 ` [PATCH v4 3/8] OF: DT-Overlay configfs interface Pantelis Antoniou
2014-04-04 12:43 ` [PATCH v4 4/8] OF: platform: Add overlay bus handler Pantelis Antoniou
2014-04-04 12:43 ` [PATCH v4 5/8] of: i2c: Export single device registration method Pantelis Antoniou
2014-04-04 12:43 ` [PATCH v4 6/8] OF: i2c: Add overlay bus handler Pantelis Antoniou
2014-04-04 12:44 ` [PATCH v4 7/8] OF: spi: " Pantelis Antoniou
2014-04-04 12:44 ` [PATCH v4 8/8] OF: selftest: Add overlay self-test support Pantelis Antoniou
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=20140527152115.GA30180@roeck-us.net \
--to=linux-0h96xk9xttrk1umjsbkqmq@public.gmane.org \
--cc=Alison_Chaiken-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org \
--cc=alexander.sverdlin-OYasijW0DpE@public.gmane.org \
--cc=delicious.quinoa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=dinh.linux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=dirk.behme-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org \
--cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
--cc=ioan.nicu.ext-OYasijW0DpE@public.gmane.org \
--cc=jluebbe-H4yykcOXDpCzQB+pC5nmwQ@public.gmane.org \
--cc=koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matt.porter-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=mbohan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
--cc=monstr-pSz03upnqPeHXe+LvDLADg@public.gmane.org \
--cc=mranostay-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=ms-g5CePrrZ5ROELgA04lAiVw@public.gmane.org \
--cc=pantelis.antoniou-OWPKS81ov/FWk0Htik3J/w@public.gmane.org \
--cc=pete.popov@ko \
--cc=robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.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).