I would like this.

On Sun, Jul 13, 2014 at 8:06 AM, Ted Unangst <t...@tedunangst.com> wrote:
> for reference, i use this. faster query interval and when not idle, slam
> high immediately.
>
> Index: apmd.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/apmd/apmd.c,v
> retrieving revision 1.63
> diff -u -p -r1.63 apmd.c
> --- apmd.c      13 Nov 2013 04:50:21 -0000      1.63
> +++ apmd.c      1 Jul 2014 01:16:29 -0000
> @@ -65,8 +65,8 @@ int doperf = PERF_NONE;
>  #define PERFDEC 20
>  #define PERFMIN 0
>  #define PERFMAX 100
> -#define PERFINCTHRES 10
> -#define PERFDECTHRES 30
> +#define PERFINCTHRES 50
> +#define PERFDECTHRES 60
>
>  extern char *__progname;
>
> @@ -339,9 +339,7 @@ perf_status(struct apm_power_info *pinfo
>                 syslog(LOG_INFO, "cannot read hw.setperf");
>
>         if (forcehi || (avg_idle < PERFINCTHRES && perf < PERFMAX)) {
> -               perf += PERFINC;
> -               if (perf > PERFMAX)
> -                       perf = PERFMAX;
> +               perf = PERFMAX;
>                 setperf(perf);
>         } else if (avg_idle > PERFDECTHRES && perf > PERFMIN) {
>                 perf -= PERFDEC;
> @@ -643,11 +641,12 @@ main(int argc, char *argv[])
>                 sts = ts;
>
>                 if (doperf == PERF_AUTO || doperf == PERF_COOL) {
> -                       sts.tv_sec = 1;
> +                       sts.tv_sec = 0;
> +                       sts.tv_nsec = 200000000;
>                         perf_status(&pinfo, ncpu);
>                 }
>
> -               apmtimeout += sts.tv_sec;
> +               apmtimeout += 1;
>                 if ((rv = kevent(kq, NULL, 0, ev, 1, &sts)) < 0)
>                         break;
>
>

Reply via email to