Pluggable Disk Scheduler Project

Fabio Checconi fabio at freebsd.org
Fri Oct 12 00:32:44 PDT 2007


> From: Alexander Leidinger <Alexander at Leidinger.net>
> Date: Fri, Oct 12, 2007 08:18:35AM +0200
>
> Quoting Fabio Checconi <fabio at freebsd.org> (from Thu, 11 Oct 2007  
> 13:48:28 +0200):
> 
> >>From: Ulf Lilleengen <lulf at stud.ntnu.no>
> >>Date: Thu, Oct 11, 2007 10:07:34AM +0200
> >>
> >>On tor, okt 11, 2007 at 04:20:01 +0200, Fabio Checconi wrote:
> >>>     o How to deal with devices that handle multiple request per time?
> >>This is an example of the problems you get doing this in GEOM. You   
> >>don't have
> >>very good knowledge of the hardware.
> 
> One can't pass this info from the lower layers up into GEOM (maybe by  
> adding some attribute querying interface in GEOM if it doesn't exist)?
> 

I think the g_getattr() call is there/can be used for things like
that.  The scheduler should need only to know how many outstanding
requests it can allow, otherwise it should be rather independend
from the lower layers.

Anyway hardware queueing brings also a different kind of problems,
that is it can't be mixed easily with anticipation, because if you
have syncronous requests and you dispatch more than one of them you
are serving more than one process by definition, thus you can break
anticipation, unless this thing is done very carefully (e.g., when
switching from a process to another, or mixing syncronous and
asynchronous requests.)



More information about the freebsd-hackers mailing list