public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Patrick McLean <pmclean@cs.ubishops.ca>
To: linux-kernel@vger.kernel.org
Subject: Re: Interactivity improvements
Date: Thu, 07 Aug 2003 10:26:42 -0400	[thread overview]
Message-ID: <3F3261A2.9000405@cs.ubishops.ca> (raw)

I have a few ideas about the interactivity problem that I thought i 
would share.

First, the whole problem with interactive tasks turning into CPU hogs, 
and vice-versa. The current implementation is fairly good at estimating 
the interactivity of a new process isn't it? I assume it keeps some sort 
of statitistice on what a process has been doing in the past, so if a 
process starts to deviate from it's previous behavior quite a bit (say 
an interactive task starts finishing time slices, or a CPU hog starts 
sleeping a lot) couldn't we reset the priority, etc and let the 
interactivity estimator re-estimate the interactivity as if it was a new 
task. That way no task would get a real chance to starve others, while 
keeping interactive tasks interactive (interactive tasks that become CPU 
hogs for short peroids of time would have a pretty good chance to 
smarten up before they really get penalized).

Another point is compilers, they tend to do a lot of disk I/O then 
become major CPU hogs, could we have some sort or heuristic that reduces 
the bonuses for sleeping on block I/O rather than other kinds of I/O 
(say pipes and network I/O in the case of X). This would prevent tasks 
like compilers from getting real bonuses for reading alot of files at 
startup.

Finally, the interactivity estimator seems to be quite a bit of code, 
which certain people have no real useful (in servers for example) and I 
would imagine that it does reduce throughput, which is not a big deal in 
desktops, but in a server environment it's not good, so maybe a 
CONFIG_INTERACTIVE_ESTIMATOR or something similar would be an idea to 
keep the server people happy, just have an option to completely get rid 
of the extra overhead of having a really nice interactivity estimator. I 
could be an idiot though, and I imagine that I will be needing some 
asbestos for saying this, but I thought I would voice my opinion.


             reply	other threads:[~2003-08-07 14:29 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-07 14:26 Patrick McLean [this message]
2003-08-07 15:24 ` Interactivity improvements Richard Curnow
2003-08-07 15:42   ` Patrick McLean
2003-08-07 18:33     ` Mike Fedyk
2003-08-07 20:48   ` William Lee Irwin III
2003-08-07 21:26     ` Bernd Eckenfels
2003-08-07 23:05       ` Timothy Miller
2003-08-07 15:31 ` Felipe Alfaro Solana
2003-08-07 17:41 ` Robert Love
  -- strict thread matches above, loose matches on Subject: below --
2003-08-04 16:07 [PATCH] O13int for interactivity Con Kolivas
2003-08-05  2:20 ` Con Kolivas
2003-08-05  2:21   ` Nick Piggin
2003-08-05  3:06     ` Con Kolivas
2003-08-05  3:17       ` Nick Piggin
2003-08-06 18:48         ` Interactivity improvements Timothy Miller
2003-08-06 19:01           ` Mike Fedyk
2003-08-06 20:09           ` Helge Hafting
2003-08-06 21:15           ` Con Kolivas

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=3F3261A2.9000405@cs.ubishops.ca \
    --to=pmclean@cs.ubishops.ca \
    --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