summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2019-08-28 15:05:59 -0700
committerJens Axboe <axboe@kernel.dk>2019-08-28 21:17:14 -0600
commit6954ff185ee0811cdd2e0f388ff4dd7df17f11af (patch)
tree8a64947941231c5657047a4155061e80301b728f /block
parent7caa47151ab2e644dd221f741ec7578d9532c9a3 (diff)
downloadlinux-6954ff185ee0811cdd2e0f388ff4dd7df17f11af.tar.bz2
blkcg: add tools/cgroup/iocost_monitor.py
Instead of mucking with debugfs and ->pd_stat(), add drgn based monitoring script. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Omar Sandoval <osandov@fb.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
-rw-r--r--block/blk-iocost.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/block/blk-iocost.c b/block/blk-iocost.c
index 680815620095..3208d2fdc55e 100644
--- a/block/blk-iocost.c
+++ b/block/blk-iocost.c
@@ -149,6 +149,27 @@
* donate and should take back how much requires hweight propagations
* anyway making it easier to implement and understand as a separate
* mechanism.
+ *
+ * 3. Monitoring
+ *
+ * Instead of debugfs or other clumsy monitoring mechanisms, this
+ * controller uses a drgn based monitoring script -
+ * tools/cgroup/iocost_monitor.py. For details on drgn, please see
+ * https://github.com/osandov/drgn. The ouput looks like the following.
+ *
+ * sdb RUN per=300ms cur_per=234.218:v203.695 busy= +1 vrate= 62.12%
+ * active weight hweight% inflt% del_ms usages%
+ * test/a * 50/ 50 33.33/ 33.33 27.65 0*041 033:033:033
+ * test/b * 100/ 100 66.67/ 66.67 17.56 0*000 066:079:077
+ *
+ * - per : Timer period
+ * - cur_per : Internal wall and device vtime clock
+ * - vrate : Device virtual time rate against wall clock
+ * - weight : Surplus-adjusted and configured weights
+ * - hweight : Surplus-adjusted and configured hierarchical weights
+ * - inflt : The percentage of in-flight IO cost at the end of last period
+ * - del_ms : Deferred issuer delay induction level and duration
+ * - usages : Usage history
*/
#include <linux/kernel.h>