Re: [RFC][PATCH v5 05/14] sched: add a packing level knob

From: Vincent Guittot
Date: Tue Nov 12 2013 - 05:58:04 EST


On 12 November 2013 11:55, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> On Tue, Nov 12, 2013 at 11:44:15AM +0100, Vincent Guittot wrote:
>> On 12 November 2013 11:32, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>> > On Fri, Oct 18, 2013 at 01:52:18PM +0200, Vincent Guittot wrote:
>> >> +int sched_proc_update_packing(struct ctl_table *table, int write,
>> >> + void __user *buffer, size_t *lenp,
>> >> + loff_t *ppos)
>> >> +{
>> >> + int ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
>> >> + if (ret || !write)
>> >> + return ret;
>> >> +
>> >> + if (sysctl_sched_packing_level)
>> >> + sd_pack_threshold = (100 * 1024) / sysctl_sched_packing_level;
>> >> +
>> >> + return 0;
>> >> +}
>> >
>> >> +#ifdef CONFIG_SCHED_PACKING_TASKS
>> >> +static int min_sched_packing_level;
>> >> +static int max_sched_packing_level = 100;
>> >> +#endif /* CONFIG_SMP */
>> >
>> >> +#ifdef CONFIG_SCHED_PACKING_TASKS
>> >> + {
>> >> + .procname = "sched_packing_level",
>> >> + .data = &sysctl_sched_packing_level,
>> >> + .maxlen = sizeof(int),
>> >> + .mode = 0644,
>> >> + .proc_handler = sched_proc_update_packing,
>> >> + .extra1 = &min_sched_packing_level,
>> >> + .extra2 = &max_sched_packing_level,
>> >> + },
>> >> +#endif
>> >
>> > Shouldn't min_sched_packing_level be 1? Userspace can now write 0 and
>> > expect something; but then we don't update sd_pack_threshold so nothing
>> > really changed.
>>
>> value 0 is used to disable to packing feature and the scheduler falls
>> back to default behavior. This value is tested when setting which cpus
>> will be used by the scheduler.
>
> I suspected as much, but it wasn't clear from the Changelog, the patch
> or any comments. Plz as to fix.

Ok. i will add it
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/