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