i386: identifycpu(): only calibrate_cyclecounter() on primary CPU
authorcheloha <cheloha@openbsd.org>
Tue, 10 Jan 2023 01:01:18 +0000 (01:01 +0000)
committercheloha <cheloha@openbsd.org>
Tue, 10 Jan 2023 01:01:18 +0000 (01:01 +0000)
commitae6209ab7d3a89efddabb67562af7d6f2b7eb38f
treef876b0a8602e26b4c43408793b9678b6d66e11b7
parentd240ffd03c9d135243b793866d976ce82a5b4679
i386: identifycpu(): only calibrate_cyclecounter() on primary CPU

On i386 during identifycpu(), we call calibrate_cyclecounter() for every
CPU in the system.  This is pointless: every new call clobbers the cpuspeed
measured during the prior call.  It is also extremely slow: every call to
calibrate_cyclecounter() takes about 1 second.

Instead, let's only call calibrate_cyclecounter() once, on the primary CPU.
Multiprocessor i386 machines will now boot much faster.

ok deraadt@
sys/arch/i386/i386/machdep.c