|
|
@@ -68,9 +68,13 @@ extern long int syscall (long int __sysno, ...); |
|
|
static inline int my_mbind(void *addr, unsigned long len, int mode, |
|
|
static inline int my_mbind(void *addr, unsigned long len, int mode, |
|
|
unsigned long *nodemask, unsigned long maxnode, |
|
|
unsigned long *nodemask, unsigned long maxnode, |
|
|
unsigned flags) { |
|
|
unsigned flags) { |
|
|
|
|
|
#if defined (LOONGSON3B) |
|
|
|
|
|
return syscall(SYS_mbind, addr, len, mode, nodemask, maxnode, flags); |
|
|
|
|
|
#else |
|
|
//Fixed randomly SEGFAULT when nodemask==NULL with above Linux 2.6.34 |
|
|
//Fixed randomly SEGFAULT when nodemask==NULL with above Linux 2.6.34 |
|
|
unsigned long null_nodemask=0; |
|
|
unsigned long null_nodemask=0; |
|
|
return syscall(SYS_mbind, addr, len, mode, &null_nodemask, maxnode, flags); |
|
|
return syscall(SYS_mbind, addr, len, mode, &null_nodemask, maxnode, flags); |
|
|
|
|
|
#endif |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
static inline int my_set_mempolicy(int mode, const unsigned long *addr, unsigned long flag) { |
|
|
static inline int my_set_mempolicy(int mode, const unsigned long *addr, unsigned long flag) { |
|
|
|