From: Rob Herring <robh@kernel.org>
To: Pantelis Antoniou <panto@antoniou-consulting.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Kumar Gala <kumar.gala@linaro.org>,
"ksummit-discuss@lists.linuxfoundation.org"
<ksummit-discuss@lists.linuxfoundation.org>,
Ian Lepore <ian@freebsd.org>,
"devicetree-spec@vger.kernel.org"
<devicetree-spec@vger.kernel.org>,
"Bird, Timothy" <Tim.Bird@sony.com>
Subject: Re: [Ksummit-discuss] Devicetree Workshop at Kernel Summit Prague (26 Oct 2017)
Date: Wed, 18 Oct 2017 09:13:52 -0500 [thread overview]
Message-ID: <CAL_JsqJk8mnNGo=eywW0wApxNeLM3dQ0MQAeP6UKNRW852zs=A@mail.gmail.com> (raw)
In-Reply-To: <B7292660-D602-473E-9B47-CF7B4D2449D7@antoniou-consulting.com>
On Wed, Oct 18, 2017 at 7:59 AM, Pantelis Antoniou
<panto@antoniou-consulting.com> wrote:
> Hi Grant,
>
>> On Oct 18, 2017, at 15:14 , Grant Likely <grant.likely@secretlab.ca> wrote:
>>
>> On Tue, Oct 17, 2017 at 8:03 PM, Bird, Timothy <Tim.Bird@sony.com> wrote:
>>>> -----Original Message-----
>>>> From Geert Uytterhoeven on Tuesday, October 17, 2017 10:24 AM
>>>> On Tue, Oct 17, 2017 at 7:02 PM, Kumar Gala <kumar.gala@linaro.org> wrote:
>>>>> I think this also gets to having bindings described in a structured way so
>>>> they can be utilized for validation of dts files. We are doing a little of this in
>>>> Zephyr since we are using a structured binding spec to generate code from
>>>> .dts (since we don’t utilize a runtime dtb).
>>>>
>>>> So you are basically generating board files from .dts?
>>>> (closing the loop ;-)
Briefly, what Zephyr is doing is controlling configuration (what
drivers are built) and generating register base addresses and maybe
interrupts. That's not really board.dts -> board.c.
>>>
>>> I think we ought to do this on Linux, as a size optimization.
>>> -- Tim
>>>
>>> P.S. I think I'll leave it ambiguous whether this was meant as a joke or not. :-)
>>
>
> As crazy that sounds it is possible using the YAML bindings, i.e. C structure definitions
> and fill-up from DT automatically. Whether this is a good idea it’s another question :)
Yeah, yeah. YAML solves *all* the problems.
>> Talk to Nicolas Pitre and Rob Herring about this. They've already made
>> a bunch of progress on reducing memory footprint.
Or just look at linux-next. :) The focus is purely on runtime RAM
usage with all code being XIP. Basically, I've reduced the size of the
unflattened tree by skipping unflattening of disabled nodes and
shrinking the unflattened tree structs. For example removing the
kobject for !SYSFS. This reduced RAM usage from 120K to 11K on an
stm32 board. The next thing in the heat map of RAM usage is struct
device size. There's some things like DMA related elements that could
be moved to separate structures, but that will be quite invasive.
Another idea is to run the kernel unflattening code on the tree at
build time and embed that as const data into the kernel. The
unflattening code is pretty self contained and XIP images are platform
specific anyway. It would also allow running all dtb files thru
unflattening at build time for some validation. Though I'm not sure
there's anything unflattening would fail on that dtc can't check.
Rob
next prev parent reply other threads:[~2017-10-18 14:14 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-09 20:39 Grant Likely
2017-10-14 12:34 ` Thomas Petazzoni
2017-10-17 13:30 ` Grant Likely
2017-10-16 5:36 ` Michal Simek
2017-10-16 14:11 ` Rob Herring
2017-10-18 14:04 ` Michal Simek
2017-10-18 14:28 ` Andre Przywara
2017-10-18 15:32 ` Rob Herring
2017-10-18 16:05 ` Andre Przywara
2017-10-18 16:20 ` Pantelis Antoniou
2017-10-16 16:40 ` Ben Dooks
2017-10-16 18:44 ` Heiko Stübner
2017-10-16 19:45 ` Rob Herring
2017-10-17 13:38 ` Grant Likely
2017-10-17 23:45 ` Frank Rowand
2017-10-17 13:32 ` Grant Likely
2017-10-18 10:08 ` Thomas Petazzoni
2017-10-16 16:42 ` Ben Dooks
2017-10-17 13:34 ` Grant Likely
2017-10-17 9:48 ` Boris Brezillon
2017-10-17 13:21 ` Tom Rini
2017-10-17 13:48 ` Grant Likely
2017-10-17 16:21 ` Ian Lepore
2017-10-17 17:02 ` Kumar Gala
2017-10-17 17:24 ` Geert Uytterhoeven
2017-10-17 19:03 ` Bird, Timothy
2017-10-18 12:14 ` Grant Likely
2017-10-18 12:59 ` Pantelis Antoniou
2017-10-18 13:18 ` Alexandre Belloni
2017-10-18 13:21 ` Geert Uytterhoeven
2017-10-18 17:41 ` Bird, Timothy
2017-10-18 18:00 ` Rob Herring
2017-10-18 21:10 ` Alexandre Belloni
2017-10-18 16:18 ` David Woodhouse
2017-10-18 14:13 ` Rob Herring [this message]
2017-10-18 17:45 ` Bird, Timothy
2017-10-18 14:07 ` Kumar Gala
2017-10-17 17:25 ` Rob Herring
2017-10-18 10:11 ` Thomas Petazzoni
2017-10-18 10:35 ` Chen-Yu Tsai
2017-10-18 11:09 ` Mark Brown
2017-10-18 17:59 ` Tom Rini
2017-10-18 23:28 ` Andrew Turner
2017-10-18 23:53 ` Rob Herring
2017-10-19 14:00 ` Alexandre Torgue
2017-10-19 14:59 ` Rob Herring
2017-10-19 18:46 ` Frank Rowand
2017-10-20 9:55 ` Alexandre Torgue
2017-10-20 10:01 ` David Gibson
2017-10-20 13:37 ` Rob Herring
2017-10-22 8:25 ` David Gibson
2017-10-20 13:47 ` Alexandre Torgue
2017-10-19 0:04 ` Mark Brown
2017-10-19 11:10 ` Grant Likely
2017-10-24 7:37 ` Boris Brezillon
2017-10-25 14:40 ` Maxime Ripard
2017-10-26 5:47 ` Frank Rowand
2017-10-26 7:17 ` Grant Likely
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='CAL_JsqJk8mnNGo=eywW0wApxNeLM3dQ0MQAeP6UKNRW852zs=A@mail.gmail.com' \
--to=robh@kernel.org \
--cc=Tim.Bird@sony.com \
--cc=devicetree-spec@vger.kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=ian@freebsd.org \
--cc=ksummit-discuss@lists.linuxfoundation.org \
--cc=kumar.gala@linaro.org \
--cc=panto@antoniou-consulting.com \
/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