Hi Bill,

Thanks very much for your comments. Since we're close to the Chinese New
Year holiday, I would assume there will be some delay for the response by
Zhangpeng.

Regards,
Jammy

On Sun, 7 Feb 2021 at 09:35, Xiamingliang (XML, Hisilicon) <
xiamingli...@huawei.com> wrote:

> + zhangpeng,   owner of DT in Hisilicon
>
> -----Original Message-----
> From: Bill Mills [mailto:bill.mi...@linaro.org]
> Sent: 2021年2月7日 1:39
> To: Jammy Zhou <jammy.z...@linaro.org>; boot-architecture@lists.linaro.org;
> Frank Rowand <frowand.l...@gmail.com>
> Cc: Xiamingliang (XML, Hisilicon) <xiamingli...@huawei.com>
> Subject: Re: Ideas for DT improvements
>
> Hi Jammy & Mingliang,
>
> On 2/5/21 2:59 AM, Jammy Zhou wrote:
> > Hi,
> >
> > There are several ideas for DT improvements. Please check if they are
> > reasonable, and any comments are welcome. I would let Mingliang (CCed)
> > share more details if needed.
> >
> > 1) Improve search algorithm performance: Is the binary search tree or
> > other algorithm better than current algorithm?
> >
>
> We will need data to show the problem.  I suppose this would best be done
> when unflatening the data at runtime?  What is the expected gain in boot
> time?  Are there any measurements of how much time is spent in the search
> routines today?
>
> > 2) Reduce DTB space: when use one DTB to support multiple boards, the
> > image is quite big (e.g, ~39MB space for 100 configurations), and some
> > compression algorithm can reduce the space a lot (e.g, from 39MB to 7MB).
> > Shall we have such compression support for DTB? And it can be helpful
> > if we can have more efficient compression algorithm.
> >
>
> This could be done as an enhancement to the DTB loader instead of the DTB
> format itself.
>
> Compressing each DTB (boardx.dtb.xz) will get you gains but compressing a
> set of boards (vmlinux-5.4.0-65-generic-dbt-set-20.tar.xz) might give you
> more.
>
> To be significant, the number of boards would need to be large and the
> size of the rootfs would need to be modest.  A 200 to 300 MB minimal image
> would make an interesting comparison point.  (A rootfs of 10s of MB would
> probably only target a few boards.)
>
> What is the goal of the use case?
> 1) Fit in limited storage ( ex: 256MB )
> 2) Conserve more space of modest storage for container data ( 1GB eMMC)
> 3) Improve boot time
>
> For 3, the load time will be reduced but the decompression time will be
> added.  These need to be balanced based on the CPU.
>
> One pet peeve I have in most of our boot loaders today is that they do
> loading and decompression serially.  During loading the IO is 100% loaded
> and the CPU is very lightly loaded.  During decomoression the CPU is 100%
> loaded and the IO is 0%.  It makes sense to pipleline / overlap these
> things which means that it needs to go into the loader.  To optimize boot
> time the decompression algorithm needs to be chosen correctly.  On smaller
> CPUs the time taken to decompress newer algorithms can greatly outweigh the
> time taken to load the decompressed data. Ideally the time to decompress 1
> block == time to load one block.
> The dynamics shift with CPU and IO performance.
>
> Today, a lot of people focused on boot speed just use decompressed data
> but I think we could do better if we pipeline
>
> > 3) Define specific rule for properties: The property value
> > (FDT_PROP_DATA) itself occupies only ~50% of the total DTB space. And
> > the property of each node is different and the private property name
> > length is too long, for
> > example: “freq-autodown-baseaddress-num” in dt_strings. It seems more
> > reasonable that the property value should occupies more than 70% of
> > the total DTB space. It can probably be achieved to define some rules
> > to restrict the length of property name, etc.
> >
>
> This is harder.  In 2019 I had proposed an ATOM based DTB enhancement
> [2].  I was told Frank Rowand had other proposals for format changes.
>
> Thanks,
> Bill
>
> [2]
>
> https://docs.google.com/document/d/19XbxN-zX-GYwOXdF78lGnp0j7UNx1MT3wzyCjaitO9E/edit?usp=sharing
>
>
> > Thanks,
> > Jammy
> > _______________________________________________
> > boot-architecture mailing list
> > boot-architecture@lists.linaro.org
> > https://lists.linaro.org/mailman/listinfo/boot-architecture
> >
>
> --
> Bill Mills
> Principal Technical Consultant, Linaro
> +1-240-643-0836
> TZ: US Eastern
> Work Schedule:  Tues/Wed/Thur
>
_______________________________________________
boot-architecture mailing list
boot-architecture@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/boot-architecture

Reply via email to