Re: [PATCH 0/6] Shrinking DT memory usage

From: Nicolas Pitre
Date: Fri Oct 06 2017 - 19:24:50 EST


On Fri, 6 Oct 2017, Rob Herring wrote:

> On Fri, Oct 6, 2017 at 4:30 PM, Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> wrote:
> > On Thu, 5 Oct 2017, Rob Herring wrote:
> >
> >> On kernels with a minimal config and a RAM target in the 100s of KB, DT
> >> is quite a hog of runtime memory usage. How much is dependent on how many
> >> nodes and properties in the DT which have a corresponding struct device_node
> >> and struct property in the kernel. Just skipping disabled nodes saves a
> >> lot by not creating the device_nodes in the first place[1], but there's
> >> more low hanging fruit by making some of the fields in struct property and
> >> struct device_node optional. With the changes here, the memory usage goes
> >> from 17KB to under 8KB on QEMU's ARM virt machine which is a relatively
> >> small DT.
> >
> > My test case went from 118072 bytes ddown to 21548 bytes with this
> > series.
>
> Did that include the changes for FDT skipping status=disabled and to
> stop storing the full path of every node? With those 2 alone you said
> it dropped to 25K.

No -- that's with those 6 patches only.

Adding the other 2 patches on top and it is down to 11732 bytes.


Nicolas