[tip:timers/core] timer stats: Add a 'Collection: active/inactive' line to timer usage statistics

From: tip-bot for Dong Zhu
Date: Thu Oct 10 2013 - 07:25:48 EST


Commit-ID: 2cb763614c1c5baef58045af9304265075f22d0a
Gitweb: http://git.kernel.org/tip/2cb763614c1c5baef58045af9304265075f22d0a
Author: Dong Zhu <bluezhudong@xxxxxxxxx>
AuthorDate: Thu, 10 Oct 2013 15:56:18 +0800
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitDate: Thu, 10 Oct 2013 09:59:25 +0200

timer stats: Add a 'Collection: active/inactive' line to timer usage statistics

We can enable/disable timer statistics collection via:

echo [1|0] > /proc/timers_stats

and it would be nice if apps had the ability to check
what the current collection status is.

This patch adds a 'Collection: active/inactive' line to display the
current timer collection status.

Also bump up the timer stats version to v0.3.

Signed-off-by: Dong Zhu <bluezhudong@xxxxxxxxx>
Cc: John Stultz <john.stultz@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/20131010075618.GH2139@xxxxxxxxxxxxxxxxxxxxxx
[ Improved the changelog and the code. ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
kernel/time/timer_stats.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/kernel/time/timer_stats.c b/kernel/time/timer_stats.c
index 0b537f2..1fb08f2 100644
--- a/kernel/time/timer_stats.c
+++ b/kernel/time/timer_stats.c
@@ -298,15 +298,15 @@ static int tstats_show(struct seq_file *m, void *v)
period = ktime_to_timespec(time);
ms = period.tv_nsec / 1000000;

- seq_puts(m, "Timer Stats Version: v0.2\n");
+ seq_puts(m, "Timer Stats Version: v0.3\n");
seq_printf(m, "Sample period: %ld.%03ld s\n", period.tv_sec, ms);
if (atomic_read(&overflow_count))
- seq_printf(m, "Overflow: %d entries\n",
- atomic_read(&overflow_count));
+ seq_printf(m, "Overflow: %d entries\n", atomic_read(&overflow_count));
+ seq_printf(m, "Collection: %s\n", timer_stats_active ? "active" : "inactive");

for (i = 0; i < nr_entries; i++) {
entry = entries + i;
- if (entry->timer_flag & TIMER_STATS_FLAG_DEFERRABLE) {
+ if (entry->timer_flag & TIMER_STATS_FLAG_DEFERRABLE) {
seq_printf(m, "%4luD, %5d %-16s ",
entry->count, entry->pid, entry->comm);
} else {
--
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/