freebsd-dev/sys/amd64
John Baldwin ad86a65e32 Adjust the handling the various timer frequencies when using the lapic
timer.  Previously, the various divisors were fixed which meant that while
it gave somewhat reasonable stathz, etc. at hz=1000, it went off the rails
with any other hz value.  With these changes, we now pick a lapic timer hz
based on the value of hz.  If hz is >= 1500, then the lapic timer runs at
hz.  If 1500 hz >= 750, we run the lapic timer at hz * 2.  If hz < 750, we
run at hz * 4.  We compute a divider at runtime to make stathz run as close
to 128 as we can since stathz really wants to be run at something close to
that frequency.  Profiling just runs on every clock tick.  So some examples:

With hz = 100, the lapic timer now runs at 400 instead of 2000.  stathz
will be 133, and profhz = 400.  With hz = 1000 (default), the lapic timer
is still at 2000 (as it is now), stathz is at 133 (as it is now), and
profhz will be 2000 (previously 666).

MFC after:	2 weeks
2008-08-23 12:35:43 +00:00
..
acpica
amd64 Adjust the handling the various timer frequencies when using the lapic 2008-08-23 12:35:43 +00:00
compile
conf Integrate the new MPSAFE TTY layer to the FreeBSD operating system. 2008-08-20 08:31:58 +00:00
ia32 Bring back the save/restore of the %ds, %es, %fs and %gs registers for 2008-07-30 11:30:55 +00:00
include Extend the support for PCI-e memory mapped configuration space access: 2008-08-22 02:14:23 +00:00
isa Now that all platforms use genclock, shuffle things around slightly 2008-04-22 19:38:30 +00:00
linux32 Bring back the save/restore of the %ds, %es, %fs and %gs registers for 2008-07-30 11:30:55 +00:00
pci Extend the support for PCI-e memory mapped configuration space access: 2008-08-22 02:14:23 +00:00
Makefile