* [PATCH] sched: fix the wrong mask_len @ 2008-10-17 10:17 Miao Xie 2008-10-17 10:25 ` KOSAKI Motohiro 2008-10-17 10:26 ` Ingo Molnar 0 siblings, 2 replies; 6+ messages in thread From: Miao Xie @ 2008-10-17 10:17 UTC (permalink / raw) To: Ingo Molnar; +Cc: Linux-Kernel If the NR_CPUS isn't a multiple of 32, we get a truncated string of sched domains by catting /proc/schedstat. This is caused by the wrong mask_len. This patch fix it. Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> --- kernel/sched_stats.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/sched_stats.h b/kernel/sched_stats.h index 8385d43..81365b3 100644 --- a/kernel/sched_stats.h +++ b/kernel/sched_stats.h @@ -9,7 +9,7 @@ static int show_schedstat(struct seq_file *seq, void *v) { int cpu; - int mask_len = NR_CPUS/32 * 9; + int mask_len = (NR_CPUS/32 + 1) * 9; char *mask_str = kmalloc(mask_len, GFP_KERNEL); if (mask_str == NULL) -- 1.5.4.rc3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] sched: fix the wrong mask_len 2008-10-17 10:17 [PATCH] sched: fix the wrong mask_len Miao Xie @ 2008-10-17 10:25 ` KOSAKI Motohiro 2008-10-17 10:33 ` Peter Zijlstra 2008-10-17 10:26 ` Ingo Molnar 1 sibling, 1 reply; 6+ messages in thread From: KOSAKI Motohiro @ 2008-10-17 10:25 UTC (permalink / raw) To: miaox; +Cc: kosaki.motohiro, Ingo Molnar, Linux-Kernel > If the NR_CPUS isn't a multiple of 32, we get a truncated string of sched > domains by catting /proc/schedstat. This is caused by the wrong mask_len. > > This patch fix it. > > Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> > > --- > kernel/sched_stats.h | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/kernel/sched_stats.h b/kernel/sched_stats.h > index 8385d43..81365b3 100644 > --- a/kernel/sched_stats.h > +++ b/kernel/sched_stats.h > @@ -9,7 +9,7 @@ > static int show_schedstat(struct seq_file *seq, void *v) > { > int cpu; > - int mask_len = NR_CPUS/32 * 9; > + int mask_len = (NR_CPUS/32 + 1) * 9; > char *mask_str = kmalloc(mask_len, GFP_KERNEL); > DIV_ROUND_UP() is better? ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sched: fix the wrong mask_len 2008-10-17 10:25 ` KOSAKI Motohiro @ 2008-10-17 10:33 ` Peter Zijlstra 2008-10-17 10:58 ` Peter Zijlstra 0 siblings, 1 reply; 6+ messages in thread From: Peter Zijlstra @ 2008-10-17 10:33 UTC (permalink / raw) To: KOSAKI Motohiro; +Cc: miaox, Ingo Molnar, Linux-Kernel On Fri, 2008-10-17 at 19:25 +0900, KOSAKI Motohiro wrote: > > If the NR_CPUS isn't a multiple of 32, we get a truncated string of sched > > domains by catting /proc/schedstat. This is caused by the wrong mask_len. > > > > This patch fix it. > > > > Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> > > > > --- > > kernel/sched_stats.h | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/kernel/sched_stats.h b/kernel/sched_stats.h > > index 8385d43..81365b3 100644 > > --- a/kernel/sched_stats.h > > +++ b/kernel/sched_stats.h > > @@ -9,7 +9,7 @@ > > static int show_schedstat(struct seq_file *seq, void *v) > > { > > int cpu; > > - int mask_len = NR_CPUS/32 * 9; > > + int mask_len = (NR_CPUS/32 + 1) * 9; > > char *mask_str = kmalloc(mask_len, GFP_KERNEL); > > > > DIV_ROUND_UP() is better? Agreed ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sched: fix the wrong mask_len 2008-10-17 10:33 ` Peter Zijlstra @ 2008-10-17 10:58 ` Peter Zijlstra 2008-10-17 11:01 ` KOSAKI Motohiro 0 siblings, 1 reply; 6+ messages in thread From: Peter Zijlstra @ 2008-10-17 10:58 UTC (permalink / raw) To: KOSAKI Motohiro; +Cc: miaox, Ingo Molnar, Linux-Kernel On Fri, 2008-10-17 at 12:33 +0200, Peter Zijlstra wrote: > On Fri, 2008-10-17 at 19:25 +0900, KOSAKI Motohiro wrote: > > > If the NR_CPUS isn't a multiple of 32, we get a truncated string of sched > > > domains by catting /proc/schedstat. This is caused by the wrong mask_len. > > > > > > This patch fix it. > > > > > > Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> > > > > > > --- > > > kernel/sched_stats.h | 2 +- > > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > > > diff --git a/kernel/sched_stats.h b/kernel/sched_stats.h > > > index 8385d43..81365b3 100644 > > > --- a/kernel/sched_stats.h > > > +++ b/kernel/sched_stats.h > > > @@ -9,7 +9,7 @@ > > > static int show_schedstat(struct seq_file *seq, void *v) > > > { > > > int cpu; > > > - int mask_len = NR_CPUS/32 * 9; > > > + int mask_len = (NR_CPUS/32 + 1) * 9; > > > char *mask_str = kmalloc(mask_len, GFP_KERNEL); > > > > > > > DIV_ROUND_UP() is better? > > Agreed --- Subject: sched: fix the wrong mask_len From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Fri Oct 17 12:55:57 CEST 2008 If the NR_CPUS isn't a multiple of 32, we get a truncated string of sched domains by catting /proc/schedstat. This is caused by the wrong mask_len. Reported-by: Miao Xie <miaox@cn.fujitsu.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> --- kernel/sched_stats.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-2.6/kernel/sched_stats.h =================================================================== --- linux-2.6.orig/kernel/sched_stats.h +++ linux-2.6/kernel/sched_stats.h @@ -9,7 +9,7 @@ static int show_schedstat(struct seq_file *seq, void *v) { int cpu; - int mask_len = NR_CPUS/32 * 9; + int mask_len = DIV_ROUND_UP(NR_CPUS, 32) * 9; char *mask_str = kmalloc(mask_len, GFP_KERNEL); if (mask_str == NULL) ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sched: fix the wrong mask_len 2008-10-17 10:58 ` Peter Zijlstra @ 2008-10-17 11:01 ` KOSAKI Motohiro 0 siblings, 0 replies; 6+ messages in thread From: KOSAKI Motohiro @ 2008-10-17 11:01 UTC (permalink / raw) To: Peter Zijlstra; +Cc: kosaki.motohiro, miaox, Ingo Molnar, Linux-Kernel > --- > Subject: sched: fix the wrong mask_len > From: Peter Zijlstra <a.p.zijlstra@chello.nl> > Date: Fri Oct 17 12:55:57 CEST 2008 > > If the NR_CPUS isn't a multiple of 32, we get a truncated string of sched > domains by catting /proc/schedstat. This is caused by the wrong mask_len. > > Reported-by: Miao Xie <miaox@cn.fujitsu.com> > Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> > --- > kernel/sched_stats.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > Index: linux-2.6/kernel/sched_stats.h > =================================================================== > --- linux-2.6.orig/kernel/sched_stats.h > +++ linux-2.6/kernel/sched_stats.h > @@ -9,7 +9,7 @@ > static int show_schedstat(struct seq_file *seq, void *v) > { > int cpu; > - int mask_len = NR_CPUS/32 * 9; > + int mask_len = DIV_ROUND_UP(NR_CPUS, 32) * 9; > char *mask_str = kmalloc(mask_len, GFP_KERNEL); > > if (mask_str == NULL) Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sched: fix the wrong mask_len 2008-10-17 10:17 [PATCH] sched: fix the wrong mask_len Miao Xie 2008-10-17 10:25 ` KOSAKI Motohiro @ 2008-10-17 10:26 ` Ingo Molnar 1 sibling, 0 replies; 6+ messages in thread From: Ingo Molnar @ 2008-10-17 10:26 UTC (permalink / raw) To: Miao Xie; +Cc: Linux-Kernel, Peter Zijlstra * Miao Xie <miaox@cn.fujitsu.com> wrote: > If the NR_CPUS isn't a multiple of 32, we get a truncated string of sched > domains by catting /proc/schedstat. This is caused by the wrong mask_len. > > This patch fix it. > > Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> applied to tip/sched/urgent, thanks! Ingo ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-10-17 11:02 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-10-17 10:17 [PATCH] sched: fix the wrong mask_len Miao Xie 2008-10-17 10:25 ` KOSAKI Motohiro 2008-10-17 10:33 ` Peter Zijlstra 2008-10-17 10:58 ` Peter Zijlstra 2008-10-17 11:01 ` KOSAKI Motohiro 2008-10-17 10:26 ` Ingo Molnar
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.