On Thu, Dec 13, 2001 at 12:47:53PM +1030, Greg Lehey wrote:
> On Thursday, 13 December 2001 at  3:06:14 +0100, Bernd Walter wrote:
> > Currently if we have two writes in two stripes each, all initated before
> > the first finished, the drive has to seek between the two stripes, as
> > the second write to the same stripe has to wait.
> 
> I'm not sure I understand this.  The stripes are on different drives,
> after all.

Lets asume a 256k striped single plex volume with 3 subdisks.
We get a layout like this:

sd1     sd2     sd3
256k    256k    parity
256k    parity  256k
parity  256k    256k
256k    256k    parity
...     ...     ...

Now we write on the volume the blocks 1, 10, 1040 and 1045.
All writes are initated at the same time.
Good would be to write first 1 then 10 then 1040 and finaly 1045.
What we currently see is write 1 then 1040 then 10 and finaly 1045.
This is because we can't write 10 unless 1 is finished but we already
start with 1040 because it's independend.
The result is avoidable seeking in subdisk 1.

Back to the >256k performance breakdown you described.
Because of the seeks we have not only unneeded seeks on the drive but
also have a different use pattern on the drive cache.

Once the locks are untangled it is required to verify the situation as
the drive cache may behave differently.

-- 
B.Walter              COSMO-Project         http://www.cosmo-project.de
[EMAIL PROTECTED]         Usergroup           [EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to