git: DragonFly_RELEASE_5_6 kernel - Add TPS balancing mode to scsi_da (da* disks)

Matthew Dillon dillon at
Fri Jun 28 18:43:59 PDT 2019

commit 87ba32e5cf805153c600ebf462c62e6bb1842934
Author: Matthew Dillon <dillon at>
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):
 	1	(0=disable, 1=enable)	100	(read:write ratio, 1:1 is 100)	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 mailing list