linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Lennart Poettering <mzxreary@0pointer.de>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Paul Menage <menage@google.com>, Li Zefan <lizf@cn.fujitsu.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	containers@lists.linux-foundation.org,
	jacob.jun.pan@linux.intel.com,
	Arjan van de Ven <arjan@linux.intel.com>,
	linux-kernel@vger.kernel.org, Matt Helsley <matthltc@us.ibm.com>,
	linux-api@vger.kernel.org, Kay Sievers <kay.sievers@vrfy.org>,
	harald@redhat.com, david@fubar.dk, greg@kroah.com,
	Matthew Garrett <mjg59@redhat.com>
Subject: Re: [PATCH, v10 3/3] cgroups: introduce timer slack controller
Date: Sat, 15 Oct 2011 21:11:50 +0200	[thread overview]
Message-ID: <1318705910.2664.5.camel@laptop> (raw)
In-Reply-To: <20111015112006.GA10173@tango.0pointer.de>

On Sat, 2011-10-15 at 13:20 +0200, Lennart Poettering wrote:
> On Fri, 14.10.11 15:43, Andrew Morton (akpm@linux-foundation.org) wrote:
> 
> > > 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?
> 
> Our usecase is basically this:
> 
> consider you have one or more desktop user sessions logged in, each one
> in a timer slack cgroup. Now, userspace already tracks when sessions
> become idle (i.e. currently desktop userspace then starts a screensaver,
> or turns off the screen, or similar), and we'd like to increase the timer slack
> for the session cgroups individually as the individual session becomes
> idle, and decrease it again if the session stops being idle.

> What matters for us here is that the timer slack cgroup controller
> provides us with a very nice way to change the timerslack for the whole
> set of session processes in one go and from the outside. i.e. the idle
> logic in userspace would be trivially easy to implement, since we
> already track per-session idle states and with the timerlsack cgroup
> controller we'd have to touch only a single kernel file to make our
> changes.

I would argue this is an excellent reason not to merge this. This really
is in the camp of lets paper over shitty userspace instead of fix it.

Such a scheme takes away the immediate need to fix crap and therefore
crap will not get fixed. Why not focus on creating tools (I think
powertop really already does everything you need) and track down WTF
apps are firing so many timers when the screen if off.

Also, the downside of your approach is that you treat all applications
the same, what if there is a genuine need for reasonable timer response
and your 'policy' wrecks things?

  reply	other threads:[~2011-10-15 19:11 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-11 16:15 [PATCH, v10 0/3] Introduce timer slack controller Kirill A. Shutemov
2011-10-11 16:15 ` [PATCH, v10 1/3] hrtimer: introduce effective timer slack Kirill A. Shutemov
2011-10-11 16:15 ` [PATCH, v10 2/3] hrtimer: implement PR_GET_EFFECTIVE_TIMERSLACK Kirill A. Shutemov
2011-10-11 16:15 ` [PATCH, v10 3/3] cgroups: introduce timer slack controller Kirill A. Shutemov
     [not found]   ` <1318349729-3108-4-git-send-email-kirill-oKw7cIdHH8eLwutG50LtGA@public.gmane.org>
2011-10-11 16:49     ` Kirill A. Shutemov
2011-10-14 22:43     ` Andrew Morton
     [not found]       ` <20111014154348.ae6267aa.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-10-14 23:34         ` Kirill A. Shutemov
2011-10-15 11:20       ` Lennart Poettering
2011-10-15 19:11         ` Peter Zijlstra [this message]
2011-10-17  1:39           ` Lennart Poettering
     [not found]             ` <20111017013921.GA30035-kS5D54t9nk0aINubkmmoJbNAH6kLmebB@public.gmane.org>
2011-10-17  3:22               ` Matthew Garrett
     [not found]                 ` <20111017032232.GA4816-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2011-10-17  5:21                   ` Arjan van de Ven
     [not found]                     ` <4E9BBB6D.4050004-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2011-10-17  7:36                       ` Peter Zijlstra
2011-10-17  9:38                         ` Thomas Gleixner
2011-10-17 12:46                           ` Matthew Garrett
     [not found]                             ` <20111017124647.GA12838-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2011-10-17 13:06                               ` Peter Zijlstra
2011-10-17 14:11                                 ` Matthew Garrett
     [not found]                                   ` <20111017141147.GA14581-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2011-10-17 14:28                                     ` Peter Zijlstra
2011-10-17 14:35                                       ` Arjan van de Ven
     [not found]                                         ` <4E9C3D39.9020109-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2011-10-17 14:45                                           ` Peter Zijlstra
2011-10-17 14:40                                       ` Matthew Garrett
2011-10-17 14:49                                         ` Peter Zijlstra
2011-10-17 14:59                                           ` Matthew Garrett
2011-10-17 15:11                                             ` Peter Zijlstra
2011-10-17 15:19                                               ` Matthew Garrett
     [not found]                                                 ` <20111017151920.GA16664-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2011-10-17 15:21                                                   ` Peter Zijlstra
2011-10-17 15:31                                                     ` Matthew Garrett
     [not found]                                                       ` <20111017153142.GA17047-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2011-10-17 16:36                                                         ` Peter Zijlstra
2011-10-17 16:49                                                           ` Matthew Garrett
2011-10-17 15:48                                                     ` Alan Cox
     [not found]                                                       ` <20111017164839.3887ee3e-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2011-10-17 16:33                                                         ` Peter Zijlstra
2011-10-17 15:18                                             ` Peter Zijlstra
2011-10-17  7:34                 ` Peter Zijlstra
2011-10-17 13:55                   ` Lennart Poettering
2011-10-17  7:28               ` Peter Zijlstra
2011-10-17 19:46                 ` Valdis.Kletnieks-PjAqaU27lzQ

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1318705910.2664.5.camel@laptop \
    --to=peterz@infradead.org \
    --cc=akpm@linux-foundation.org \
    --cc=arjan@linux.intel.com \
    --cc=containers@lists.linux-foundation.org \
    --cc=david@fubar.dk \
    --cc=greg@kroah.com \
    --cc=harald@redhat.com \
    --cc=jacob.jun.pan@linux.intel.com \
    --cc=kay.sievers@vrfy.org \
    --cc=kirill@shutemov.name \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=matthltc@us.ibm.com \
    --cc=menage@google.com \
    --cc=mjg59@redhat.com \
    --cc=mzxreary@0pointer.de \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).