powerd(8)
sebastian ssmoller
sebastian.ssmoller at gmx.net
Mon Apr 18 05:35:31 PDT 2005
wow - that was fast ;-)
thx - i'll give it a try today and i'll let u know how it works
thx
regards,
seb
On Mon, 18 Apr 2005 14:27:53 +0200
"Poul-Henning Kamp" <phk at phk.freebsd.dk> wrote:
>
> Here's a patch which implements "phk" mode:
>
>
> Index: powerd.c
> ===================================================================
> RCS file: /home/ncvs/src/usr.sbin/powerd/powerd.c,v
> retrieving revision 1.4
> diff -u -r1.4 powerd.c
> --- powerd.c 27 Feb 2005 01:58:49 -0000 1.4
> +++ powerd.c 18 Apr 2005 12:26:03 -0000
> @@ -50,6 +50,7 @@
> enum modes_t {
> MODE_MIN,
> MODE_ADAPTIVE,
> + MODE_PHK,
> MODE_MAX,
> };
>
> @@ -220,6 +221,8 @@
> *mode = MODE_MAX;
> else if (strcmp(arg, "adaptive") == 0)
> *mode = MODE_ADAPTIVE;
> + else if (strcmp(arg, "phk") == 0)
> + *mode = MODE_PHK;
> else
> errx(1, "bad option: -%c %s", (char)ch, optarg);
> }
> @@ -377,6 +380,37 @@
> if (read_usage_times(&idle, &total))
> err(1, "read_usage_times");
>
> + if (mode == MODE_PHK) {
> + for (i = 0; i < numfreqs - 1; i++) {
> + if (freqs[i] == curfreq)
> + break;
> + }
> + if (idle < (total * cpu_running_mark) / 100 &&
> + curfreq < freqs[0]) {
> + i -= 2;
> + if (i < 0)
> + i = 0;
> + if (vflag) {
> + printf("idle time < %d%%, increasing clock"
> + " speed from %d MHz to %d MHz\n",
> + cpu_running_mark, curfreq, freqs[i]);
> + }
> + if (set_freq(freqs[i]))
> + err(1, "error setting CPU frequency %d", freqs[i]);
> + } else if (idle > (total * cpu_idle_mark) / 100 &&
> + curfreq > freqs[numfreqs - 1]) {
> + i++;
> + if (vflag) {
> + printf("idle time > %d%%, decreasing clock"
> + " speed from %d MHz to %d MHz\n",
> + cpu_idle_mark, curfreq, freqs[i]);
> + }
> + if (set_freq(freqs[i]))
> + err(1, "error setting CPU frequency %d", freqs[i]);
> + }
> + continue;
> + }
> +
> /*
> * If we're idle less than the active mark, jump the CPU to
> * its fastest speed if we're not there yet. If we're idle
>
> --
> Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
> phk at FreeBSD.ORG | TCP/IP since RFC 956
> FreeBSD committer | BSD since 4.3-tahoe
> Never attribute to malice what can adequately be explained by
> incompetence. _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to
> "freebsd-current-unsubscribe at freebsd.org"
>
More information about the freebsd-current
mailing list