Re: more on unthreaded drivers Bill Frantz (frantz@netcom.com)
Fri, 5 Apr 1996 13:26:14 -0800

At 3:22 PM 4/5/96 -0500, Jonathan S. Shapiro wrote:

> 2) Abandon the read, forcing the user to retry the object fault if
> the first read fails. This assumes an I/O error cache so that
> we won't loop forever. (The I/O error cache may be necessary in
> any case).
>
> 3) Delay the second reader until the first completes.
>
> 4) Proceed with a redundant read, and somehow resolve the ambiguity
> about which copy to use in some other way.
>
>Options (3) and (4) are pretty much equivalent. The advantage to
>option (4) is that there is no need for cross-queueing. The
>disadvantage to option (4) is that it removes an object unnecessarily
>from the free list. While it soon restores that object to the free
>list, the object's content is trashed in the process.

Option (4) has additional disadvantages in CPU overhead. The unecessary read causes extra memory bandwidth contention and extra interrupts. Certainly on the 370, the extra interrupts would have been a significant cost.

Option (2) might be viable if all readers go through a piece of common code which implements it. (Moving the question of what is the user.)


Bill Frantz       | The CDA means  | Periwinkle  --  Computer Consulting
(408)356-8506     | lost jobs and  | 16345 Englewood Ave.
frantz@netcom.com | dead teenagers | Los Gatos, CA 95032, USA