Date: Wed, 14 Dec 2005 22:41:59 -0500 From: Jonathan Noack <noackjr@alumni.rice.edu> To: Kevin Oberman <oberman@es.net> Cc: stable@freebsd.org Subject: kernel cpu entries (was: Odd performance problems after upgrade from 4.11 to 6.0-Stable) Message-ID: <43A0E607.2030101@alumni.rice.edu> In-Reply-To: <20051215002618.B4D3B5D07@ptavv.es.net> References: <20051215002618.B4D3B5D07@ptavv.es.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43A0E607.2030101>