From: Dave Jones <davej@redhat.com>
To: Adrian Bunk <bunk@fs.tum.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: RFC: [2.6 patch] better i386 CPU selection
Date: Sat, 13 Sep 2003 17:11:49 +0100 [thread overview]
Message-ID: <20030913161149.GA1750@redhat.com> (raw)
In-Reply-To: <20030913125103.GE27368@fs.tum.de>
On Sat, Sep 13, 2003 at 02:51:03PM +0200, Adrian Bunk wrote:
> This patch makes the bzImage for my computer (same .config, same
> compiler, same compiler options) a good 5 kB smaller.
For the invasiveness of the patch, 5KB really is a questionable gain..
> In 2.4 selecting e.g. M486 has the semantics to get a kernel that runs
> on a 486 and above.
> In 2.6 selecting M486 means that only the 486 is supported.
What are you basing this on ? This seems bogus to me.
Last I checked, I could for eg, boot a 386 kernel on an Athlon.
> +config CPU_VIAC3_2
> bool "VIA C3-2 (Nehemiah)"
> help
> - Select this for a VIA C3 "Nehemiah". Selecting this enables usage
> - of SSE and tells gcc to treat the CPU as a 686.
> - Note, this kernel will not boot on older (pre model 9) C3s.
> + Select this for a VIA C3 "Nehemiah" (model 9 and above).
You lost an important part of helptext.
> +config CPU_ONLY_K7
> + bool
> + depends on CPU_K7 && !CPU_INTEL && !CPU_K6 && !CPU_K8 && !X86_ELAN && !CPU_CRUSOE && !CPU_WINCHIP && !CPU_CYRIXIII && !CPU_VIAC3_2
> +
> +config CPU_ONLY_K8
> + bool
> + depends on CPU_K8 && !CPU_INTEL && !CPU_K6 && !CPU_K7 && !X86_ELAN && !CPU_CRUSOE && !CPU_WINCHIP && !CPU_CYRIXIII && !CPU_VIAC3_2
> +
> +config CPU_ONLY_WINCHIP
> + bool
> + depends on CPU_WINCHIP && !CPU_INTEL && !CPU_K6 && !CPU_K7 && !CPU_K8 && !X86_ELAN && !CPU_CRUSOE && !CPU_CYRIXIII && !CPU_VIAC3_2
> + default y
These are hurrendous. Each time we add support for a new CPU we
have to update each and every one of these. This won't fly,
someone *WILL* miss one. We've had this sort of thing happen before,
and its an accident waiting to happen.
> +
> +ifdef CONFIG_CPU_K8
> + ifdef CONFIG_CPU_PENTIUM4
> + cpuflags-y := $(call check_gcc,-march=pentium3,-march=i686)
> + else
> + cpuflags-y := $(call check_gcc,-march=k8,$(call check_gcc,-march=athlon,-march=i686 $(align)-functions=4))
> + endif
> +endif
> +
These horrible nesting things are also a real PITA, as theres >1 case
that needs updating when something changes for a particular
vendor/family. The cflags-$foo stuff in 2.6 was just starting to
become readable, and you want to undo that?
> --- linux-2.6.0-test5-cpu/arch/i386/lib/mmx.c.old 2003-09-13 11:14:00.000000000 +0200
> +++ linux-2.6.0-test5-cpu/arch/i386/lib/mmx.c 2003-09-13 11:17:00.000000000 +0200
> @@ -121,7 +121,7 @@
> return p;
> }
>
> -#ifdef CONFIG_MK7
> +#ifndef CONFIG_CPU_CYRIXIII
>
> /*
> * The K7 has streaming cache bypass load/store. The Cyrix III, K6 and
wtf ?
> --- linux-2.6.0-test5-cpu/arch/i386/mm/init.c.old 2003-09-13 14:18:04.000000000 +0200
> +++ linux-2.6.0-test5-cpu/arch/i386/mm/init.c 2003-09-13 14:23:26.000000000 +0200
> @@ -436,8 +436,12 @@
> if (!mem_map)
> BUG();
> #endif
> -
> +
> +#ifdef CONFIG_CPU_686
> bad_ppro = ppro_with_ram_bug();
> +#else
> + bad_ppro = 0;
> +#endif
>
If we boot a 386 kernel on a ppro with that bug, this goes bang.
> static void __init init_ifs(void)
> {
> +
> +#if defined(CONFIG_CPU_K6)
> amd_init_mtrr();
> +#endif
> +
> +#if defined(CONFIG_CPU_586)
> cyrix_init_mtrr();
> +#endif
> +
> +#if defined(CONFIG_CPU_WINCHIP) || defined(CONFIG_CPU_CYRIXIII) || defined(CONFIG_CPU_VIAC3_2)
> centaur_init_mtrr();
> +#endif
> +
For the handful of bytes saved in the mtrr driver, I'm more concerned
about ifdef noise, and the fact that we don't have a compile once-run
everywhere MTRR driver anymore unless you pick your options right
Dave
--
Dave Jones http://www.codemonkey.org.uk
next prev parent reply other threads:[~2003-09-13 16:13 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-13 12:51 RFC: [2.6 patch] better i386 CPU selection Adrian Bunk
2003-09-13 14:20 ` Kevin P. Fleming
2003-09-13 17:10 ` Adrian Bunk
2003-09-13 16:11 ` Dave Jones [this message]
2003-09-13 16:41 ` Adrian Bunk
2003-09-13 17:21 ` Dave Jones
2003-09-13 18:22 ` Adrian Bunk
2003-09-13 18:35 ` Dave Jones
2003-09-13 21:52 ` Adrian Bunk
2003-09-13 18:21 ` Jeff Garzik
2003-09-13 18:37 ` Dave Jones
2003-09-13 18:53 ` Jeff Garzik
2003-09-13 20:32 ` Alan Cox
2003-09-13 22:07 ` Adrian Bunk
2003-09-13 22:33 ` Jeff Garzik
2003-09-13 18:47 ` Alan Cox
-- strict thread matches above, loose matches on Subject: below --
2003-09-14 8:55 John Bradford
2003-09-14 8:52 John Bradford
[not found] <viay.6qh.11@gated-at.bofh.it>
[not found] ` <vli4.2Ml.15@gated-at.bofh.it>
[not found] ` <vnjR.5Sn.5@gated-at.bofh.it>
[not found] ` <vnD7.6jK.1@gated-at.bofh.it>
[not found] ` <vnMX.6x0.17@gated-at.bofh.it>
[not found] ` <vqKS.2NP.29@gated-at.bofh.it>
2003-09-14 0:07 ` Andi Kleen
2003-09-14 0:10 ` David Lang
2003-09-13 11:04 Mikael Pettersson
2003-09-13 11:02 Mikael Pettersson
2003-09-13 11:13 ` Adrian Bunk
2003-09-12 21:38 Mikael Pettersson
2003-09-12 23:23 ` Adrian Bunk
2003-09-16 12:42 ` Maciej W. Rozycki
2003-09-12 20:09 Mikael Pettersson
2003-09-12 22:51 ` Adrian Bunk
2003-09-07 21:47 Mikael Pettersson
2003-09-07 21:46 Mikael Pettersson
2003-09-07 21:56 ` Adrian Bunk
2003-09-07 16:47 Mikael Pettersson
2003-09-07 17:43 ` Jamie Lokier
2003-09-07 18:09 ` Alan Cox
2003-09-08 8:17 ` Rogier Wolff
2003-09-08 12:36 ` Alan Cox
2003-09-10 14:17 ` Pavel Machek
2003-09-11 6:28 ` Adrian Bunk
2003-09-11 11:04 ` Dave Jones
2003-09-12 20:41 ` Adrian Bunk
2003-09-11 12:10 ` Maciej W. Rozycki
2003-09-12 19:07 ` Adrian Bunk
2003-09-16 12:34 ` Maciej W. Rozycki
2003-09-11 14:25 ` Alan Cox
2003-09-13 10:37 ` Adrian Bunk
2003-09-07 17:51 ` Adrian Bunk
2003-09-07 11:28 Adrian Bunk
2003-09-07 11:46 ` Jan-Benedict Glaw
2003-09-07 13:17 ` Adrian Bunk
2003-09-07 13:48 ` Jan-Benedict Glaw
2003-09-07 12:42 ` Sam Ravnborg
2003-09-07 12:51 ` Adrian Bunk
2003-09-07 12:42 ` Robert Schwebel
2003-09-07 13:00 ` Adrian Bunk
2003-09-07 13:14 ` Robert Schwebel
2003-09-08 15:26 ` Tom Rini
2003-09-07 17:31 ` Alan Cox
2003-09-07 17:48 ` Robert Schwebel
2003-09-07 18:04 ` Alan Cox
2003-09-07 18:26 ` Robert Schwebel
2003-09-07 19:17 ` Alan Cox
2003-09-07 19:17 ` Alan Cox
2003-09-07 17:25 ` Alan Cox
2003-09-11 6:19 ` Adrian Bunk
2003-09-08 0:46 ` Rusty Russell
2003-09-08 14:29 ` Adrian Bunk
2003-09-09 1:11 ` Rusty Russell
2003-09-11 6:22 ` Adrian Bunk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030913161149.GA1750@redhat.com \
--to=davej@redhat.com \
--cc=bunk@fs.tum.de \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox