On Tue, 8 Jan 2019, Warner Losh wrote:
> i understood that this implemented the elevator algorithm, and
> possible rotational latency compensation.
>
>
> I know what it does. I want to know why that specific name was selected.
Err, because as I replied in a previous message (did you not see it?), it
was up to the programmer to implement an optimal strategy to access the
sectors, depending upon the device? I'm not being snarky, but it seems
like an obvious choice (if not a hint) to me...
Let's see, I need a strategy to optimise access, taking into account
seek and rotational latency. I know! I'll call it XXstrategy()!
For example, I could envisage a disk where the sectors are deliberately
not numbered sequentially i.e. they've taken rotational latency into
account for you?
Out of interest, what would you have called it? XXaccess(), perhaps?
The name seems obvious because I've seen it for the last 30 years. But I've not seen it used elsewhere, nor have I seen it documented except in relationship to Unix. It could have been called blkio or bufio or bio or even just work or morework and still been as meaningful. VMS uses the FDT table to process the IRPs sent down. RT-11 has a series of entry points that have boring names. Other systems have a start routine (though more often that is a common routine used by both the queue me and isr functions). There is a wide diversity here...
Warner