[SRU][K/Unstable][PATCH 0/1] Merge riscv64 config and annotations

Dimitri John Ledkov 🏳️‍🌈 dimitri.ledkov at canonical.com
Mon Jun 27 09:32:42 UTC 2022

On Fri, 24 Jun 2022 at 14:13, Andrea Righi <andrea.righi at canonical.com> wrote:
> On Fri, Jun 24, 2022 at 09:31:09AM +0100, Emil Renner Berthing wrote:
> > [Impact]
> >
> >  * We would like to eventually build and test the unstable and generic
> >    kernels on the riscv64 architecture. Fixing this is a step towards
> >    that.
> >
> >  * Having the riscv64 configuration alongside the other architectures
> >    should ensure it doesn't drift away from the generic configuration
> >    over time.
> >
> >  * This allows us to do backports more easily.
> >
> > [Test Plan]
> >
> >  * After merging riscv64 the generated configuration for other
> >    architectures should not change.
> >
> >  * The generated riscv64 configuration should be as close as possible to
> >    the current linux-riscv configuration. Right now unstable is based on
> >    5.19 while the riscv kernel is based on 5.18, so it can't be identical.
> >
> > [Where problems could occur]
> >
> >  * Adding the riscv64 annotations may subtly change annotations from other
> >    architectures.
> >
> >  * Adding the riscv64 configuration and annotations might confuse tooling
> >    scripts that are not prepared to handle the new architecture.
> >
> > [Other Info]
> >
> >  * In the near future we'd also like to base the StarFive and Allwinner
> >    (Nezha) kernels on the same series that will become the generic kinetic
> >    kernel.
> >
> > Emil Renner Berthing (1):
> >   UBUNTU: [Config] Merge riscv64 config and annotations
> This doesn't apply anymore to linux-unstable, that is now moving toward
> 5.19.
> And in general, I'm a bit skeptical to apply this to the generic kernel,
> it just means more work to have a generic kernel ready when we move to a
> new upstream kernel version (because of the extra work to re-align the
> config/annotations also for riscv).
> I'd be definitely better to maintain riscv configs/annotations in a
> separate derivative kernel from this point of view...

One still desires to have the arch-independent config options to be
annotated for all architectures in the unstable/generic kernel. As
riscv64 derivative kernels at the moment cannot inherit annotations
from the unstable or generic, because unstable/generic do not contain
any riscv64 arch annotations. For example recently Tim asked me to
make my derivative kernel to use v3 annotation format and include
parent annotations
which currently is not possible to do.

Secondly, because unstable/generic configs are used to cross-build
mainline-ppa builds we currently do not produce riscv64
mainline-builds, having riscv64 configs in the unstable/generic tree
will help us enable mainline-ppa builds for riscv64 which will bring a
lot of riscv64 developers to the Ubuntu platform.

Yes, this change will result in more time needed to upgrade configs &
annotations when tracking new vanilla releases. However, it will save
time when doing configs and annotations in the derivative riscv64
kernels, of which we now have 3. If questions arise as to what options
should be elected for riscv64 - we can always punt that question to
emil; or pick whatever kconfig offers as default and fixup later.

Happy Pride,


More information about the kernel-team mailing list