Merge pull request #104 from aeberspaecher/develop

Fixed #85. Add the patch for segfaults on kernel 2.6.32 and add documentation accordingly.
This commit is contained in:
Xianyi Zhang 2012-05-03 05:00:40 -07:00
commit 11cc9dc151
2 changed files with 36 additions and 0 deletions

View File

@ -90,6 +90,15 @@
number of threads will consume extra resource. I recommend you to number of threads will consume extra resource. I recommend you to
specify minimum number of threads. specify minimum number of threads.
1.9 Q I have segfaults when I compile with USE_OPENMP=1. What's wrong?
A This may be related to a bug in the Linux kernel 2.6.32. Try applying
the patch segaults.patch using
git am segfaults.patch
and see if the crashes persist. Note that this patch will lead to many
compiler warnings.
2. Architecture Specific issue or Implementation 2. Architecture Specific issue or Implementation

27
segfaults.patch Normal file
View File

@ -0,0 +1,27 @@
From ac40907baa90a0acc78139762ffa3c6f09274236 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alexander=20Ebersp=C3=A4cher?= <alex.eberspaecher@gmail.com>
Date: Wed, 2 May 2012 11:22:52 +0200
Subject: [PATCH] Fix segfaults with kernel 2.6.32. This comes at the price of many compiler warnings.
---
common_linux.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/common_linux.h b/common_linux.h
index b0381d9..40a94cb 100644
--- a/common_linux.h
+++ b/common_linux.h
@@ -76,8 +76,8 @@ static inline int my_mbind(void *addr, unsigned long len, int mode,
#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, nodemask, maxnode, flags);
+ unsigned long null_nodemask=0;
+ return syscall(SYS_mbind, addr, len, mode, &nodemask, maxnode, flags);
#endif
}
--
1.7.1