I misinterpreted the question. My answer assumes reads from the same file.

AFAIK, there is no thread-level I/O scheduler in Solaris. ZFS uses a priority
scheduler which is based on the type of I/O and there are some other
resource management policies implemented. By default, ZFS will queue
35 I/Os to each leaf vdev, so it is not clear that scheduling above the ZFS
level will be as effective as one might presume, based on how other 
systems implement I/O scheduling.

Solaris does have CPU, network, and memory resource management.
 -- richard

On Jan 11, 2010, at 11:21 AM, Richard Elling wrote:

> On Jan 11, 2010, at 8:05 AM, bank kus wrote:
> 
>> As of 2009.06 what is the policy with reordering ZFS file reads i.e., 
>> consider the following timeline:
>> T0:  Process A issues read of size 20K and gets its thread switched out
>> 
>> T1:  Process B issues reads of size 8 bytes and gets its thread switched out
>> 
>> Are the 8 byte reads from B going to fall in queue _behind_ A if:
> 
> Order is not preserved in either the OS or the device. The data will be cached
> in the device, ZFS vdev cache, ARC, and L2ARC. At some point in time, the 
> data will be evicted, depending on the cache demand and policies. It is 
> unlikely
> that the media will be read twice if both reads are issued at near the same
> time.
> 
>> --> if A and B are from separate users?
>> --> If B is from the system process?
> 
> Doesn't matter. None of those caches are tagged by pid.
> -- richard
> 

Reply via email to