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

From: Rob Herring
Date: Fri Oct 06 2017 - 18:10:49 EST


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.

> Tested-by: Nicolas Pitre <nico@xxxxxxxxxx>

Thanks.

Rob