Adding n32 multiple threads condition.
authorWang Qian <wangqian10@iscas.ac.cn>
Thu, 1 Dec 2011 16:33:11 +0000 (16:33 +0000)
committerWang Qian <wangqian10@iscas.ac.cn>
Thu, 1 Dec 2011 16:33:11 +0000 (16:33 +0000)
common_linux.h
common_mips64.h

index 45a688d..8d9019a 100644 (file)
@@ -68,9 +68,13 @@ extern long int syscall (long int __sysno, ...);
 static inline int my_mbind(void *addr, unsigned long len, int mode,
                           unsigned long *nodemask, unsigned long maxnode,
                           unsigned flags) {
-#if defined (LOONGSON3B)
+#if defined (LOONGSON3B) 
+#if defined (__64BIT__)
        return syscall(SYS_mbind, addr, len, mode, nodemask, maxnode, flags);
 #else
+       return 0; //NULL Implementation on Loongson 3B 32bit.
+#endif
+#else
 //Fixed randomly SEGFAULT when nodemask==NULL with above Linux 2.6.34
        unsigned long null_nodemask=0;
        return syscall(SYS_mbind, addr, len, mode, &null_nodemask, maxnode, flags);
index 560f2c3..8534837 100644 (file)
@@ -120,6 +120,7 @@ static inline unsigned int rpcc(void){
 }
 
 #if defined(LOONGSON3A) || defined(LOONGSON3B)
+#ifndef NO_AFFINITY
 #define WHEREAMI
 static inline int WhereAmI(void){
   int ret=0;
@@ -131,6 +132,7 @@ static inline int WhereAmI(void){
 
 }
 #endif
+#endif
 
 static inline int blas_quickdivide(blasint x, blasint y){
   return x / y;