diff options
author | Shaohua Li <shli@fb.com> | 2016-11-18 12:44:08 -0500 |
---|---|---|
committer | Shaohua Li <shli@fb.com> | 2016-11-18 12:47:57 -0500 |
commit | 504634f60f463e73e7d58c6810a04437da942dba (patch) | |
tree | abdc28fb557c2158f005a6f271c60c983562c43e | |
parent | 578b54ade8a5e04df6edc14cb68ad0f6f491a1a1 (diff) |
md: add blktrace event for writes to superblock
superblock write is an expensive operation. With raid5-cache, it can be called
regularly. Tracing to help performance debug.
Signed-off-by: Shaohua Li <shli@fb.com>
Cc: NeilBrown <neilb@suse.com>
-rw-r--r-- | drivers/md/md.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 1f1c7f007b68..d3cef771e422 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -64,6 +64,7 @@ | |||
64 | #include <linux/raid/md_p.h> | 64 | #include <linux/raid/md_p.h> |
65 | #include <linux/raid/md_u.h> | 65 | #include <linux/raid/md_u.h> |
66 | #include <linux/slab.h> | 66 | #include <linux/slab.h> |
67 | #include <trace/events/block.h> | ||
67 | #include "md.h" | 68 | #include "md.h" |
68 | #include "bitmap.h" | 69 | #include "bitmap.h" |
69 | #include "md-cluster.h" | 70 | #include "md-cluster.h" |
@@ -2403,6 +2404,8 @@ repeat: | |||
2403 | pr_debug("md: updating %s RAID superblock on device (in sync %d)\n", | 2404 | pr_debug("md: updating %s RAID superblock on device (in sync %d)\n", |
2404 | mdname(mddev), mddev->in_sync); | 2405 | mdname(mddev), mddev->in_sync); |
2405 | 2406 | ||
2407 | if (mddev->queue) | ||
2408 | blk_add_trace_msg(mddev->queue, "md md_update_sb"); | ||
2406 | bitmap_update_sb(mddev->bitmap); | 2409 | bitmap_update_sb(mddev->bitmap); |
2407 | rdev_for_each(rdev, mddev) { | 2410 | rdev_for_each(rdev, mddev) { |
2408 | char b[BDEVNAME_SIZE]; | 2411 | char b[BDEVNAME_SIZE]; |