Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Dec 2005 06:43:20 -0600
From:      Randy Rowe <rerowe@rerowe.com>
To:        noackjr@alumni.rice.edu
Cc:        stable@freebsd.org
Subject:   Re: kernel cpu entries
Message-ID:  <43A164E8.7040700@rerowe.com>
In-Reply-To: <43A0E607.2030101@alumni.rice.edu>
References:  <20051215002618.B4D3B5D07@ptavv.es.net> <43A0E607.2030101@alumni.rice.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Jonathan Noack wrote:

> Kevin Oberman wrote:
>
>> Scott Long wrote:
>>
>>> Also, taking out CPU_I586 is usually a bad idea.  It offers no
>>> performance penalties (unlike CPU_I386 and maybe CPU_I486), but
>>> enables things like optimized bcopy.
>>
>>
>> Ahh, This is the sort of thing I never realized. Is there anything in
>> the handbook that covers this? I had always been under the impression
>> that CPU_I686 enabled all things that the 686 was capable of. I will
>> build a new kernel to add that back in.
>
>
> From tuning(7):
> **************************************************
> There are a number of *_CPU options that can be commented out.  If you
> only want the kernel to run on a Pentium class CPU, you can easily
> remove I486_CPU, but only remove I586_CPU if you are sure your CPU is
> being recognized as a Pentium II or better.  Some clones may be
> recognized as a Pentium or even a 486 and not be able to boot without
> those options.  If it works, great!  The operating system will be able
> to better use higher-end CPU features for MMU, task switching,
> timebase, and even device operations...
> **************************************************
>
> From /sys/i386/conf/NOTES:
> **************************************************
> # You must specify at least one CPU (the one you intend to run on);
> # deleting the specification for CPUs you don't need to use may make
> # parts of the system run faster.
> **************************************************
>
> From npx(4) (also see /sys/i386/i386/support.s):
> **************************************************
> The NPX registers are normally used to optimize copying and zeroing
> when all of the following conditions are satisfied:
> 1.   cpu I586_CPU is an option
> ...
> Then copying and zeroing using the NPX registers is normally 30-100%
> faster.
> **************************************************
>
> All is rosy until you see that I586_CPU looks like a loss for blowfish
> (if you have an i686 CPU):
> /sys/crypto/blowfish/arch/i386/bf_enc.S
>
> As I use AES, I guess I586_CPU is a win for me.  Despite this, I think
> it makes the most sense for I686_CPU to enable the optimized bcopy if
> it really is a win for i686 CPUs.
>
> -Jonathan
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"

As another entry point here, this is from LINT on 4.x

#####################################################################
# CPU OPTIONS

#
# You must specify at least one CPU (the one you intend to run on);
# deleting the specification for CPUs you don't need to use may make
# parts of the system run faster.  This is especially true removing
# I386_CPU.
#
cpu             I386_CPU
cpu             I486_CPU
cpu             I586_CPU                # aka Pentium(tm)
cpu             I686_CPU                # aka Pentium Pro(tm)


I have multiple dual and quad Pentium Pro machines running 4.x that have
been
remarkably stable using the I686_CPU setting (kudos to the developers!!).
So I add myself to the list of those that have been removing the
I586_CPU option.

Randy



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