Re: [PATCH] Time sliced CFQ #2
From: Con Kolivas
Date: Sun Dec 05 2004 - 21:02:06 EST
Jeff Sipek wrote:
On Sun, Dec 05, 2004 at 07:58:45PM +0100, Jens Axboe wrote:
It should be really easy to try some rudimentary prio io support - just
scale the time slice based on process priority. A few lines of code
change, and io priority now follows process cpu scheduler priority. To
work really well, the code probably needs a few more limits besides just
slice time.
I started working on the rudimentary io prio code, and it got me thinking...
Why use the cpu scheduler priorities? Wouldn't it make more sense to add
io_prio to task_struct? This way you can have a process which you know needs
a lot of CPU but not as much io, or the other way around.
That is the design the Jens' original ioprio code used which we used in
-ck for quite a while. What myself and -ck users found, though, was that
being tied to cpu 'nice' meant that most tasks behaved pretty much as
we'd expect based on one sys call.
I think what is ideal is to have both. First the ioprio should be set to
what the cpu 'nice' level is as a sort of global "this is the priority
of this task" setting. Then it should also support changing of this
priority with a different call separate from the cpu nice. That way we
can take into account access privileges of the caller making it
impossible to set a high ioprio if the task itself is heavily niced by a
superuser and so on.
Cheers,
Con
Attachment:
signature.asc
Description: OpenPGP digital signature