Re: [PATCH] rbtree: remove unneeded explicit alignment in struct rb_node

From: Lukas Bulwahn
Date: Thu Aug 05 2021 - 10:14:43 EST


On Thu, Aug 5, 2021 at 4:02 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> On Thu, Aug 5, 2021 at 3:32 PM Lukas Bulwahn <lukas.bulwahn@xxxxxxxxx> wrote:
> >
> > Commit e977145aeaad ("[RBTREE] Add explicit alignment to sizeof(long) for
> > struct rb_node.") adds an explicit alignment to the struct rb_node due to
> > some speciality of the CRIS architecture.
> >
> > The support for the CRIS architecture was removed with commit c690eddc2f3b
> > ("CRIS: Drop support for the CRIS port")
> >
> > So, remove this now unneeded explicit alignment in struct rb_node as well.
> >
> > This basically reverts commit e977145aeaad ("[RBTREE] Add explicit
> > alignment to sizeof(long) for struct rb_node.").
> >
> > Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> > Reported-by: Mete Polat <metepolat2000@xxxxxxxxx>
> > Signed-off-by: Lukas Bulwahn <lukas.bulwahn@xxxxxxxxx>
> > ---
> > applies cleanly on next-20210804, but only x86 compile-checked.
> >
> > Michel, Davidlohr, Jesper, David, please ack.
> >
> > Mete, you might want to re-run your RBT test suite for this change.
> >
> > Andrew, once acked, please pick this minor cleanup into your tree.
>
> Do you know why it needed the extra alignment on cris at the time?
>

I basically only know what David Woodhouse wrote in his commit message:

"... allegedly it was necessary for struct address_space on CRIS,
because it otherwise ended up being only byte-aligned."

> The revert would appear to change the alignment to 16 bits instead
> of 32 bits on m68k as well (not 8 bits as on cris), but I don't know if that
> can cause problems there.
>

I guess this patch would need to be exposed to testing on the various
architectures. I personally can only serve with testing x86 and maybe
with a bit of some arm architecture.

Should we CC the various architecture mailing lists and maintainers on
such a patch, or is that just noise for these maintainers?

Or could we just quickly pick this up into anyone's (Andrew's) tree
for linux-next and expose it to wider testing on other architectures
that way? If we see the patch cause failures (rbtree is widely used in
mm, fs, etc. and hence boot up would probably already fail), then we
know and we can adjust the comment with a patch v2 to know for the
future that this alignment is also relevant for other architectures.

Lukas