Re: your mail

From: Jamie Lokier (jamie_at_shareable.org)
Date: 09/30/03

  • Next message: John Bradford: "Re: your mail"
    Date:	Tue, 30 Sep 2003 15:06:27 +0100
    To: Dave Jones <davej@redhat.com>, John Bradford <john@grabjohn.com>, akpm@osdl.org, torvalds@osdl.org, linux-kernel@vger.kernel.org
    
    

    Dave Jones wrote:
    > On Tue, Sep 30, 2003 at 09:17:16AM +0100, John Bradford wrote:
    > > Of course a kernel compiled strictly for 386s may seem to boot on an
    > > Athlon but not work properly. So what? Just don't run the 'wrong'
    > > kernel.
    >
    > Wrong answer. How do you intend to install Linux when a distro boot
    > kernel is compiled for lowest-common-denominator (386), and is the
    > 'wrong' kernel for an Athlon ?

    I'm not sure what the fuss is; a strict 386 kernel runs just fine
    without any problems on an Athlon. But anyway...

    Dave, you are conflating "kernel compiled strictly for 386s" with
    "compiled for lowest-common-denominator".

    They are totally different configurations. Isn't that why we have
    "generic" now?

    The latter is for distro boots. The former is for that
    386-as-a-firewall with 1MB of RAM, where it _really_ has to trim
    everything it can, and no errata thank you.

    I've not heard of anyone actually wanting a strict 386 kernel lately,
    but strict 486 is not so unusual.

    Just as some people want a P4 optimised kernel, and some people want a
    K7 optimised kernel, so some people want a 386 or 486 or Pentium
    optimised kernel. Lowest-common-denominator means it runs on
    everything, and isn't really anything to do with 386 any more - that's
    not really the lowest-common-denominator, by virtue of the obvious
    fact that pure 386 code isn't reliable on all other CPUs.

    > We hashed this argument out a week or so ago, it seems the message
    > didn't get across. YOU CAN NOT DISABLE ERRATA WORKAROUNDS IN A KERNEL
    > THAT MAY POSSIBLY BOOT ON HARDWARE THAT WORKAROUND IS FOR.

    I agree. It shouln't be possible to boot on the wrong hardware: it
    should refuse.

    There is precedent: X86_GOOD_APIC && X86_LOCAL_APIC: when booted on a
    non-MMX P5, it refuses to boot, because it does not contain the errata
    workaround.

    Unfortunately the kernel has opposite precedents too.

    By selecting a PII kernel, it is possible to configure out the code
    for X86_PPRO_FENCE and X86_F00F_BUG, yet as far as I can tell, those
    _can_ possibly boot on kernels where the errata are needed, and nary a
    printk is emitted for it. Nasty bugs they are, too.

    More generally than the CPU, you can also configure out BLK_DEV_RZ1000
    which is another crucial workaround that needs to go in any
    lowest-common-denominator kernel. Basically, if you're building a
    distro boot kernel, you must turn on all known workarounds. That's
    certainly lowest-common-denominator, but it's a far cry from the
    configuration that a 386-as-firewall user wants.

    > clearer?

    If the kernel had a consistent policy so far, it would be more clear,
    but it doesn't.

    -- Jamie
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: John Bradford: "Re: your mail"

    Relevant Pages