From be7eb643028ff028d543846f3ea1f88bed8ef4cf Mon Sep 17 00:00:00 2001 From: Li Zefan Date: Mon, 17 Aug 2009 16:52:53 +0800 Subject: [PATCH] --- yaml --- r: 158439 b: refs/heads/master c: 97d53202a5670a08b79c8ef2e4fff1c1ee21317c h: refs/heads/master i: 158437: 9d939e697059514b97b60a1009b3c1e54c6101a4 158435: 7185fc3f7c0b7aa09f9e87ad6a514ab2aafc13da 158431: 2457e4de6671d86e44bcf6b118cf64c69c56d73e v: v3 --- [refs] | 2 +- trunk/kernel/trace/trace_stat.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 2c452d483c35..fb0e717c839d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ba8b3a40ba7e06d00c27508f090803af90e8dbbf +refs/heads/master: 97d53202a5670a08b79c8ef2e4fff1c1ee21317c diff --git a/trunk/kernel/trace/trace_stat.c b/trunk/kernel/trace/trace_stat.c index 07c60b09258f..a4bb239eb987 100644 --- a/trunk/kernel/trace/trace_stat.c +++ b/trunk/kernel/trace/trace_stat.c @@ -203,17 +203,21 @@ static void *stat_seq_start(struct seq_file *s, loff_t *pos) { struct stat_session *session = s->private; struct rb_node *node; + int n = *pos; int i; /* Prevent from tracer switch or rbtree modification */ mutex_lock(&session->stat_mutex); /* If we are in the beginning of the file, print the headers */ - if (!*pos && session->ts->stat_headers) - return SEQ_START_TOKEN; + if (session->ts->stat_headers) { + if (n == 0) + return SEQ_START_TOKEN; + n--; + } node = rb_first(&session->stat_root); - for (i = 0; node && i < *pos; i++) + for (i = 0; node && i < n; i++) node = rb_next(node); return node;