Changeset: 4353bccc660d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/4353bccc660d
Modified Files:
gdk/gdk_posix.c
gdk/gdk_posix.h
gdk/gdk_storage.c
Branch: default
Log Message:
Cleanup unused mmap modes.
diffs (142 lines):
diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c
--- a/gdk/gdk_posix.c
+++ b/gdk/gdk_posix.c
@@ -708,16 +708,12 @@ MT_getrss(void)
return 0;
}
-/* Windows mmap keeps a global list of base addresses for complex
- * (remapped) memory maps the reason is that each remapped segment
- * needs to be unmapped separately in the end. */
-
void *
MT_mmap(const char *path, int mode, size_t len)
{
DWORD mode0 = FILE_READ_ATTRIBUTES | FILE_READ_DATA;
DWORD mode1 = FILE_SHARE_READ | FILE_SHARE_WRITE;
- DWORD mode2 = mode & MMAP_ADVISE;
+ DWORD mode2;
DWORD mode3 = PAGE_READONLY;
int mode4 = FILE_MAP_READ;
SECURITY_ATTRIBUTES sa;
@@ -731,16 +727,6 @@ MT_mmap(const char *path, int mode, size
if (mode & MMAP_WRITE) {
mode0 |= FILE_APPEND_DATA | FILE_WRITE_ATTRIBUTES |
FILE_WRITE_DATA;
}
- if (mode2 == MMAP_RANDOM || mode2 == MMAP_DONTNEED) {
- mode2 = FILE_FLAG_RANDOM_ACCESS;
- } else if (mode2 == MMAP_SEQUENTIAL || mode2 == MMAP_WILLNEED) {
- mode2 = FILE_FLAG_SEQUENTIAL_SCAN;
- } else {
- mode2 = FILE_FLAG_NO_BUFFERING;
- }
- if (mode & MMAP_SYNC) {
- mode2 |= FILE_FLAG_WRITE_THROUGH;
- }
if (mode & MMAP_COPY) {
mode3 = PAGE_WRITECOPY;
mode4 = FILE_MAP_COPY;
@@ -748,7 +734,7 @@ MT_mmap(const char *path, int mode, size
mode3 = PAGE_READWRITE;
mode4 = FILE_MAP_WRITE;
}
- mode2 |= FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;
+ mode2 = FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = TRUE;
sa.lpSecurityDescriptor = 0;
diff --git a/gdk/gdk_posix.h b/gdk/gdk_posix.h
--- a/gdk/gdk_posix.h
+++ b/gdk/gdk_posix.h
@@ -43,74 +43,9 @@
# include <sys/mman.h>
#endif
-#ifdef __linux__
-/* on Linux, posix_madvise does not seem to work, fall back to classic
- * madvise */
-#undef HAVE_POSIX_MADVISE
-#undef HAVE_POSIX_FADVISE
-#undef POSIX_MADV_NORMAL
-#undef POSIX_MADV_RANDOM
-#undef POSIX_MADV_SEQUENTIAL
-#undef POSIX_MADV_WILLNEED
-#undef POSIX_MADV_DONTNEED
-#endif
-
-#ifndef HAVE_POSIX_MADVISE
-# ifdef HAVE_MADVISE
-# define posix_madvise madvise
-# define HAVE_POSIX_MADVISE 1
-# ifndef MADV_RANDOM
-# define MADV_RANDOM 0
-# endif
-# ifndef POSIX_MADV_NORMAL
-# define POSIX_MADV_NORMAL MADV_NORMAL
-# define POSIX_MADV_RANDOM MADV_RANDOM
-# define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL
-# define POSIX_MADV_WILLNEED MADV_WILLNEED
-# define POSIX_MADV_DONTNEED MADV_DONTNEED
-# endif
-# else
-# define posix_madvise(x,y,z) 0
-# ifndef POSIX_MADV_NORMAL
-# define POSIX_MADV_NORMAL 0
-# define POSIX_MADV_RANDOM 0
-# define POSIX_MADV_SEQUENTIAL 0
-# define POSIX_MADV_WILLNEED 0
-# define POSIX_MADV_DONTNEED 0
-# endif
-# endif
-#endif
-
-/* in case they are still not defined, define these values as
- * something that doesn't do anything */
-#ifndef POSIX_MADV_NORMAL
-#define POSIX_MADV_NORMAL 0
-#endif
-#ifndef POSIX_MADV_RANDOM
-#define POSIX_MADV_RANDOM 0
-#endif
-#ifndef POSIX_MADV_SEQUENTIAL
-#define POSIX_MADV_SEQUENTIAL 0
-#endif
-#ifndef POSIX_MADV_WILLNEED
-#define POSIX_MADV_WILLNEED 0
-#endif
-#ifndef POSIX_MADV_DONTNEED
-#define POSIX_MADV_DONTNEED 0
-#endif
-
-/* the new mmap modes, mimic default MADV_* madvise POSIX constants */
-#define MMAP_NORMAL POSIX_MADV_NORMAL /* no further special treatment
*/
-#define MMAP_RANDOM POSIX_MADV_RANDOM /* expect random page
references */
-#define MMAP_SEQUENTIAL POSIX_MADV_SEQUENTIAL /* expect sequential
page references */
-#define MMAP_WILLNEED POSIX_MADV_WILLNEED /* will need these pages */
-#define MMAP_DONTNEED POSIX_MADV_DONTNEED /* don't need these pages */
-
#define MMAP_READ 1024 /* region is readable (default if
omitted) */
#define MMAP_WRITE 2048 /* region may be written into */
#define MMAP_COPY 4096 /* writable, but changes never reach
file */
-#define MMAP_ASYNC 8192 /* asynchronous writes (default if
omitted) */
-#define MMAP_SYNC 16384 /* writing is done synchronously */
/* in order to be sure of madvise and msync modes, pass them to mmap()
* call as well */
diff --git a/gdk/gdk_storage.c b/gdk/gdk_storage.c
--- a/gdk/gdk_storage.c
+++ b/gdk/gdk_storage.c
@@ -586,12 +586,10 @@ GDKload(int farmid, const char *nme, con
nme = path;
}
if (nme != NULL && GDKextend(nme, size) == GDK_SUCCEED) {
- int mod = MMAP_READ | MMAP_WRITE | MMAP_SEQUENTIAL;
+ int mod = MMAP_READ | MMAP_WRITE;
if (mode == STORE_PRIV)
mod |= MMAP_COPY;
- else
- mod |= MMAP_SYNC;
ret = GDKmmap(nme, mod, size);
if (ret != NULL) {
/* success: update allocated size */
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]