diff options
author | Vivek Goyal <vgoyal@redhat.com> | 2012-10-03 16:57:01 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2013-01-09 11:05:09 -0500 |
commit | b226e5c411759eec29308f0ea38e918aa695dc7f (patch) | |
tree | 6f2499ce07c59f7a180de4b21bd5fc8e8f4c09bd /block | |
parent | 1f23f12151ab508728dd5fca12180e2fce6c6949 (diff) |
cfq-iosched: Print sync-noidle information in blktrace messages
Currently we attach a character "S" or "A" to the cfqq<pid>, to represent
whether queues is sync or async. Add one more character "N" to represent
whether it is sync-noidle queue or sync queue. So now three different
type of queues will look as follows.
cfq1234S --> sync queus
cfq1234SN --> sync noidle queue
cfq1234A --> Async queue
Previously S/A classification was being printed only if group scheduling
was enabled. This patch also makes sure that this classification is
displayed even if group idling is disabled.
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Acked-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'block')
-rw-r--r-- | block/cfq-iosched.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 5ad4cae1beb2..bc076f45ca46 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c | |||
@@ -586,8 +586,9 @@ static inline void cfqg_put(struct cfq_group *cfqg) | |||
586 | char __pbuf[128]; \ | 586 | char __pbuf[128]; \ |
587 | \ | 587 | \ |
588 | blkg_path(cfqg_to_blkg((cfqq)->cfqg), __pbuf, sizeof(__pbuf)); \ | 588 | blkg_path(cfqg_to_blkg((cfqq)->cfqg), __pbuf, sizeof(__pbuf)); \ |
589 | blk_add_trace_msg((cfqd)->queue, "cfq%d%c %s " fmt, (cfqq)->pid, \ | 589 | blk_add_trace_msg((cfqd)->queue, "cfq%d%c%c %s " fmt, (cfqq)->pid, \ |
590 | cfq_cfqq_sync((cfqq)) ? 'S' : 'A', \ | 590 | cfq_cfqq_sync((cfqq)) ? 'S' : 'A', \ |
591 | cfqq_type((cfqq)) == SYNC_NOIDLE_WORKLOAD ? 'N' : ' ',\ | ||
591 | __pbuf, ##args); \ | 592 | __pbuf, ##args); \ |
592 | } while (0) | 593 | } while (0) |
593 | 594 | ||
@@ -675,7 +676,10 @@ static inline void cfqg_get(struct cfq_group *cfqg) { } | |||
675 | static inline void cfqg_put(struct cfq_group *cfqg) { } | 676 | static inline void cfqg_put(struct cfq_group *cfqg) { } |
676 | 677 | ||
677 | #define cfq_log_cfqq(cfqd, cfqq, fmt, args...) \ | 678 | #define cfq_log_cfqq(cfqd, cfqq, fmt, args...) \ |
678 | blk_add_trace_msg((cfqd)->queue, "cfq%d " fmt, (cfqq)->pid, ##args) | 679 | blk_add_trace_msg((cfqd)->queue, "cfq%d%c%c " fmt, (cfqq)->pid, \ |
680 | cfq_cfqq_sync((cfqq)) ? 'S' : 'A', \ | ||
681 | cfqq_type((cfqq)) == SYNC_NOIDLE_WORKLOAD ? 'N' : ' ',\ | ||
682 | ##args) | ||
679 | #define cfq_log_cfqg(cfqd, cfqg, fmt, args...) do {} while (0) | 683 | #define cfq_log_cfqg(cfqd, cfqg, fmt, args...) do {} while (0) |
680 | 684 | ||
681 | static inline void cfqg_stats_update_io_add(struct cfq_group *cfqg, | 685 | static inline void cfqg_stats_update_io_add(struct cfq_group *cfqg, |