浏览代码

[S390] show_interrupts: prevent cpu hotplug when walking cpu_online_map.

Surround all the code withing show_interrupts() with
get/put_online_cpus() to prevent strange results wrt cpu hotplug.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens 17 年之前
父节点
当前提交
8dd79cb105
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      arch/s390/kernel/irq.c

+ 2 - 1
arch/s390/kernel/irq.c

@@ -25,6 +25,7 @@ int show_interrupts(struct seq_file *p, void *v)
 	static const char *intrclass_names[] = { "EXT", "I/O", };
 	static const char *intrclass_names[] = { "EXT", "I/O", };
 	int i = *(loff_t *) v, j;
 	int i = *(loff_t *) v, j;
 
 
+	get_online_cpus();
 	if (i == 0) {
 	if (i == 0) {
 		seq_puts(p, "           ");
 		seq_puts(p, "           ");
 		for_each_online_cpu(j)
 		for_each_online_cpu(j)
@@ -43,7 +44,7 @@ int show_interrupts(struct seq_file *p, void *v)
                 seq_putc(p, '\n');
                 seq_putc(p, '\n');
 
 
         }
         }
-
+	put_online_cpus();
         return 0;
         return 0;
 }
 }