On 07/22/2013 10:28:17 AM, Alexander Graf wrote:
Today we generate the device tree once on machine initialization and
then
store the finalized blob in memory to reload it on reset.
This is bad for 2 reasons. First we potentially waste a bunch of RAM
for no
good reason, as we have all information required to regenerate the
device
tree available anyways.
The second reason is even more important. On machine init when we
generate
the device tree for the first time, we don't have all of the devices
fully
initialized yet. But the device tree needs to potentially walk
devices to
put information about them into the device tree.
If you can't produce the entire device tree at init time, how can you
calculate its size with a dry run?
Device trees are generally pretty small; couldn't we just set a maximum
size and allocate that much space?
-Scott