summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorStephen Bates <sbates@raithlin.com>2016-09-13 20:23:16 +0200
committerJens Axboe <axboe@fb.com>2016-09-14 16:41:23 +0200
commitd21ea4bc0f6afbc852f1436c7c691c7b6fed0eb8 (patch)
tree5e8b24d20552b58d2e04d1737161b3d8fd25ddd4 /block
parentblock: add poll_considered statistic (diff)
downloadlinux-d21ea4bc0f6afbc852f1436c7c691c7b6fed0eb8.tar.xz
linux-d21ea4bc0f6afbc852f1436c7c691c7b6fed0eb8.zip
block: enable zeroing of io_poll statistics
Allow the io_poll statistics to be zeroed to make for easier logging of polling event. Signed-off-by: Stephen Bates <sbates@raithlin.com> Acked-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block')
-rw-r--r--block/blk-mq-sysfs.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c
index ea8c3f58afbd..ac5160eb6862 100644
--- a/block/blk-mq-sysfs.c
+++ b/block/blk-mq-sysfs.c
@@ -181,6 +181,14 @@ static ssize_t blk_mq_hw_sysfs_poll_show(struct blk_mq_hw_ctx *hctx, char *page)
hctx->poll_success);
}
+static ssize_t blk_mq_hw_sysfs_poll_store(struct blk_mq_hw_ctx *hctx,
+ const char *page, size_t size)
+{
+ hctx->poll_considered = hctx->poll_invoked = hctx->poll_success = 0;
+
+ return size;
+}
+
static ssize_t blk_mq_hw_sysfs_queued_show(struct blk_mq_hw_ctx *hctx,
char *page)
{
@@ -303,8 +311,9 @@ static struct blk_mq_hw_ctx_sysfs_entry blk_mq_hw_sysfs_cpus = {
.show = blk_mq_hw_sysfs_cpus_show,
};
static struct blk_mq_hw_ctx_sysfs_entry blk_mq_hw_sysfs_poll = {
- .attr = {.name = "io_poll", .mode = S_IRUGO },
+ .attr = {.name = "io_poll", .mode = S_IWUSR | S_IRUGO },
.show = blk_mq_hw_sysfs_poll_show,
+ .store = blk_mq_hw_sysfs_poll_store,
};
static struct attribute *default_hw_ctx_attrs[] = {