Hi! On Fri, May 31, 2019 at 11:03:26AM +1000, Benjamin Herrenschmidt wrote: > On Thu, 2019-05-30 at 14:37 -0500, Segher Boessenkool wrote: > > On Thu, May 30, 2019 at 05:09:06PM +1000, Alexey Kardashevskiy wrote: > > > so, it is sort-of nack from David and sort-of ack from Segher, what > > > happens now? > > > > Maybe what we really need just a CI call to get all properties of a node > > at once? Will that speed up things enough? > > > > That way you need no change at all in lifetime of properties and how they > > are used, etc.; just a client getting the properties is a lot faster. > > Hrm... if we're going to create a new interface, let's go for what we > need. > > What we need is the FDT. It's a rather ubiquitous thing these days, it > makes sense to have a way to fetch an FDT directly from FW.
That is all you need if you do not want to use OF at all. If you *do* want to keep having an Open Firmware, what we want or need is a faster way to walk huge device trees. > There is no use for the "fetch all properties" cases other than > building an FDT that any of us can think of, and it would create a more > complicated interface than just "fetch an FDT". It is a simple way to speed up fetching the device tree enormously, without needing big changes to either OF or the clients using it -- not in the code, but importantly also not conceptually: everything works just as before, just a lot faster. > So I go for the simple one and agree with Alexey's idea. When dealing with a whole device tree you have to know about the various dynamically generated nodes and props, and handle each appropriately. Segher