From: Ed Tomlinson <tomlins@cam.org>
To: linux-kernel@vger.kernel.org
Subject: [PATCH] (0-2) governors for 60-bk
Date: Thu, 13 Feb 2003 08:18:18 -0500 [thread overview]
Message-ID: <200302130818.19387.tomlins@cam.org> (raw)
In-Reply-To: <3DF54BD7.726993D@digeo.com>
Hi
Here is an update of my thread group and user governor patch. This
patch reduces timeslices of process belonging to groups with too many
active processes. This, in effect, lowers their priority and makes
it more likely that other tasks can run preventing tasks in a governed
group from using too large a share of the the cpu.
There is a governor for thread groups, which are defined as processes
sharing both mm and files or processes with CLONE_THREAD set. The
default governor is set to 1.5 threads (15). This means that when
there are 2 or more threads active the timeslices will be reduced
as follows:
slice = (slice * 1.5) / 2
A second governor is defined for user processes. This one defaults
to 30 active task (300). A process has only one governor. If its
a member of a thread group that governor applies and it is ignored
by the user governor process.
A couple of notes about the patch. There is debug code in
sched.c that can be enabled if you want to see what is happening.
I would not recommend this code be used on NUMA systems. I am
looking into a version of the patch that would impose the governors
on a per node basis. Earlier versions of this patch counted user
processes incorrectly which caused the user governor to trigger
limiting users when it should not have. This is now fixed.
As it stands now a modified schedule-tunables patch based off the one
found in the mm kernels can optionally be applied. I think that using
the rlimit infrastructure probably makes more sense - comments?
The patches should apply to 60-mk and probably to -mm1 after reversing
the schedule-tunables included in it.
The patch as been tested on UP.
As always comments/suggestion appriecated
Ed Tomlinson
next prev parent reply other threads:[~2003-02-13 13:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-09 8:26 2.5.50-mm2 Andrew Morton
2002-12-13 22:55 ` 2.5.50-mm2 Christoph Hellwig
2002-12-13 19:58 ` 2.5.50-mm2 Andrew Morton
[not found] ` <200212092059.06287.tomlins@cam.org>
[not found] ` <3DF54BD7.726993D@digeo.com>
2003-02-05 4:41 ` [PATCH] let kernel find QT in latest debian sid Ed Tomlinson
2003-02-11 13:13 ` [BUG] link error in usbserial with gcc3.2 Ed Tomlinson
2003-02-12 1:59 ` Ed Tomlinson
2003-02-18 5:51 ` Greg KH
2003-02-18 12:50 ` Ed Tomlinson
2003-02-13 13:18 ` Ed Tomlinson [this message]
2003-02-14 21:38 ` [PATCH] CFQ scheduler, #2 Ed Tomlinson
2003-02-15 8:33 ` Jens Axboe
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=200302130818.19387.tomlins@cam.org \
--to=tomlins@cam.org \
--cc=linux-kernel@vger.kernel.org \
/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