浏览代码

trace_workqueues: fix empty line's output

Empty lines separate cpus stat. After previous
fix(trace_stat: keep original order) applied, the empty lines
are displayed at incorrect position.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Acked-by: Steven Rostedt <srostedt@redhat.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <49C9F266.2060706@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Lai Jiangshan 16 年之前
父节点
当前提交
2f63b840bc
共有 1 个文件被更改,包括 6 次插入6 次删除
  1. 6 6
      kernel/trace/trace_workqueue.c

+ 6 - 6
kernel/trace/trace_workqueue.c

@@ -196,6 +196,11 @@ static int workqueue_stat_show(struct seq_file *s, void *p)
 	struct pid *pid;
 	struct pid *pid;
 	struct task_struct *tsk;
 	struct task_struct *tsk;
 
 
+	spin_lock_irqsave(&workqueue_cpu_stat(cpu)->lock, flags);
+	if (&cws->list == workqueue_cpu_stat(cpu)->list.next)
+		seq_printf(s, "\n");
+	spin_unlock_irqrestore(&workqueue_cpu_stat(cpu)->lock, flags);
+
 	pid = find_get_pid(cws->pid);
 	pid = find_get_pid(cws->pid);
 	if (pid) {
 	if (pid) {
 		tsk = get_pid_task(pid, PIDTYPE_PID);
 		tsk = get_pid_task(pid, PIDTYPE_PID);
@@ -208,18 +213,13 @@ static int workqueue_stat_show(struct seq_file *s, void *p)
 		put_pid(pid);
 		put_pid(pid);
 	}
 	}
 
 
-	spin_lock_irqsave(&workqueue_cpu_stat(cpu)->lock, flags);
-	if (&cws->list == workqueue_cpu_stat(cpu)->list.next)
-		seq_printf(s, "\n");
-	spin_unlock_irqrestore(&workqueue_cpu_stat(cpu)->lock, flags);
-
 	return 0;
 	return 0;
 }
 }
 
 
 static int workqueue_stat_headers(struct seq_file *s)
 static int workqueue_stat_headers(struct seq_file *s)
 {
 {
 	seq_printf(s, "# CPU  INSERTED  EXECUTED   NAME\n");
 	seq_printf(s, "# CPU  INSERTED  EXECUTED   NAME\n");
-	seq_printf(s, "# |      |         |          |\n\n");
+	seq_printf(s, "# |      |         |          |\n");
 	return 0;
 	return 0;
 }
 }