aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReece R. Pollack2014-09-26 16:30:33 -0500
committerMurali Karicheri2014-12-03 10:27:26 -0600
commit0c06814366ca9d2c0cf100549f0507e5257f6718 (patch)
tree9c252e0b2bffb11b4dce54f136dd7fecd3da9e94
parentbf2438d2c6a0cffa0a65fe90932d71aed14de236 (diff)
downloadlinux-0c06814366ca9d2c0cf100549f0507e5257f6718.tar.gz
linux-0c06814366ca9d2c0cf100549f0507e5257f6718.tar.xz
linux-0c06814366ca9d2c0cf100549f0507e5257f6718.zip
hwqueue: keystone: Tune QoS rate parameters for smoother output
With larger WRR credit values comes higher throughput, but the output can become "bursty". This patch lowers the initial byte credit target from 1500 to 50, resulting in "smoother" output rates while not causing excessive overhead in the 10000:1 case. Signed-off-by: Reece R. Pollack <x0183204@ti.com>
-rw-r--r--drivers/hwqueue/keystone_qos.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/hwqueue/keystone_qos.h b/drivers/hwqueue/keystone_qos.h
index 94a1396025a..ce93ae14ae7 100644
--- a/drivers/hwqueue/keystone_qos.h
+++ b/drivers/hwqueue/keystone_qos.h
@@ -67,12 +67,12 @@
67#define QOS_WRR_PACKET_SHIFT 17 67#define QOS_WRR_PACKET_SHIFT 17
68#define QOS_WRR_BYTE_SHIFT 8 68#define QOS_WRR_BYTE_SHIFT 8
69 69
70#define QOS_BYTE_NORMALIZATION_FACTOR (1500u << QOS_WRR_BYTE_SHIFT) 70#define QOS_BYTE_NORMALIZATION_FACTOR (50u << QOS_WRR_BYTE_SHIFT)
71#define QOS_PACKET_NORMALIZATION_FACTOR (2u << QOS_WRR_PACKET_SHIFT) 71#define QOS_PACKET_NORMALIZATION_FACTOR (2u << QOS_WRR_PACKET_SHIFT)
72 72
73#define QOS_MAX_WEIGHT U32_MAX 73#define QOS_MAX_WEIGHT U32_MAX
74#define QOS_MAX_CREDITS S32_MAX 74#define QOS_MAX_CREDITS 0x1fffffff
75#define QOS_MIN_CREDITS_WARN 100 75#define QOS_MIN_CREDITS_WARN (50u << QOS_WRR_BYTE_SHIFT)
76 76
77#define to_qnode(_n) container_of(_n, struct khwq_qos_tree_node, node) 77#define to_qnode(_n) container_of(_n, struct khwq_qos_tree_node, node)
78 78