FreeBSD Bugzilla – Attachment 104101 Details for
Bug 144232
[cpufreq] [patch] Add debug.cpufreq.highest to cpufreq
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 2.78 KB, created by
Boris Kochergin
on 2010-02-23 14:40:00 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
Boris Kochergin
Created:
2010-02-23 14:40:00 UTC
Size:
2.78 KB
patch
obsolete
>--- sys/kern/kern_cpu.c.orig 2010-02-22 22:40:37.000000000 -0500 >+++ sys/kern/kern_cpu.c 2010-02-22 23:11:03.000000000 -0500 >@@ -131,12 +131,16 @@ > DRIVER_MODULE(cpufreq, cpu, cpufreq_driver, cpufreq_dc, 0, 0); > > static int cf_lowest_freq; >+static int cf_highest_freq; > static int cf_verbose; > TUNABLE_INT("debug.cpufreq.lowest", &cf_lowest_freq); >+TUNABLE_INT("debug.cpufreq.highest", &cf_highest_freq); > TUNABLE_INT("debug.cpufreq.verbose", &cf_verbose); > SYSCTL_NODE(_debug, OID_AUTO, cpufreq, CTLFLAG_RD, NULL, "cpufreq debugging"); > SYSCTL_INT(_debug_cpufreq, OID_AUTO, lowest, CTLFLAG_RW, &cf_lowest_freq, 1, > "Don't provide levels below this frequency."); >+SYSCTL_INT(_debug_cpufreq, OID_AUTO, highest, CTLFLAG_RW, &cf_highest_freq, 1, >+ "Don't provide levels above this frequency."); > SYSCTL_INT(_debug_cpufreq, OID_AUTO, verbose, CTLFLAG_RW, &cf_verbose, 1, > "Print verbose debugging messages"); > >@@ -306,6 +310,14 @@ > goto out; > } > >+ /* Reject levels that are above our specified threshold. */ >+ if (cf_highest_freq > 0 && level->total_set.freq > cf_highest_freq) { >+ CF_DEBUG("rejecting freq %d, greater than %d limit\n", >+ level->total_set.freq, cf_highest_freq); >+ error = EINVAL; >+ goto out; >+ } >+ > /* If already at this level, just return. */ > if (CPUFREQ_CMP(sc->curr_level.total_set.freq, level->total_set.freq)) { > CF_DEBUG("skipping freq %d, same as current level %d\n", >@@ -633,8 +645,13 @@ > continue; > } > >- /* Skip levels that have a frequency that is too low. */ >- if (lev->total_set.freq < cf_lowest_freq) { >+ /* >+ * Skip levels that have a frequency that is too low or too >+ * high. >+ */ >+ if (lev->total_set.freq < cf_lowest_freq || >+ (cf_highest_freq > 0 && >+ lev->total_set.freq > cf_highest_freq)) { > sc->all_count--; > continue; > } > >--- share/man/man4/cpufreq.4.orig 2010-02-23 09:24:45.000000000 -0500 >+++ share/man/man4/cpufreq.4 2010-02-23 09:25:59.000000000 -0500 >@@ -98,6 +98,11 @@ > This setting is also accessible via a tunable with the same name. > This can be used to disable very low levels that may be unusable on > some systems. >+.It Va debug.cpufreq.highest >+Highest CPU frequency in MHz to offer to users. >+This setting is also accessible via a tunable with the same name. >+This can be used to disable very high levels that may be unusable on >+some systems. > .It Va debug.cpufreq.verbose > Print verbose messages. > This setting is also accessible via a tunable with the same name.
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 144232
: 104101