Peter Zijlstra wrote: > On Fri, 2009-02-06 at 11:34 +0100, Matthias Luescher wrote: > >> Hi >> >> I finally found out which patch does not work well with my configuration: >> >> 2.6.24.7-rt12 seems to be ok, with 2.6.24.7-rt13 the command cyclictest -p99 -t10 -n -i250 crashes the kernel. >> >> 2.6.24.7-rt13 has the follwing new patches: >> ftrace-hotplug-fix.patch >> ftrace-wakeup-rawspinlock.patch >> radix-tree-lockdep-plus1.patch >> sched-cpupri-hotplug-support.patch >> sched-cpupri-priocount.patch >> >> No I went again to 2.6.24.7-rt26 but removed some patches: >> 2.6.24.7-rt26 with all patches -> CRASH >> 2.6.24.7-rt26 without sched-cpupri-hotplug-support.patch and without sched-cpupri-priocount.patch ->OK >> 2.6.24.7-rt26 without sched-cpupri-hotplug-support.patch ->CRASH >> > > sched-cpupri-priocount.patch is buggy > > +#define CPUPRI_NR_PRI_WORDS (CPUPRI_NR_PRIORITIES + BITS_PER_LONG/2)/BITS_PER_LONG > Thomas fixed this somewhere along the way with the inlined patch. Steven, this should be pulled into all actively maintained -rt branches that do not already have it. commit e539d8fcd11af811db70707d47ea436d5621d0da Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jun 5 10:28:00 2008 +0200 sched: fix the cpuprio count really Peter pointed out that the last version of the "fix" was still one off under certain circumstances. Use BITS_TO_LONG instead to get an accurate result. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> diff --git a/kernel/sched_cpupri.h b/kernel/sched_cpupri.h index 6b38355..f25811b 100644 --- a/kernel/sched_cpupri.h +++ b/kernel/sched_cpupri.h @@ -3,8 +3,8 @@ #include <linux/sched.h> -#define CPUPRI_NR_PRIORITIES 2+MAX_RT_PRIO -#define CPUPRI_NR_PRI_WORDS (CPUPRI_NR_PRIORITIES + BITS_PER_LONG/2)/BITS_PER_LONG +#define CPUPRI_NR_PRIORITIES (MAX_RT_PRIO + 2) +#define CPUPRI_NR_PRI_WORDS BITS_TO_LONGS(CPUPRI_NR_PRIORITIES) #define CPUPRI_INVALID -1 #define CPUPRI_IDLE 0
Attachment:
signature.asc
Description: OpenPGP digital signature