On Fri, 2010-06-11 at 13:58 +0400, Andrey Kuzmin wrote: > # dd if=/dev/zero of=/dev/rdsk/cXtYdZs0 bs=512 > > I did a test on my workstation a moment ago and got about 21k > IOPS from my sata drive (iostat). > The trick here of course is that this is sequentail write with > no other workload going on and a drive should be able to > nicely coalesce these IOs and do a sequential writes with > large blocks. > > > Exactly, though one might still wonder where the coalescing actually > happens, in the respective OS layer or in the controller. Nonetheless, > this is hardly a common use-case one would design h/w for.
No OS layer coalescing happens. The most an OS will ever do is "sort" the IOs to make them advantageous (e.g. avoid extra seeking), but the I/Os are still delivered as individual requests to the HBA. I'm not aware of any logic in an HBA to coalesce either, and I would think such a thing would be highly risky. That said, caching firmware on the drive itself may effectively (probably!) cause these transfers to happen as a single transfer if they are naturally contiguous, and if they are arriving at the drive firmware faster than the firmware can flush them to media. - Garrett _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss