On Mon, Mar 19, 2018 at 9:11 PM, David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> wrote: > On Mon, Mar 19, 2018 at 04:11:28PM +0530, Srivatsa Vaddagiri wrote: >> * David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> [2018-03-19 17:14:01]: >> >> > > We could compile both feature-soc.dts and feauture-boardX.dts as >> > > feature-soc.dtbo/feature-boardX.dtbo respectively and overlay them one after >> > > other at runtime (in bootloader), but that introduces impact to boot-time. This >> > > is the reason why we want to merge offline at compile time. >> > >> > Is the difference actually significant? I wouldn't have expected >> > pre-merging the dtbos to actually speed up the application all that >> > much, since the application itself should be roughly linear in the >> > total number of fragments, which won't change. >> >> I think currently bootloader looks for a matching board.dtbo and stops the >> search at the first match? By splitting board overlay file into multiple >> fragments/overlay blobs, bootloader has to spend more time looking for all >> matches, which I think will have some impact. Even 10ms impact is a concern for >> some usecases like automotive/IoT devices. > > "I think will have some impact" isn't really enough justification. > I'm looking for a concrete case with measured latency that's too high > - and an indication that the change makes a significant difference. > > Given the usually small size of dtbs, it's not at all obvious to me > that pre-merging them would save 10ms. IMO, regardless of speed, I think having the ability to merge overlays is useful on it's own. But it is a different operation than apply and certainly should be a new API. We might also want to consider if merging just plain dtbs is useful. That would come for free with overlays being the additional steps of dealing with the overlay specific nodes. Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html