[PATCH 4/4] getdelays: show max CPU/IO/SWAP/RECLAIM delays

From: Satoru Moriya
Date: Mon Nov 28 2011 - 17:47:23 EST


With this patch, getdelays shows maximum delay which it gets from kernel
via taskstats interface.

Output example:
(on 100 concurrent dd reading sparse files with 1 dd writing a file)

CPU count real total virtual total delay total delay_max delay average
234 61990576 78703354 543649 138417 0.002ms
IO count delay total delay max delay average
16 184774999 61259321 11ms
SWAP count delay total delay max delay average
0 0 0 0ms
RECLAIM count delay total delay_max delay average
20 4249456 381288 0ms


Signed-off-by: Satoru Moriya <satoru.moriya@xxxxxxx>
---
Documentation/accounting/getdelays.c | 28 ++++++++++++++++------------
1 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/Documentation/accounting/getdelays.c b/Documentation/accounting/getdelays.c
index f6318f6..69d3ec4 100644
--- a/Documentation/accounting/getdelays.c
+++ b/Documentation/accounting/getdelays.c
@@ -197,32 +197,36 @@ static int get_family_id(int sd)

static void print_delayacct(struct taskstats *t)
{
- printf("\n\nCPU %15s%15s%15s%15s%15s\n"
- " %15llu%15llu%15llu%15llu%15.3fms\n"
- "IO %15s%15s%15s\n"
- " %15llu%15llu%15llums\n"
- "SWAP %15s%15s%15s\n"
- " %15llu%15llu%15llums\n"
- "RECLAIM %12s%15s%15s\n"
- " %15llu%15llu%15llums\n",
+ printf("\n\nCPU %15s%15s%15s%15s%15s%15s\n"
+ " %15llu%15llu%15llu%15llu%15llu%15.3fms\n"
+ "IO %15s%15s%15s%15s\n"
+ " %15llu%15llu%15llu%15llums\n"
+ "SWAP %15s%15s%15s%15s\n"
+ " %15llu%15llu%15llu%15llums\n"
+ "RECLAIM %12s%15s%15s%15s\n"
+ " %15llu%15llu%15llu%15llums\n",
"count", "real total", "virtual total",
- "delay total", "delay average",
+ "delay total", "delay_max", "delay average",
(unsigned long long)t->cpu_count,
(unsigned long long)t->cpu_run_real_total,
(unsigned long long)t->cpu_run_virtual_total,
(unsigned long long)t->cpu_delay_total,
+ (unsigned long long)t->cpu_delay_max,
average_ms((double)t->cpu_delay_total, t->cpu_count),
- "count", "delay total", "delay average",
+ "count", "delay total", "delay max", "delay average",
(unsigned long long)t->blkio_count,
(unsigned long long)t->blkio_delay_total,
+ (unsigned long long)t->blkio_delay_max,
average_ms(t->blkio_delay_total, t->blkio_count),
- "count", "delay total", "delay average",
+ "count", "delay total", "delay max", "delay average",
(unsigned long long)t->swapin_count,
(unsigned long long)t->swapin_delay_total,
+ (unsigned long long)t->swapin_delay_max,
average_ms(t->swapin_delay_total, t->swapin_count),
- "count", "delay total", "delay average",
+ "count", "delay total", "delay_max", "delay average",
(unsigned long long)t->freepages_count,
(unsigned long long)t->freepages_delay_total,
+ (unsigned long long)t->freepages_delay_max,
average_ms(t->freepages_delay_total, t->freepages_count));
}

--
1.7.6.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/