From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Arjan van de Ven Date: Tue, 20 Jun 2017 20:19:08 +0000 Subject: [PATCH] print fsync count for bootchart --- block/blk-core.c | 3 +++ include/linux/sched.h | 1 + kernel/sched/debug.c | 1 + 3 files changed, 5 insertions(+) diff --git a/block/blk-core.c b/block/blk-core.c index d5e668ec751b..be554fee0584 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -1168,6 +1168,9 @@ blk_qc_t submit_bio(struct bio *bio) count_vm_events(PGPGIN, count); } + if (bio->bi_opf & REQ_PREFLUSH) + current->fsync_count++; + if (unlikely(block_dump)) { char b[BDEVNAME_SIZE]; printk(KERN_DEBUG "%s(%d): %s block %Lu on %s (%u sectors)\n", diff --git a/include/linux/sched.h b/include/linux/sched.h index 775503573ed7..08eb6063db49 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -881,6 +881,7 @@ struct task_struct { /* Cached requested key. */ struct key *cached_requested_key; #endif + int fsync_count; /* * executable name, excluding path. diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c index f7e4579e746c..2e4e887349ff 100644 --- a/kernel/sched/debug.c +++ b/kernel/sched/debug.c @@ -879,6 +879,7 @@ void proc_sched_show_task(struct task_struct *p, struct pid_namespace *ns, PN(se.exec_start); PN(se.vruntime); PN(se.sum_exec_runtime); + P(fsync_count); nr_switches = p->nvcsw + p->nivcsw; -- https://clearlinux.org