Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1339959

[PATCH V2 10/13] blk-throttle: over estimate bandwidth

From Shaohua Li <shli@fb.com>
Newsgroups linux.kernel
Subject [PATCH V2 10/13] blk-throttle: over estimate bandwidth
Date 2016-02-22 23:10 +0100
Message-ID <r56Q1-3YI-1@gated-at.bofh.it> (permalink)
References <r56Q1-3YI-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


If we don't dispatch enough requests, disk can't reach the max
bandwidth. As we don't know the max bandwidth, we over estimate the
bandwidth and dispatch more requests. This way the disk can reach the
max bandwidth slowly. The downside is this can introduce fairness issue,
but since we only over estimate 1/8 extra bandwidth, the fairness issue
isn't big. But again, this could cause fairness issue for specific
workloads.

Signed-off-by: Shaohua Li <shli@fb.com>
---
 block/blk-throttle.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/block/blk-throttle.c b/block/blk-throttle.c
index 68e2598..f78d470 100644
--- a/block/blk-throttle.c
+++ b/block/blk-throttle.c
@@ -281,6 +281,8 @@ static inline uint64_t queue_bandwidth(struct throtl_data *td)
 	/* can't estimate bandwidth, can't do proporation control */
 	if (bw == 0)
 		bw = -1;
+	else
+		bw += bw >> 3;
 	return bw;
 }
 
@@ -292,6 +294,8 @@ static inline uint64_t queue_iops(struct throtl_data *td)
 	/* can't estimate iops, can't do proporation control */
 	if (iops == 0)
 		iops = -1;
+	else
+		iops += iops >> 3;
 	return iops;
 }
 
-- 
2.6.5

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH V2 10/13] blk-throttle: over estimate bandwidth Shaohua Li <shli@fb.com> - 2016-02-22 23:10 +0100

csiph-web