From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
To: Mike Galbraith <efault@gmx.de>
Cc: mtk.manpages@gmail.com, Peter Zijlstra <a.p.zijlstra@chello.nl>,
Ingo Molnar <mingo@kernel.org>,
linux-man <linux-man@vger.kernel.org>,
lkml <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: RFC: documentation of the autogroup feature
Date: Wed, 23 Nov 2016 14:54:17 +0100 [thread overview]
Message-ID: <327586fa-4672-d070-0ded-850654586273@gmail.com> (raw)
In-Reply-To: <1479901185.4306.38.camel@gmx.de>
Hi Mike,
First off, I better say that I'm not at all intimate with the details
of the scheduler, so bear with me...
On 11/23/2016 12:39 PM, Mike Galbraith wrote:
> On Tue, 2016-11-22 at 16:59 +0100, Michael Kerrisk (man-pages) wrote:
>
>> ┌─────────────────────────────────────────────────────┐
>> │FIXME │
>> ├─────────────────────────────────────────────────────┤
>> │The following is a little vague. Does it need to be │
>> │made more precise? │
>> └─────────────────────────────────────────────────────┘
>> The CFS scheduler employs an algorithm that distributes the CPU
>> across task groups. As a result of this algorithm, the pro‐
>> cesses in task groups that contain multiple CPU-intensive pro‐
>> cesses are in effect disfavored by the scheduler.
>
> Mmmm, they're actually equalized (modulo smp fairness goop), but I see
> what you mean.
I couldn't quite grok that sentence. My problem is resolving "they".
Do you mean: "the CPU scheduler equalizes the distribution of
CPU cycles across task groups"?
>
>> A process's autogroup (task group) membership can be viewed via
>> the file /proc/[pid]/autogroup:
>>
>> $ cat /proc/1/autogroup
>> /autogroup-1 nice 0
>>
>> This file can also be used to modify the CPU bandwidth allo‐
>> cated to a task group. This is done by writing a number in the
>> "nice" range to the file to set the task group's nice value.
>> The allowed range is from +19 (low priority) to -20 (high pri‐
>> ority). Note that all values in this range cause a task group
>> to be further disfavored by the scheduler, with -20 resulting
>> in the scheduler mildy disfavoring the task group and +19
>> greatly disfavoring it.
>
> Group nice levels exactly work the same as task nice levels, ie
> negative nice increases share, positive nice decreases it relative to
> the default nice 0.
Yes, got it now.
>> ┌─────────────────────────────────────────────────────┐
>> │FIXME │
>> ├─────────────────────────────────────────────────────┤
>> │Regarding the previous paragraph... My tests indi‐ │
>> │cate that writing *any* value to the autogroup file │
>> │causes the task group to get a lower priority.
>
> (patchlet..
Writing documentation finds bugs. Who knew? ;-)
> I'd prefer to whack the knob, but like the on/off switch,
> it may be in use, so I guess we're stuck with it)
>
>> ┌─────────────────────────────────────────────────────┐
>> │FIXME │
>> ├─────────────────────────────────────────────────────┤
>> │Is the following correct? Does the statement need to │
>> │be more precise? (E.g., in precisely which circum‐ │
>> │stances does the use of cgroups override autogroup?) │
>> └─────────────────────────────────────────────────────┘
>> The use of the cgroups(7) CPU controller overrides the effect
>> of autogrouping.
>
> Correct, autogroup defers to cgroups. Perhaps mention that moving a
> task back to the root task group will result in the autogroup again
> taking effect.
In what circumstances does a process get moved back to the root
task group?
Actually, can you define for me what the root task group is, and
why it exists? That may be worth some words in this man page.
>> ┌─────────────────────────────────────────────────────┐
>> │FIXME │
>> ├─────────────────────────────────────────────────────┤
>> │What needs to be said about autogroup and real-time │
>> │tasks? │
>> └─────────────────────────────────────────────────────┘
>
> That it does not group realtime tasks, they are auto-deflected to the
> root task group.
Okay. Thanks.
Cheers,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
next prev parent reply other threads:[~2016-11-23 13:54 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-22 15:59 RFC: documentation of the autogroup feature Michael Kerrisk (man-pages)
2016-11-23 10:33 ` [patch] sched/autogroup: Fix 64bit kernel nice adjustment Mike Galbraith
2016-11-23 13:47 ` Michael Kerrisk (man-pages)
2016-11-23 14:12 ` Mike Galbraith
2016-11-23 14:20 ` Michael Kerrisk (man-pages)
2016-11-23 15:55 ` Mike Galbraith
2016-11-24 6:24 ` [tip:sched/urgent] sched/autogroup: Fix 64-bit kernel nice level adjustment tip-bot for Mike Galbraith
2016-11-23 11:39 ` RFC: documentation of the autogroup feature Mike Galbraith
2016-11-23 13:54 ` Michael Kerrisk (man-pages) [this message]
2016-11-23 15:33 ` Mike Galbraith
2016-11-23 16:04 ` Michael Kerrisk (man-pages)
2016-11-23 17:11 ` Mike Galbraith
2016-11-24 21:41 ` RFC: documentation of the autogroup feature [v2] Michael Kerrisk (man-pages)
2016-11-25 12:52 ` Afzal Mohammed
2016-11-25 13:04 ` Michael Kerrisk (man-pages)
2016-11-25 13:02 ` Mike Galbraith
2016-11-25 15:04 ` Michael Kerrisk (man-pages)
2016-11-25 15:48 ` Michael Kerrisk (man-pages)
2016-11-25 15:51 ` Mike Galbraith
2016-11-25 16:08 ` Michael Kerrisk (man-pages)
2016-11-25 16:18 ` Peter Zijlstra
2016-11-25 16:34 ` Michael Kerrisk (man-pages)
2016-11-25 20:54 ` Michael Kerrisk (man-pages)
2016-11-25 21:49 ` Peter Zijlstra
2016-11-29 7:43 ` Michael Kerrisk (man-pages)
2016-11-29 11:46 ` Peter Zijlstra
2016-11-29 13:44 ` Michael Kerrisk (man-pages)
2016-11-25 16:04 ` Peter Zijlstra
2016-11-25 16:13 ` Peter Zijlstra
2016-11-25 16:33 ` Michael Kerrisk (man-pages)
2016-11-25 22:48 ` Peter Zijlstra
2016-11-23 16:05 ` RFC: documentation of the autogroup feature Michael Kerrisk (man-pages)
2016-11-23 17:19 ` Mike Galbraith
2016-11-23 22:12 ` Michael Kerrisk (man-pages)
2016-11-27 21:13 ` Michael Kerrisk (man-pages)
2016-11-28 1:46 ` Mike Galbraith
[not found] ` <1127218a-dd9b-71a8-845d-3a83969632fc@gmail.com>
2016-11-29 9:10 ` Michael Kerrisk (man-pages)
2016-11-29 13:46 ` Mike Galbraith
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=327586fa-4672-d070-0ded-850654586273@gmail.com \
--to=mtk.manpages@gmail.com \
--cc=a.p.zijlstra@chello.nl \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-man@vger.kernel.org \
--cc=mingo@kernel.org \
--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).