RELENG_4 -> 5 -> 6: significant performance regression

Matthew D. Fuller fullermd at over-yonder.net
Sat May 13 05:29:32 PDT 2006


On Sat, May 13, 2006 at 03:01:18AM -0400 I heard the voice of
Jonathan Noack, and lo! it spake thus:
> 
> Have you tried putting I586_CPU in there?  See
> http://lists.freebsd.org/pipermail/freebsd-stable/2005-December/020696.html.

As Peter Jeremy mentioned in
<http://lists.freebsd.org/pipermail/freebsd-stable/2005-December/020731.html>,
the primary suspect (optimized copy/zero routines) would never happen
except on a real 586 CPU, and is totally disabled anyway.  See
sys/i386/isa/npx.c line 424-437 (line numbers from rev 1.163, salt to
taste):

#ifdef I586_CPU_XXX
    if (cpu_class == CPUCLASS_586 && npx_ex16 && npx_exists &&
[...]

The #ifdef will never match, and even if it did, the if() would never
kick in unless the CPU was actually a 586.  The #ifdef has been
disabled since rev 1.95 (2001/04/13).


(This isn't to say that there isn't something else hiding somewhere
that I686_CPU doesn't enable that it should, but just nipping another
round of the copy routine discussion in the bud...)


-- 
Matthew Fuller     (MF4839)   |  fullermd at over-yonder.net
Systems/Network Administrator |  http://www.over-yonder.net/~fullermd/
           On the Internet, nobody can hear you scream.


More information about the freebsd-stable mailing list