git: kernel - Add TPS balancing mode to scsi_da (da* disks)
dillon at crater.dragonflybsd.org
Thu Jun 27 22:56:16 PDT 2019
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Jun 27 21:58:49 2019 -0700
kernel - Add TPS balancing mode to scsi_da (da* disks)
* This feature brings write tps down to match read tps when both are
pending. Normally both read and write I/Os get at least a few tags,
but because write I/O is buffered by devices, even giving it one tag
can complete destroy read performance.
To accomplish this the feature monitors approximate TPS using a counter
with exponential decay and will temporarily sets write openings in the
device queue to zero.
* SSDs usually do a better job on their own, but this feature won't hurt
so we do not distinguish between HDDs and SSDs.
* New sysctls for this feature (feature is enabled by default):
kern.cam.da.balance_enable 1 (0=disable, 1=enable)
kern.cam.da.balance_ratio 100 (read:write ratio, 1:1 is 100)
kern.cam.da.balance_debug 0 (log to console each second)
You can adjust the read:write tps ratio as desired. For example,
the value 200 will adjust the ratio to 2:1.
Summary of changes:
sys/bus/cam/scsi/scsi_da.c | 100 +++++++++++++++++++++++++++++++++++----------
1 file changed, 78 insertions(+), 22 deletions(-)
DragonFly BSD source repository
More information about the Commits