shap@eros.cis.upenn.edu wrote:
It ain't as simple as that, though, is it? To take an extreme case,
suppose we can merge all the currently outstanding requests into one
huge 50 MB read - and we have two drives that could satisfy that read -
clearly giving them both the whole 50 MB to read is suboptimal - they
should get half each.
> EROS (and, I assume, KeyKOS) generates requests in page-sized chunks.
> On devices that have programmable DMA it is vitally important that the
> drive have an opportunity to perform request merging. We therefore
> want to maximize the information that is visible to the disk driver.
> Restricting the queue to a single request defeats this.
>
> > We may read the same logical page into two frames at the same
> > time, but that gets chalked up to market inefficiency. The first one
> > reported complete, gets used, and the others have their page frames
> > returned to the free pool when they complete.
>
> This is an option that never occurred to me, and I'm rather embarassed
> about it. This is a good idea.
Cheers,
Ben.
-- Ben Laurie |Phone: +44 (181) 735 0686| Apache Group member Freelance Consultant |Fax: +44 (181) 735 0689|http://www.apache.org/ and Technical Director|Email: ben@algroup.co.uk | A.L. Digital Ltd, |Apache-SSL author http://www.apache-ssl.org/ London, England. |"Apache: TDG" http://www.ora.com/catalog/apache/ WE'RE RECRUITING! http://www.aldigital.co.uk/