> From: Daniel Carosone [mailto:d...@geek.com.au] > Sent: Thursday, June 16, 2011 11:05 PM > > the [sata] channel is idle, blocked on command completion, while > the heads seek.
I'm interested in proving this point. Because I believe it's false. Just hand waving for the moment ... Presenting the alternative viewpoint that I think is correct... All drives, regardless of whether or not their disk cache or buffer is enabled, support PIO and DMA. This means no matter the state of the cache or buffer, the bus will deliver information to/from the memory of the disk as fast as possible, and the disk will optimize the visible workload to the best of its ability, and the disk will report back an interrupt when each operation is completed out-of-order. The difference between enabling or disabling the disk write buffer is: If the write buffer is disabled... It still gets used temporarily ... but the disk doesn't interrupt "completed" until the buffer is flushed to platter. If the disk write buffer is enabled, the disk will immediately report "completed" as soon as it receives the data, before flushing to platter... And if your application happens to have issued the write in "sync" mode (or the fsync() command), your OS will additionally issue the hardware sync command, and your application will block until the hardware sync has completed. It would be stupid for a disk to hog the bus in an idle state. _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss