From: Helge Hafting <helgehaf@aitel.hist.no>
To: Mike Galbraith <efault@gmx.de>
Cc: Bill Davidsen <davidsen@tmr.com>,
Helge Hafting <helgehaf@aitel.hist.no>,
linux-kernel@vger.kernel.org
Subject: Re: O(1) scheduler & interactivity improvements
Date: Sat, 28 Jun 2003 16:34:32 +0200 [thread overview]
Message-ID: <20030628143432.GA7986@hh.idb.hist.no> (raw)
In-Reply-To: <5.2.0.9.2.20030628064029.00cfa800@pop.gmx.net>
On Sat, Jun 28, 2003 at 07:44:26AM +0200, Mike Galbraith wrote:
[...]
>
> I'm no clean freak, but fiddling with scheduling information all over the
> place seems like a very bad idea. (before anyone says it, yes, we fiddle
> with state all over the place;) I can imagine doing something dirty in
> driver code for specific cases (kdb/mouse are always interactivity
> indicators), but not in generic code.
>
> Besides, the logical bindings for foo | bar | ... | baz do not exist in the
> kernel. The kernel knows and cares only that single entities are using
> open/read/write/close primitives.
Data is moved from one process to the next, so the logical binding
exists. It may exist only for the duration of the write & read
calls, but that is enough for this purpose.
Info about the data being transferred (address, amount) must exist somewhere,
or data written to pipes would be lost. This is updated when
someone writes into a pipe. The kernel could, during the write call,
transfer some interactvity bonus (if any) and store it along with
the other information about the pipe.
The pipe read call would simply grab any transferred bonus and
add it to the reader's interactivity bonus. This should only be
a few integer operations on either end of the pipe.
The io boost calculated for disk/device operations surely amounts to some
code too. It don't mess with every wakeup imaginable, this is specific to
pipes.
> This is why I said I could _imagine_ a
> process struct... as the container for this missing (it lives in userland)
> information.
>
> Another besides: it makes zero difference it you add overhead to wakeup
> time or go to sleep time. If it's something you do a lot of, adding
> overhead to it is going to hurt a lot.
>
No doubt about that. Transferring an extra int per pipe read/write
is overhead, I hope the data part of the transfer typically is much
bigger than that.
Helge Hafting
next prev parent reply other threads:[~2003-06-28 14:14 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-06-22 16:07 Felipe Alfaro Solana
2003-06-22 20:00 ` Davide Libenzi
2003-06-23 12:50 ` Jesse Pollard
2003-06-23 8:09 ` Helge Hafting
2003-06-23 10:18 ` Felipe Alfaro Solana
2003-06-23 16:21 ` Daniel Gryniewicz
2003-06-23 18:59 ` Felipe Alfaro Solana
2003-06-23 19:21 ` Memory? " Roger Larsson
2003-06-23 16:47 ` Helge Hafting
2003-06-24 18:12 ` Bill Davidsen
2003-06-25 21:41 ` Helge Hafting
[not found] ` <5.2.0.9.2.20030624215008.00ce73b8@pop.gmx.net>
2003-06-26 9:59 ` Helge Hafting
2003-06-26 10:39 ` Mike Galbraith
2003-06-26 14:50 ` Bill Davidsen
2003-06-26 23:10 ` Timothy Miller
[not found] ` <Pine.LNX.3.96.1030626104733.17562D-100000@gatekeeper.tmr.c om>
2003-06-27 6:36 ` Mike Galbraith
2003-06-27 8:18 ` Helge Hafting
2003-06-27 9:46 ` Mike Galbraith
2003-06-27 11:39 ` Helge Hafting
2003-06-27 12:18 ` Mike Galbraith
2003-06-28 3:51 ` Bill Davidsen
[not found] ` <Pine.LNX.3.96.1030627234408.25848A-100000@gatekeeper.tmr.c om>
2003-06-28 5:44 ` Mike Galbraith
2003-06-28 14:34 ` Helge Hafting [this message]
2003-06-29 6:08 ` Mike Galbraith
2003-06-30 13:37 ` Bill Davidsen
2003-06-27 6:54 ` jw schultz
2003-06-23 10:50 John Bradford
2003-06-23 11:22 ` Felipe Alfaro Solana
2003-06-23 11:36 ` Denis Vlasenko
2003-06-23 12:44 John Bradford
2003-06-23 16:32 ` Helge Hafting
2003-06-23 19:00 ` Felipe Alfaro Solana
2003-06-23 19:17 ` Helge Hafting
2003-06-24 22:41 ` Timothy Miller
2003-06-25 21:42 ` Helge Hafting
2003-06-25 23:16 ` Timothy Miller
2003-06-23 21:48 ` Bill Davidsen
2003-06-23 19:20 John Bradford
2003-06-23 23:32 John Bradford
2003-06-24 4:13 ` Bill Davidsen
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=20030628143432.GA7986@hh.idb.hist.no \
--to=helgehaf@aitel.hist.no \
--cc=davidsen@tmr.com \
--cc=efault@gmx.de \
--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
all inboxes | Powered by JetHome®