Subject: kern/18387: New MI switch code has serious performance issues on i386
To: None <>
From: None <>
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
>Originator:     Steve Woodford
>Release:        NetBSD 1.6H
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
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.
Run -current on i386. Observe serious slow down.
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.