Re: [PATCH, v10 3/3] cgroups: introduce timer slack controller

Andrew Morton
2011-10-14T22:43:53Z

On Tue, 11 Oct 2011 19:15:29 +0300
"Kirill A. Shutemov" <kirill@shutemov.name> wrote:

> Every task_struct has timer_slack_ns value. This value uses to round up
> poll() and select() timeout values. This feature can be useful in
> mobile environment where combined wakeups are desired.
>
> Originally, prctl() was the only way to change timer slack value of
> a process. So you was not able change timer slack value of another
> process.
>
> cgroup subsys "timer_slack" implements timer slack controller. It
> provides a way to set minimal timer slack value for a group of tasks.
> If a task belongs to a cgroup with minimal timer slack value higher than
> task's value, cgroup's value will be applied.
>
> Timer slack controller allows to implement setting timer slack value of
> a process based on a policy. For example, you can create foreground and
> background cgroups and move tasks between them based on system state.

I'm having trouble understanding the value of this feature. Users can
presently control the timer-slack of a group of processes via
inherit-over-fork.

Perhaps there's a case for providing a way for process A to set process
B's slack. And perhaps B's children. That would be a simpler patch
and would have the considerable advantage that it doesn't require
cgroups.

So.... why should we merge this?