Re: 2.5.74-mm1

Zwane Mwaikambo (zwane@arm.linux.org.uk)
Fri, 4 Jul 2003 03:50:27 -0400 (EDT)


On Fri, 4 Jul 2003, Zwane Mwaikambo wrote:

> The second one is correct. So one definite failing piece of code was in
> the cpus_or() path, i'm not so sure about the others. I have attached the
> test case. Bill says his gcc 3.3 works...

Uninlining bitmap_or fixes the test case with -O2 Could you try the
following patch with your kernels?

--- linux-2.5.74-cpumask/include/linux/bitmap.h.orig 2003-07-04 03:48:22.746229592 -0400
+++ linux-2.5.74-cpumask/include/linux/bitmap.h 2003-07-04 03:49:39.606545048 -0400
@@ -100,7 +100,7 @@
bitmap_copy(dst, __shl_tmp, bits);
}

-static inline void bitmap_and(volatile unsigned long *dst, const volatile unsigned long *bitmap1, const volatile unsigned long *bitmap2, int bits)
+static void bitmap_and(volatile unsigned long *dst, const volatile unsigned long *bitmap1, const volatile unsigned long *bitmap2, int bits)
{
int k;

@@ -108,7 +108,7 @@
dst[k] = bitmap1[k] & bitmap2[k];
}

-static inline void bitmap_or(volatile unsigned long *dst, const volatile unsigned long *bitmap1, const volatile unsigned long *bitmap2, int bits)
+static void bitmap_or(volatile unsigned long *dst, const volatile unsigned long *bitmap1, const volatile unsigned long *bitmap2, int bits)
{
int k;

-- 
function.linuxpower.ca
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/