[Darshan-commits] [Git][darshan/darshan][master] 2 commits: disable mmap wrapper for dynamic linking
Shane Snyder
xgitlab at cels.anl.gov
Fri Feb 3 15:45:12 CST 2017
Shane Snyder pushed to branch master at darshan / darshan
Commits:
90de4de4 by Phil Carns at 2017-02-03T20:56:46+00:00
disable mmap wrapper for dynamic linking
see #223
- - - - -
3a244907 by Shane Snyder at 2017-02-03T15:45:08-06:00
Merge branch 'issue-223-mmap-hugepages' into 'master'
disable mmap wrapper for dynamic linking
Closes #223
See merge request !10
- - - - -
3 changed files:
- ChangeLog
- darshan-runtime/Makefile.in
- darshan-runtime/lib/darshan-posix.c
Changes:
=====================================
ChangeLog
=====================================
--- a/ChangeLog
+++ b/ChangeLog
@@ -16,7 +16,10 @@ Darshan-3.1.3-pre1
applications (contributed by Cristian Simarro)
* skip instrumentation attempts for anonymous mmap() calls; this avoids a
potentential deadlock condition when used with hugepages on Cray systems.
- Reported by Glenn Lockwood and Cristian Simarro.
+ Reported by Glenn Lockwood for static linking case.
+* disable instrumentation for mmap when dynamically linking; this avoids a
+ potential deadlock condition on Cray systems using dynamically linked
+ executabes. Reported by Cristian Simarro for dynamic linking case.
* fix segmentation fault in statistics collection for applications that issue
operations with a large number of distince access sizes or strides on the
same file. Reported by Glenn Lockwood.
=====================================
darshan-runtime/Makefile.in
=====================================
--- a/darshan-runtime/Makefile.in
+++ b/darshan-runtime/Makefile.in
@@ -87,7 +87,7 @@ lib/darshan-null.po: lib/darshan-null.c darshan.h darshan-dynamic.h darshan-comm
$(CC) $(CFLAGS_SHARED) -c $< -o $@
lib/darshan-posix.o: lib/darshan-posix.c darshan.h darshan-common.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-posix-log-format.h | lib
- $(CC) $(CFLAGS) -c $< -o $@
+ $(CC) $(CFLAGS) -DDARSHAN_WRAP_MMAP -c $< -o $@
lib/darshan-posix.po: lib/darshan-posix.c darshan.h darshan-dynamic.h darshan-common.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-posix-log-format.h | lib
$(CC) $(CFLAGS_SHARED) -c $< -o $@
=====================================
darshan-runtime/lib/darshan-posix.c
=====================================
--- a/darshan-runtime/lib/darshan-posix.c
+++ b/darshan-runtime/lib/darshan-posix.c
@@ -62,8 +62,10 @@ DARSHAN_FORWARD_DECL(__lxstat, int, (int vers, const char* path, struct stat *bu
DARSHAN_FORWARD_DECL(__lxstat64, int, (int vers, const char* path, struct stat64 *buf));
DARSHAN_FORWARD_DECL(__fxstat, int, (int vers, int fd, struct stat *buf));
DARSHAN_FORWARD_DECL(__fxstat64, int, (int vers, int fd, struct stat64 *buf));
+#ifdef DARSHAN_WRAP_MMAP
DARSHAN_FORWARD_DECL(mmap, void*, (void *addr, size_t length, int prot, int flags, int fd, off_t offset));
DARSHAN_FORWARD_DECL(mmap64, void*, (void *addr, size_t length, int prot, int flags, int fd, off64_t offset));
+#endif /* DARSHAN_WRAP_MMAP */
DARSHAN_FORWARD_DECL(fsync, int, (int fd));
DARSHAN_FORWARD_DECL(fdatasync, int, (int fd));
DARSHAN_FORWARD_DECL(close, int, (int fd));
@@ -917,6 +919,7 @@ int DARSHAN_DECL(__fxstat64)(int vers, int fd, struct stat64 *buf)
return(ret);
}
+#ifdef DARSHAN_WRAP_MMAP
void* DARSHAN_DECL(mmap)(void *addr, size_t length, int prot, int flags,
int fd, off_t offset)
{
@@ -947,7 +950,9 @@ void* DARSHAN_DECL(mmap)(void *addr, size_t length, int prot, int flags,
return(ret);
}
+#endif /* DARSHAN_WRAP_MMAP */
+#ifdef DARSHAN_WRAP_MMAP
void* DARSHAN_DECL(mmap64)(void *addr, size_t length, int prot, int flags,
int fd, off64_t offset)
{
@@ -978,6 +983,7 @@ void* DARSHAN_DECL(mmap64)(void *addr, size_t length, int prot, int flags,
return(ret);
}
+#endif /* DARSHAN_WRAP_MMAP */
int DARSHAN_DECL(fsync)(int fd)
{
View it on GitLab: https://xgitlab.cels.anl.gov/darshan/darshan/compare/f8cfb07e7874fe885d05122eb1127e38ca41b08a...3a244907af99a317c52ebb79294e2f4a70aa47cd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/darshan-commits/attachments/20170203/f04e85c5/attachment-0001.html>
More information about the Darshan-commits
mailing list