Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.26-rc1 /kernel/sched_stats.h

Filename:/kernel/sched_stats.h
Lines Added:6
Lines Deleted:2
Also changed in: (Previous) 2.6.25-git20  2.6.25-git19  2.6.25-git18  2.6.25-git17  2.6.25-git16  2.6.25-git15 
(Following) 2.6.26-rc2  2.6.26-rc3  2.6.26-rc4  2.6.26-rc4-git3  2.6.26-rc4-git4  2.6.26-rc4-git5 

Location
[  2.6.26-rc1
  [  kernel
     o  sched_stats.h

Patch

diff --git a/kernel/sched_stats.h b/kernel/sched_stats.h
index 5b32433..5bae2e0 100644
--- a/kernel/sched_stats.h
+++ b/kernel/sched_stats.h
@@ -9,6 +9,11 @@
 static int show_schedstat(struct seq_file *seq, void *v)
 {
    int cpu;
+   int mask_len = NR_CPUS/32 * 9;
+   char *mask_str = kmalloc(mask_len, GFP_KERNEL);
+
+   if (mask_str == NULL)
+      return -ENOMEM;
 
    seq_printf(seq, "version %d\n", SCHEDSTAT_VERSION);
    seq_printf(seq, "timestamp %lu\n", jiffies);
@@ -36,9 +41,8 @@ static int show_schedstat(struct seq_file *seq, void *v)
       preempt_disable();
       for_each_domain(cpu, sd) {
          enum cpu_idle_type itype;
-         char mask_str[NR_CPUS];
 
-         cpumask_scnprintf(mask_str, NR_CPUS, sd->span);
+         cpumask_scnprintf(mask_str, mask_len, sd->span);
          seq_printf(seq, "domain%d %s", dcount++, mask_str);
          for (itype = CPU_IDLE; itype < CPU_MAX_IDLE_TYPES;
                itype++) {


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.