Re: Hard lockup with 2.6.24.7-rt26 on x86 - cause found

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux