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>

index | next in thread | previous in thread | raw e-mail

On Mon, 2017-10-02 at 09:11 -0700, Russell Haley wrote:
> [...]
> 
> 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'?
> 
> Russ
> 

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

    Why are we working towards a GENERIC kernel for arm?  Who benefits?
     What 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.  Nobody 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.  You 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.  If only someone would mention some.

-- Ian


home | help

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