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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.