Re: 2.6.6-rc[23] boot failure on x86_64
From: Chris Mason
Date: Thu Apr 29 2004 - 12:47:57 EST
On Thu, 2004-04-29 at 13:12, Jonathan Corbet wrote:
> 2.6.5 runs happily on my Athlon64 system, but the last two 2.6.6-rc
> releases (I never tried -rc1) fail. It gets as far as starting init, then
> goes into a long, unstoppable series of oopsen; I can't come up with a way
> to make it halt so that I can actually read what's going on.
>
> One time it did stop with a series of three-line messages on screen:
>
> Unable to handle kernel paging request @ fffffffb82777c88 RIP:
> [<ffffffff80462a88>] PML4 103027 PGD 0
> Oops: 0000 [909589208]
Could you try reversing this one:
-chris
Name: Fix cpumask iterator over empty cpu set
Status: Trivial
Can't use _ffs() without first checking for zero, and if bits beyond
NR_CPUS set it'll give bogus results. Use find_first_bit
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .26180-linux-2.6.6-rc2-bk5/include/asm-generic/cpumask_arith.h .26180-linux-2.6.6-rc2-bk5.updated/include/asm-generic/cpumask_arith.h
--- .26180-linux-2.6.6-rc2-bk5/include/asm-generic/cpumask_arith.h 2004-01-10 13:59:33.000000000 +1100
+++ .26180-linux-2.6.6-rc2-bk5.updated/include/asm-generic/cpumask_arith.h 2004-04-28 09:50:23.000000000 +1000
@@ -43,7 +43,7 @@
#define cpus_promote(map) ({ map; })
#define cpumask_of_cpu(cpu) ({ ((cpumask_t)1) << (cpu); })
-#define first_cpu(map) __ffs(map)
+#define first_cpu(map) find_first_bit(&(map), NR_CPUS)
#define next_cpu(cpu, map) find_next_bit(&(map), NR_CPUS, cpu + 1)
#endif /* __ASM_GENERIC_CPUMASK_ARITH_H */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/