Re: powerd(8)

From: sebastian ssmoller <sebastian.ssmoller_at_gmx.net>
Date: Mon, 18 Apr 2005 14:35:23 +0200
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
> _at__at_ -50,6 +50,7 _at__at_
>  enum modes_t {
>  	MODE_MIN,
>  	MODE_ADAPTIVE,
> +	MODE_PHK,
>  	MODE_MAX,
>  };
>  
> _at__at_ -220,6 +221,8 _at__at_
>  		*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);
>  }
> _at__at_ -377,6 +380,37 _at__at_
>  		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"
> 
Received on Mon Apr 18 2005 - 10:35:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:32 UTC