Messages in this thread | | | Subject | Re: [PATCH 2/2] sched: fix cpupri priocount | From | Peter Zijlstra <> | Date | Wed, 04 Jun 2008 23:09:14 +0200 |
| |
On Wed, 2008-06-04 at 15:04 -0400, Gregory Haskins wrote: > A rounding error was pointed out by Peter Zijlstra which would result > in the structure holding priorities to be off by one. > > Signed-off-by: Gregory Haskins <ghaskins@novell.com> > CC: Peter Zijlstra <peterz@infradead.org> > --- > > kernel/sched_cpupri.h | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/kernel/sched_cpupri.h b/kernel/sched_cpupri.h > index 16d29b9..817c55c 100644 > --- a/kernel/sched_cpupri.h > +++ b/kernel/sched_cpupri.h > @@ -4,7 +4,7 @@ > #include <linux/sched.h> > > #define CPUPRI_NR_PRIORITIES 2+MAX_RT_PRIO > -#define CPUPRI_NR_PRI_WORDS CPUPRI_NR_PRIORITIES/BITS_PER_LONG > +#define CPUPRI_NR_PRI_WORDS (CPUPRI_NR_PRIORITIES + BITS_PER_LONG/2)/BITS_PER_LONG
(33 + 16) / 32 = 49 / 32 = 1
So its still wrong ;-)
Please use DECLARE_BITMAP and or BITS_TO_LONGS to avoid these issues.
| |