> 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

Reply via email to