disk scheduling (was: Re: RFC: adding 'proxy' nodes to provider
ports (with patch))
Luigi Rizzo
rizzo at iet.unipi.it
Sun Mar 22 02:51:32 PDT 2009
On Sun, Mar 22, 2009 at 9:13 AM, Poul-Henning Kamp <phk at phk.freebsd.dk> wrote:
> In message <eb21ef440903211800h266ec0aes158cb189095289c1 at mail.gmail.com>, Luigi
> Rizzo writes:
>
>>The thread was meant to be on inserting transparent nodes in GEOM.
>>
>>Scheduling was just an example on where the problem came out,
>
> Scheduling is the *only* application I have seen mentioned for
> this special case geom construct ?
man 4 geom has a section which explicitly mentions this construct,
with the same example that you posted in the thread:
...
SPECIAL TOPOLOGICAL MANEUVERS
INSERT/DELETE are very special operations which allow a new geom to be
instantiated between a consumer and a provider attached to each other and
to remove it again.
To understand the utility of this, imagine a provider being mounted as a
file system. Between the DEVFS geom's consumer and its provider we
insert a mirror module which configures itself with one mirror copy and
consequently is transparent to the I/O requests on the path. We can now
configure yet a mirror copy on the mirror geom, request a synchroniza-
tion, and finally drop the first mirror copy. We have now, in essence,
moved a mounted file system from one disk to another while it was being
used. At this point the mirror geom can be deleted from the path again;
it has served its purpose.
>>+ changing disksort can do some things but not all one would want.
>> [...]
>
> Then the correct answer is to insert a perfectly normal geom
> class above the disk drive to implement that. I totally fail
> to se what special kind of classes would buy you ?
>
>>if you want a quick example [...]
>
> I know what anticipatory disk-scheduling is, what it does,
> and what the downsides of it are. (I also know that with
> SSD's it becomes all but pointless).
>
> The question is not if we should improve disksorting, the question
> is if we need to hack up GEOM for it.
>
> The answer is "no".
Ok good, we are back on track on the geom architecture:
then the question was just whether the INSERT/DELETE mentioned in
the manpage was already supported or not, and how to implement
it in a clean way.
Hopefully the discussion in the main thread now contains enough
detail to do it the right way.
cheers
luigi
More information about the freebsd-geom
mailing list