Messages in this thread | | | From | Alan Tull <> | Date | Mon, 15 Oct 2018 15:38:55 -0500 | Subject | Re: [PATCH] of: overlay: user space synchronization |
| |
On Mon, Oct 15, 2018 at 1:09 PM Frank Rowand <frowand.list@gmail.com> wrote: > > On 10/15/18 01:24, Geert Uytterhoeven wrote: > > > > Please say explicitly that tree_version contains a 32-bit unsigned > > decimal number, which is incremented before and after every change. > > I had to deduce that from the code. > > Good point. I'll add that.
Looking at the code, tree_version being odd or even means something. tree_version is incremented every time the of_mutex is locked or unlocked, such that: * tree_version is odd == of_mutex is locked and the tree is currently be in the process of being changed * tree_version is even == of_version is unlocked again and the changes are finished.
How about making this explicit in the interface by breaking it up into two attributes:
/sys/firmware/devicetree/tree_lock == "locked" or "unlocked". If the tree is locked, you know that the tree may still be changing and the sysfs can't be trusted to be stable yet. Or maybe even more specifically tree_overlay_lock?
/sys/firmware/devicetree/tree_version = a u32 that is incremented once for every overlay added or removed.
Alan
> > > > > > IMHO that is more important than having the sample script here. > > > > Gr{oetje,eeting}s, > > > > Geert > > >
| |