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/