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: