Re: [RFC] fdt:free the fdt reserved memory

From: Grant Likely
Date: Thu Dec 04 2014 - 07:46:22 EST


On Thu, Dec 4, 2014 at 10:23 AM, Wang, Yalin <Yalin.Wang@xxxxxxxxxxxxxx> wrote:
>> -----Original Message-----
>> From: Grant Likely [mailto:glikely@xxxxxxxxxxxx] On Behalf Of Grant Likely
>> Sent: Thursday, December 04, 2014 6:05 PM
>> To: Wang, Yalin; 'robh+dt@xxxxxxxxxx'; 'devicetree@xxxxxxxxxxxxxxx';
>> 'pawel.moll@xxxxxxx'; 'mark.rutland@xxxxxxx';
>> 'ijc+devicetree@xxxxxxxxxxxxxx'; 'linux-kernel@xxxxxxxxxxxxxxx'
>> Subject: RE: [RFC] fdt:free the fdt reserved memory
>>
>> On Thu, 4 Dec 2014 14:56:11 +0800
>> , "Wang, Yalin" <Yalin.Wang@xxxxxxxxxxxxxx>
>> wrote:
>> > > -----Original Message-----
>> > > From: Grant Likely [mailto:glikely@xxxxxxxxxxxx] On Behalf Of Grant
>> > > Likely
>> > > Sent: Wednesday, September 24, 2014 10:45 PM
>> > > To: Wang, Yalin; 'robh+dt@xxxxxxxxxx'; 'devicetree@xxxxxxxxxxxxxxx';
>> > > 'pawel.moll@xxxxxxx'; 'mark.rutland@xxxxxxx';
>> > > 'ijc+devicetree@xxxxxxxxxxxxxx'; 'linux-kernel@xxxxxxxxxxxxxxx'
>> > > Subject: Re: [RFC] fdt:free the fdt reserved memory
>> > >
>> > > On Thu, 18 Sep 2014 17:25:12 +0800, "Wang, Yalin"
>> > > <Yalin.Wang@xxxxxxxxxxxxxx> wrote:
>> > > > This patch make some change to unflatten_dt_node(), make sure the
>> > > > device_node don't reference to fdt raw blob memory, so that we can
>> > > > free the raw blob reserved memory after initcalls.
>> > > >
>> > > > Signed-off-by: Yalin Wang <yalin.wang@xxxxxxxxxxxxxx>
>> > >
>> > > Do you have any measurements showing a change in available memory
>> > > before and after the patch?
>> > >
>> > Does anyone have a look at this patch?
>> > It can save 12K on my platform,
>> > My dtb is 164K
>>
>> Yes, I've been thinking about this one. Unfortunately there is a conflict
>> with another feature that I'm merging for v3.19. See commit 08d53aa5,
>> "of/fdt: export fdt blob as /sys/firmware/fdt" in linux-next.
>> That commit requires the original blob to be kept around.
>>
>> In order to free the original dtb, the /sys/firmware/fdt feature will need
>> to be changed to let it be configured out. All things considered, that is
>> probably the right thing to do, but doing so increases the memory load for
>> the platforms that want /sys/firmware/fdt. I'd like to see what the impact
>> would be on the code to switch to this method when /sys/firmware/fdt is
>> configured out.
>>
> Oh, I understand,
> If enable /sys/firmware/fdt feature patch, doesn't need
> My patch is fine,
> So need 2 method to unflatten dtb blob.

I don't want to duplicate the function. It would instead need to be a
build time configuration to the function that if /sys/firmware/fdt is
enabled, then copying the property on unflatten is disabled.

g.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/