svn: stable/8/sbin/geom/class/mirror

Maxim Sobolev sobomax at FreeBSD.org
Thu Dec 10 17:47:37 PST 2009


Alexander Motin wrote:
> Author: mav
> Date: Thu Dec 10 23:51:24 2009
> New Revision: 200373
> URL: http://svn.freebsd.org/changeset/base/200373
> 
> Log:
>   MFC r200282, r200290:
>   Change gmirror default balance algorithm from "split" to improved "load".
>   "split" is very ineffective for devices with rotating media as HDDs.
>   To be effective, it needs that transfer time reduction due to block
>   splitting was bigger then access time increase due to non-sequential
>   access. For modern HDDs I was able to reproduce it only with read sizes
>   of 2MB and above, which is almost not applicable in real life.
>   "load" algorithm same time is more universal and effective now.

The other problem with real hard drives is that they usually read much 
more data than requested. Some suggest that they read as much as one 
track each time the data is not in cache even if one sector has been 
requested, therefore splitting request of any reasonable size is 
meaningless, as it would simply cause both drives to load essentially 
the same data, wasting half of available I/O bandwidth and in addition 
you cause both heads to do seek, which makes it even worse.

-Maxim


More information about the svn-src-all mailing list