Subject: port-i386/12682: idle loop causes awful performance hits
To: None <gnats-bugs@gnats.netbsd.org>
From: None <dogcow@redback.com>
List: netbsd-bugs
Date: 04/16/2001 23:12:50
>Number: 12682
>Category: port-i386
>Synopsis: idle loop causes awful performance hits
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: port-i386-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Apr 16 23:13:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:
>Release: <NetBSD-current source date>NetBSD 1.5.1_BETA, 16 Apr 2001
>Organization:
>Environment:
System: NetBSD fartmangler.redback.com 1.5.1_ALPHA NetBSD 1.5.1_ALPHA (NETZUUL) #33: Tue Apr 10 23:12:26 PDT 2001 notroot@zuul.redback.com:/amd/netapp6/netbsd15/nbsrc/sys/arch/i386/compile/NETZUUL i386
>Description:
There is something majorly wrong with the idle loop on 1.5 i386.
When you remove the hlt instruction from idle() in locore.s, I get
an average of 18% faster compile times (on a 733mhz P3.)
Furthermore, my cow orker reports that if you run a program that just
sucks up excess CPU time, you can get up to 50% better performance when
compiling via NFS.
This is Bad and Wrong.
>How-To-Repeat:
time a compile of something with the normal 1.5.x kernel.
remove hlt from locore.s, recompile kernel.
time a compile of the same something. note dramatic increase in speed.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: