Constant rebooting after power loss
Matthew Dillon
dillon at apollo.backplane.com
Mon Apr 4 01:46:09 UTC 2011
:> Do you know if that's changed at all with NCQ on modern SATA drives?
:> I've seen people commenting that using tags recovers most, if not all,
:> of the performance lost by disabling the write cache.
:...
I've never tried that combination. Theoretically the 32 tags SATA
supports would just barely be enough for sequential write service
loads but I really doubt it would be enough for mixed service loads
and you would be blowing up your read performance to achieve even
that due to the length of time the tags stay busy with writes.
With some driver massaging, such as partitioning the tag space
and dedicating a specific number of tags for writing, read performance
could probably be maintained but write performance (with caches off)
would definitely still suffer. It might not horrible, though.
One advantage of turning off the drive's write cache is that it
would be possible for the OS to control write interference vs read
loads, which is impossible to do with caches turned on. That is,
with caches turned on your writes are instantly acknowledged until
the drive's own caches exceed their dirty limits and by that time
the drive is juggling so much dirty data that we (the OS/driver)
have no control over read vs write performance. This is why it is
so blasted difficult to write I/O schedulers in OS's that actually
work.
With caches disabled the OS/driver would have a great deal more control
over read vs write performance. I/O scheduling would become viable.
But to really make it work well I think we would need 64-128 tags
(or more) to be able to cover multiple writing zones. With only 32 tags
the drive's zone cache will be defeated.
It would be a very interesting test. I can't immediately dismiss tagged
I/O with write caches disabled.
-Matt
More information about the freebsd-stable
mailing list