diff options
author | jkim <jkim@FreeBSD.org> | 2008-10-21 00:38:00 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2008-10-21 00:38:00 +0000 |
commit | 0b6f0646dfbb4de594b633fb94d4e50e4376482c (patch) | |
tree | 7447b782629647c7d066b2eafea4fc939f49b09e /sys/contrib | |
parent | d4d906ba8600be6372142965c16b1830772b3df9 (diff) | |
download | FreeBSD-src-0b6f0646dfbb4de594b633fb94d4e50e4376482c.zip FreeBSD-src-0b6f0646dfbb4de594b633fb94d4e50e4376482c.tar.gz |
Turn off CPU frequency change notifiers when the TSC is P-state invariant
or it is forced by setting 'kern.timecounter.invariant_tsc' tunable
to non-zero.
Diffstat (limited to 'sys/contrib')
-rw-r--r-- | sys/contrib/altq/altq/altq_subr.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/contrib/altq/altq/altq_subr.c b/sys/contrib/altq/altq/altq_subr.c index a3ce202..ab945eb 100644 --- a/sys/contrib/altq/altq/altq_subr.c +++ b/sys/contrib/altq/altq/altq_subr.c @@ -909,6 +909,12 @@ tsc_freq_changed(void *arg, const struct cf_level *level, int status) if (status != 0) return; +#if (__FreeBSD_version >= 800050) && (defined(__amd64__) || defined(__i386__)) + /* If TSC is P-state invariant, don't do anything. */ + if (tsc_is_invariant) + return; +#endif + /* Total setting for this level gives the new frequency in MHz. */ init_machclk(); } |