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]

Reply via email to