Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 02 Oct 2017 10:46:06 -0600
From:      Ian Lepore <ian@freebsd.org>
To:        Russell Haley <russ.haley@gmail.com>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: GENERIC kernel (was Re: BeagleBone Crochet Build Problem)
Message-ID:  <1506962766.22078.69.camel@freebsd.org>
In-Reply-To: <CABx9NuS9XAfWNHM1fAFKV8byhWyv=jXS_W%2BNO3Y6s-CtEQdp6A@mail.gmail.com>
References:  <176dbdd5-1a32-06b2-7dd8-0647cc0fbe20@acm.org> <1506954050.22078.55.camel@freebsd.org> <CABx9NuS9XAfWNHM1fAFKV8byhWyv=jXS_W%2BNO3Y6s-CtEQdp6A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2017-10-02 at 09:11 -0700, Russell Haley wrote:
> [...]
>=20
> Looks like someone is moving some of the kernel config files over to
> GENERIC. Is using GENERIC on arm something that is being encouraged by
> those 'in the know'?
>=20
> Russ
>=20

I keep asking (on irc mostly) and not getting any answer to:

    Why are we working towards a GENERIC kernel for arm? =A0Who benefits?
    =A0What do they get that they don't have now?

There seems to be this general impression that a generic kernel is a
good thing, or even somehow a required thing. =A0Nobody explains why.

I know some anti-answers to the above questions.

    A GENERIC arm kernel does not reduce the number of different arm
    images we have to distribute; that still comes out to roughly one-
    per-board or system or related family of systems, because they still
    need hardware-specific u-boot.

    A GENERIC kernel gives worse performance than a per-soc kernel for
    virtually every soc since we have to compile for the lowest common
    denominator (things like using software divide on systems that have
    hardware divide instructions).

    The x86-world advice of creating your custom kernel config by doing
    "include GENERIC" then adding "nodevice" and "nooption" statements
    to turn off what you don't want is a non-starter with an arm GENERIC
    kernel. =A0You would need sooo many lines of nodevice to turn off soc=
-
    specific stuff for other socs, and also since new socs and drivers
    are always being added, you'd be endlessly chasing a moving target.

    Given the above problem with "include GENERIC", and without a per-
    soc kernel config to start with, there is no practical way to create
    a future-proof custom kernel config.

I'm not, at this point, claiming that these downsides are a reason to
avoid working towards GENERIC, but since there are clearly some
downsides, it seems like a situation where you want to weigh those
against the benefits. =A0If only someone would mention some.

-- Ian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1506962766.22078.69.camel>