Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: [tls-maxphys] src/sys/ufs/ufs

On Wed, Oct 17, 2012 at 02:39:55AM +0000, Thor Lancelot Simon wrote:
> What I'm more worried about is that it may _never_ be a good idea, in the
> general case, to put 1M transfers on the bus, particularly single writes,
> since they may delay things like log transactions in the disk's write
> cache.  

I'm sure there is a tradeoff somewhere.  But lacking any data I have no
idea where it might be.

For non-serial SCSI it is not so difficult to do a back of the envelope
calculation.  The tradeoff there is between CDB transmission and data
transfer.  CDB transmission is always async while data transmission can
proceed at full sync speed.  So the basic break-even point seems to be to
me the amount of data that you can transfer at full sync speed in the time
you can negotiate the bus and transfer another CDB.  Then there's the
buffer full/empty ratios that you can set that determine when the target
starts and stops reconnected data transfers so other devices on the bus
have a chance to sneak in traffic between the data transmissions.

I have no idea what it is like on SATA/SAS where the link runs at constant
speed and you usually don't have multiple devices on the same link. Of
course with SATA port multipliers things look different again.

My syggestino is to introduce a sysctl'able limit to clamp the maximum
transfer size at the hardware level so that people can experiment easily
and start gathering data.  Maybe a different sysctl variable for RAIDframe
and/or other pseudo devices.


Home | Main Index | Thread Index | Old Index