Thread (16 messages) 16 messages, 7 authors, 2026-03-18

Re: [PATCH] device property: Make modifications of fwnode "flags" thread safe

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2026-03-18 08:49:52
Also in: driver-core, imx, linux-acpi, linux-arm-kernel, linux-devicetree, linux-i2c, linux-spi, lkml, stable

Hi Andy,

On Tue, 17 Mar 2026 at 08:34, Andy Shevchenko
[off-list ref] wrote:
On Tue, Mar 17, 2026 at 08:26:53AM +0100, Wolfram Sang wrote:

...
quoted
Thanks for tackling this issue! I agree it should be fixed, just
wondered about one thing:
quoted
While flags are often modified while under the "fwnode_link_lock",
this is not universally true.
Is it a possibility to use the lock in all code paths instead?
Because...
quoted
    struct list_head consumers;
-   u8 flags;
+   unsigned long flags;
... this change costs some memory on every system. Maybe it can be
avoided?
How much memory does it cost? On most 64-bit architectures is +4 bytes,
rarely +0 bytes, on m68k it might be +2bytes. On 32-bit it most likely
+0 bytes. I expect that 64-bit machines will cope with this bump.
On all architectures with natural alignment of pointers and longs,
it won't cost a thing: struct list_head contains pointers, so the
struct must be padded to a multiple of 4 or 8 bytes anyway.
On m68k[*],  it will cost 2 bytes, as the existing padding is just a
single byte.

[*] Iff m68k ever switches to 32-bit alignment, there won't be an
    additional cost due to the change of flags here, but of course
    there would be a cost all over the place.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help