Keir,
I am trying to debug the SMP dom0 boot issue on
x86_64. I find the changeset 7402 is breaking SMP.
Your patch 7402: ba9706473941520247153e7e31d89899285d09ce
is extending the event-channel pending and mask arrays to longs.
I think the synch_const_test_bit should also change accordingly.
This does not fix the SMP issue yet, but is this the right way to fix it?
Signed-Off-By: Nitin A Kamble
<nitin.a.kamble@xxxxxxxxx>
diff -r e47f04c55eb1612bca605c972943ae166aae22d0
linux-2.6-xen-sparse/include/asm-xen/asm-i386/synch_bitops.h
--- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/synch_bitops.h
Mon Oct 24 11:57:37 2005
+++
b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/synch_bitops.h
Tue Oct 25 19:14:48 2005
@@ -120,7 +120,7 @@
static __inline__ int synch_const_test_bit(int nr,
const volatile void * addr)
{
return ((1UL << (nr &
31)) &
-
(((const volatile unsigned int *) addr)[nr >> 5])) != 0;
+
(((const volatile unsigned int *) addr)[nr / BITS_PER_LONG])) != 0;
}
static __inline__ int synch_var_test_bit(int nr,
volatile void * addr)
Thanks & Regards,
Nitin
-----------------------------------------------------------------------------------
Open Source Technology Center, Intel Corp