Thread (32 messages) 32 messages, 6 authors, 2017-07-13

Re: [PATCH 4/6] blk-mq: use EWMA to estimate congestion threshold

From: Ming Lei <hidden>
Date: 2017-07-12 03:20:37

On Tue, Jul 11, 2017 at 12:39:35PM -0600, Jens Axboe wrote:
On 07/11/2017 12:21 PM, Ming Lei wrote:
quoted
diff --git a/block/blk-mq.h b/block/blk-mq.h
index 60b01c0309bc..c4516d2a2d2c 100644
--- a/block/blk-mq.h
+++ b/block/blk-mq.h
@@ -133,4 +133,13 @@ static inline bool blk_mq_hw_queue_mapped(struct blk_mq_hw_ctx *hctx)
 	return hctx->nr_ctx && hctx->tags;
 }
 
+/* borrowed from bcache */
+#define ewma_add(ewma, val, weight, factor)                             \
+({                                                                      \
+        (ewma) *= (weight) - 1;                                         \
+        (ewma) += (val) << factor;                                      \
+        (ewma) /= (weight);                                             \
+        (ewma) >> factor;                                               \
+})
Just put that in blk_mq_update_req_dispatch_busy(), or at least make it
a static function in blk-mq.c above that function. You don't use factor
at all.
OK, will do it in V2.


-- 
Ming
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help