On Tue, Sep 02, 2025 at 09:56:34AM +0200, "Gustavo A. R. Silva" 
<[email protected]> wrote:
> If the increase in size is not a problem, then something like this
> works fine (unless there is a problem with moving those two members
> at the end of cgroup_root?):

Please don't forget to tackle cgroup_root allocators. IIUC, this move
towards the end shifts the burden to them.

There's only the rcu_head we care about.

(You seem to be well versed with flex arrays, I was wondering if
something like this could be rearranged to make it work (assuming the
union is at the end of its containers):

        union {
                struct cgroup *ancestors[];
                struct {
                        struct cgroup *_root_ancestor;
                        struct cgroup *_low_ancestors[];
                };
        };
)

Thanks,
Michal

Attachment: signature.asc
Description: PGP signature

Reply via email to