On Mon, Jan 11, 2010 at 10:30 PM, Richard Elling <richard.elling at gmail.com> wrote: > 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. Do you mean that Solaris supports fair memory bandwidth sharing?
Regards, Andrey > ?-- 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 >> > > _______________________________________________ > zfs-code mailing list > zfs-code at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-code >