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