Re: [patch 2.6.16-rc4-mm1] Task Throttling V14

Daniel K.
2006-02-26T11:27:06Z

MIke Galbraith wrote:
> On Fri, 2006-02-17 at 14:45 +0100, MIke Galbraith wrote:
> +/*
> + * Masks for p->slice_info, formerly p->first_time_slice.
> + * SLICE_FTS: 0x80000000 Task is in it's first ever timeslice.
> + * SLICE_NEW: 0x40000000 Slice refreshed.
> + * SLICE_SPA: 0x3FFF8000 Spare bits.
> + * SLICE_LTS: 0x00007F80 Last time slice
> + * SLICE_AVG: 0x0000007F Task slice_avg stored as percentage.
> + */
> +#define SLICE_AVG_BITS 7
> +#define SLICE_LTS_BITS 10
> +#define SLICE_SPA_BITS 13
> +#define SLICE_NEW_BITS 1
> +#define SLICE_FTS_BITS 1

I count 8 and 15 bits in the documentation of LTS/SPA respectively, not
10 and 13.

> }
>
> if (likely(sleep_time > 0)) {
> +

Extra line

> + {
> + .ctl_name = KERN_SCHED_THROTTLE1,
> + .procname = "sched_g1",
> + .data = &sched_g1,
> + .maxlen = sizeof (int),
> + .mode = 0644,
> + .proc_handler = &proc_dointvec_minmax,
> + .strategy = &sysctl_intvec,
> + .extra1 = &zero,
> + .extra2 = &sched_g2_max,

sched_g2_max is possibly badly named, as it is used in connection with
sched_g1 here.

> + },
> + {
> + .ctl_name = KERN_SCHED_THROTTLE2,
> + .procname = "sched_g2",
> + .data = &sched_g2,
> + .maxlen = sizeof (int),
> + .mode = 0644,
> + .proc_handler = &proc_dointvec_minmax,
> + .strategy = &sysctl_intvec,
> + .extra1 = &zero,
> + .extra2 = &sched_g2_max,
> + },

Daniel K.