[ewg] [Fwd: A fix to complation of core under IA64 and sles10_sp3]

Moni Shoua monis at Voltaire.COM
Thu Nov 5 07:58:31 PST 2009


Sorry, I forgot to send this to the list

-------- Original Message --------
Subject: A fix to complation of core under IA64 and sles10_sp3
Date: Thu, 05 Nov 2009 17:55:04 +0200
From: Moni Shoua <monis at Voltaire.COM>
To: Vlad <vlad at mellanox.co.il>
CC: Tziporet Koren <tziporet at mellanox.co.il>,  Jon Mason <jon at opengridcomputing.com>,  anatolyg at voltaire.com

Hi,
The patch below fixes the problem with compilation of core modules. 
It doesn't look too elegant but when I try to include <asm/system.h> for a 
missing declaration of a  symbol I find myslf in a include mess of 
bi-directional depndency that I found very hard to solve (and the solution 
isn't too elegant itself). The patch below works but if anyone thinks
of a better idea please suggest. I'm willing to help if you don't have a system to run tests.

Vlad,
This patch is against the rdmaoe branch but I bellive it would also apply against master.

Jon,
I put you in the CC because the only module that uses clear_bit_unlock is nfs.

thanks

Moni
---

diff --git a/kernel_addons/backport/2.6.16_sles10_sp3/include/asm/bitops.h b/kernel_addons/backport/2.6.16_sles10_sp3/include/asm/bitops.h
index 28f03df..bfafd32 100644
--- a/kernel_addons/backport/2.6.16_sles10_sp3/include/asm/bitops.h
+++ b/kernel_addons/backport/2.6.16_sles10_sp3/include/asm/bitops.h
@@ -4,6 +4,8 @@
 #include_next <asm/bitops.h>
 #include <linux/compiler.h>
 
+#ifndef CONFIG_IA64
+
 #if defined(CONFIG_PPC32) || defined(CONFIG_PPC64)
 #ifdef CONFIG_SMP
 #define mb()   __asm__ __volatile__ ("sync" : : : "memory")
@@ -19,4 +21,14 @@ static inline void clear_bit_unlock(unsigned long nr, volatile unsigned long *ad
 	clear_bit(nr, addr);
 }
 
+#else
+
+static inline void clear_bit_unlock(unsigned long nr, volatile unsigned long *addr)
+{
+	ia64_mf();
+	clear_bit(nr, addr);
+}
+
+#endif
+
 #endif




More information about the ewg mailing list