diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-02-19 10:36:42 -0500 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-02-19 10:43:23 -0500 |
commit | e7c1feeb9f7beb971be3c79f0b236ada78955372 (patch) | |
tree | f9c571aae307cefcfb6984e307ea55ded85aa889 /fs/udf/super.c | |
parent | 0371d837d973073c08dc20f4a2f262cfefa7b0b7 (diff) |
Bugfix: C-EDF init when num online Cpus less than min cluster size
If the number of online Cpus is less than the minimum cluster size
(currently set to 4), it is pointless to load C-EDF plugin.
This fixes the following memory corruption problem reported by Bjoern:
It always hangs after initializing Feather-Trace.
[ 0.151575] TCP bind hash table entries: 65536 (order: 9, 3670016 bytes)
[ 0.163623] TCP: Hash tables configured (established 262144 bind 65536)
[ 0.164728] TCP reno registered
[ 0.165667] NET: Registered protocol family 1
[ 0.166383] pci 0000:00:00.0: Limiting direct PCI/PCI transfers
[ 0.167319] pci 0000:00:01.0: PIIX3: Enabling Passive Release
[ 0.168270] pci 0000:00:01.0: Activating ISA DMA hang workarounds
[ 0.181699] NTFS driver 2.1.29 [Flags: R/W].
[ 0.182751] msgmni has been set to 3868
[ 0.184463] alg: No test for cipher_null (cipher_null-generic)
[ 0.185464] alg: No test for ecb(cipher_null) (ecb-cipher_null)
[ 0.186430] alg: No test for digest_null (digest_null-generic)
[ 0.187387] alg: No test for compress_null (compress_null-generic)
[ 0.190236] alg: No test for fcrypt (fcrypt-generic)
[ 0.193586] alg: No test for stdrng (krng)
[ 0.202158] alg: No test for ghash (ghash-generic)
[ 0.202969] io scheduler noop registered
[ 0.203615] io scheduler anticipatory registered
[ 0.204324] io scheduler deadline registered
[ 0.205019] io scheduler cfq registered (default)
[ 0.205749] Starting LITMUS^RT kernel
[ 0.206302] Registering LITMUS^RT plugin Linux.
[ 0.207066] Registered kill rt tasks magic sysrq.
[ 0.207862] Initializing SRP per-CPU ceilings... done!
[ 0.208696] Initializing LITMUS^RT control device.
[ 0.209539] Registering LITMUS^RT plugin GSN-EDF.
[ 0.210291] Registering LITMUS^RT plugin PSN-EDF.
[ 0.211029] Registering LITMUS^RT plugin C-EDF.
[ 0.211837] Registering LITMUS^RT plugin PFAIR.
[ 0.212611] Initializing TRACE() device
[ 0.213209] Registered dump-trace-buffer(Y) magic sysrq.
[ 0.214027] Initializing Feather-Trace overhead tracing device.
I've attached with GDB and got the following stacktrace:
(gdb) target remote localhost:1234
Remote debugging using localhost:1234
[New Thread 1]
delay_tsc (loops=2127684) at arch/x86/lib/delay.c:62
62 rdtscl(now);
(gdb) bt
at kernel/panic.c:138
at kernel/exit.c:722
signr=1) at arch/x86/kernel/dumpstack.c:244
str=0xffffffff815e78b1 "general protection fault", regs=0xffff88007c8e19a8,
err=0) at arch/x86/kernel/dumpstack.c:303
error_code=0) at arch/x86/kernel/traps.c:308
(gdb) quit
So we got some memory corruption, and even the panic() fails.
According to git bisect, the problem appeared in:
6834f41a1aa2f92e5b7ca6ae8c80b6fee0fa1208 is the first bad commit
Diffstat (limited to 'fs/udf/super.c')
0 files changed, 0 insertions, 0 deletions