From: Eric <eric@cisu.net>
To: Timothy Miller <miller@techsource.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Scheduler: Process priority fed back to parent?
Date: Tue, 16 Mar 2004 10:06:02 -0600 [thread overview]
Message-ID: <200403161006.02871.eric@cisu.net> (raw)
In-Reply-To: <40571A62.8050204@techsource.com>
On Tuesday 16 March 2004 9:16 am, Timothy Miller wrote:
> Something occurred to me, so it has probably occurred to others as well.
> :)
>
> Anyhow, the idea that I had was to feed information about a process's
> behavior (interactive/not) to the process's parent (and it's parent,
> etc). The next time the parent forks, that information is used to
> initially estimate the priority of the forked process.
> This isn't perfect, but it would help distinguish between a user shell
> where compiles are being done and a user shell (say, Gnome) from which
> interactive processes are being launched. Each process maintains a
> number which indicates the trends seen in the interactivity of its
> descendents.
> Another idea I had, but which I think I've seen discussed before, was to
> cache information about individual executables. Every time a process
> terminates (and/or periodically), the behavior of that process is fed to
> a daemon which stores it on disk (on a periodic basis) in such a way
> that the kernel can efficiently get at it. When the kernel launches a
> process, it looks at the cache for interactivity history to estimate
> initial priority.
Sort of like what windows does with its prefetch stuff? Have a directory that
contains info about the best way to run a particular program and its memory
layouts/ disk accesses and patterns?
> This way, after gcc has run a few times, it'll be flagged as a CPU-bound
> process and every time it's run after that point, it is always run at an
> appropriate priority. Similarly, the first time xmms is run, its
> interactivity estimate won't be right, but after it's determined to be
> interactive, then the next time the program is launched, it STARTS with
> an appropriate priority: no ramp-up time.
This sounds like a good idea, however im not too versed in all the technical
details. One thing I do see being a problem is do I really want the kernel
doing a disk-read/write everytime something forks or starts a process? There
would have to be some sort of cache.
Also, is it a good idea for the kernel to be writing/reading from disk,
basing some of its decisions on disk files. Does this add filesystem specific
complexity? As far as I know the kernel, never keeps any configuration on an
actual hard disk. Everything is in /proc...etc... Something nags at me that
its a bad idea to have the kernel read/write things it needs to run on a hard
disk.
So if its a bad idea to write to disk we would have to keep the prefetch info
in /proc, which will hog memory as more and more information is gathered, or
we will lose our valuable information in between reboots.
If someone can explain why these things would/would not be a problem I think
finding a better way to handle processes would be interesting.
Overall it sounds like an ok idea if the specifics get hammered out.
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
-------------------------
Eric Bambach
Eric at cisu dot net
-------------------------
next prev parent reply other threads:[~2004-03-16 16:37 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-16 15:16 Scheduler: Process priority fed back to parent? Timothy Miller
2004-03-16 15:46 ` Muli Ben-Yehuda
2004-03-16 16:19 ` Timothy Miller
2004-03-16 16:02 ` Muli Ben-Yehuda
2004-03-16 16:55 ` Timothy Miller
2004-03-16 18:49 ` Horst von Brand
2004-03-25 14:16 ` Pavel Machek
2004-03-16 16:06 ` Eric [this message]
2004-03-16 16:46 ` Timothy Miller
2004-03-16 19:23 ` Eric
2004-03-16 21:35 ` Timothy Miller
2004-03-16 23:05 ` Eric
2004-03-18 2:55 ` David Schwartz
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=200403161006.02871.eric@cisu.net \
--to=eric@cisu.net \
--cc=linux-kernel@vger.kernel.org \
--cc=miller@techsource.com \
/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