[PATCH 1/2] Block: Disable polling stats when iostats are disabled
Jon Derrick
jonathan.derrick at intel.com
Tue Mar 8 09:34:53 PST 2016
Extends iostats to encompass polling statistics to save a few cycles
when disabled.
Signed-off-by: Jon Derrick <jonathan.derrick at intel.com>
---
block/blk-core.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/block/blk-core.c b/block/blk-core.c
index ab51685..354d03b 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -3350,13 +3350,16 @@ bool blk_poll(struct request_queue *q, blk_qc_t cookie)
while (!need_resched()) {
unsigned int queue_num = blk_qc_t_to_queue_num(cookie);
struct blk_mq_hw_ctx *hctx = q->queue_hw_ctx[queue_num];
+ int io_stat = blk_queue_io_stat(q);
int ret;
- hctx->poll_invoked++;
+ if (io_stat)
+ hctx->poll_invoked++;
ret = q->mq_ops->poll(hctx, blk_qc_t_to_tag(cookie));
if (ret > 0) {
- hctx->poll_success++;
+ if (io_stat)
+ hctx->poll_success++;
set_current_state(TASK_RUNNING);
return true;
}
--
1.8.3.1
More information about the Linux-nvme
mailing list