Messages in this thread | | | Date | Thu, 20 Oct 2011 01:31:11 +0200 | From | Lennart Poettering <> | Subject | Re: A Plumber’ s Wish List for Linux |
| |
On Wed, 19.10.11 16:09, Paul Menage (paul@paulmenage.org) wrote:
> On Wed, Oct 19, 2011 at 4:03 PM, Lennart Poettering > <mzxreary@0pointer.de> wrote: > > > > For our systemd usecase a cgroup.signal file would not be useful. This > > is because we actually kill all members of the service's cgroup plus the > > main process of the service, which is usually also in the service's > > cgroup but sometimes isn't (for example: when the user logs in, the > > whole /sbin/login process ends up in the user's session cgroup, and is > > removed from the original service cgroup). Since we want to avoid > > killing the main service process twice in the case where it isn't in the > > servce cgroup we'd hence prefer to have some fork throttling logic in > > place, so that we can kill members flexibly in accordance with these > > rules. > > By fork-throttling, do you just mean "0 or unlimited", or would you > actually want some kind of rate-limited throttling? If the former, > than I agree with Frederick that his task counter should solve that > problem.
Given that shutting down some services might involve forking off a few things (think: a shell script handling shutdown which forks off a couple of shell utilities) we'd want something that is between "from now on no forking at all" and "unlimited forking". This could be done in many different ways: we'd be happy if we could do time-based rate limiting, but we'd also be fine with defining a certain budget of additional forks a cgroup can do (i.e. "from now on you can do 50 more forks, then you'll get EPERM).
Lennart
-- Lennart Poettering - Red Hat, Inc.
| |