Subject: kern/18387: New MI switch code has serious performance issues on i386
To: None <gnats-bugs@gnats.netbsd.org>
From: None <steve@mctavish.co.uk>
List: netbsd-bugs
Date: 09/23/2002 21:35:17
>Number:         18387
>Category:       kern
>Synopsis:       New MI switch code has serious performance issues on i386
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Sep 23 13:37:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Steve Woodford
>Release:        NetBSD 1.6H
>Organization:
>Environment:
System: NetBSD oor-wullie 1.6H NetBSD 1.6H (WULLIE) #1: Mon Sep 23 09:42:19 BST 2002 root@oor-wullie:/amd/horace/export/src/netbsd/cvs/current/src/sys/arch/i386/compile/WULLIE i386
Architecture: i386
Machine: i386
>Description:
An i386 kernel compiled from this morning's -current sources has
a serious performance problem.

Running top(1) on an otherwise idle Athlon 1800+ shows ~3% system time
being used. A somewhat slower laptop show a correspondingly larger figure.

As soon as the system is put to any use (e.g. make build of userland),
system time shoots up to near 100% and the application is observed to
run considerably slower than normal.
>How-To-Repeat:
Run -current on i386. Observe serious slow down.
>Fix:
Reverting i386/i386/locore.s to revision 1.258, and i386/include/types.h
to revision 1.35 makes the problem go away.

These revisions effectively disable the __HAVE_CHOOSEPROC functionality
added a few days ago.
>Release-Note:
>Audit-Trail:
>Unformatted: