Author: Remi Meier <remi.me...@inf.ethz.ch>
Branch: c8-new-page-handling
Changeset: r1405:592f45721ab1
Date: 2014-09-22 12:54 +0200
http://bitbucket.org/pypy/stmgc/changeset/592f45721ab1/

Log:    actually make the file big enough

diff --git a/c8/stm/core.c b/c8/stm/core.c
--- a/c8/stm/core.c
+++ b/c8/stm/core.c
@@ -476,7 +476,7 @@
              (long)(NB_READMARKER_PAGES * 4096UL)));
     if (mmap(readmarkers, NB_READMARKER_PAGES * 4096UL,
              PROT_READ | PROT_WRITE,
-             MAP_FIXED | MAP_PAGES_FLAGS, -1, 0) != readmarkers) {
+             MAP_FIXED | MAP_SHARED | MAP_ANONYMOUS | MAP_NORESERVE, -1, 0) != 
readmarkers) {
         /* fall-back */
 #if STM_TESTS
         stm_fatalerror("reset_transaction_read_version: %m");
diff --git a/c8/stm/core.h b/c8/stm/core.h
--- a/c8/stm/core.h
+++ b/c8/stm/core.h
@@ -19,7 +19,6 @@
 #define NB_PAGES            (2500*256)    // 2500MB
 #define NB_SEGMENTS         STM_NB_SEGMENTS
 #define NB_SEGMENTS_MAX     240    /* don't increase NB_SEGMENTS past this */
-#define MAP_PAGES_FLAGS     (MAP_SHARED | MAP_ANONYMOUS | MAP_NORESERVE)
 #define NB_NURSERY_PAGES    (STM_GC_NURSERY/4)
 
 #define TOTAL_MEMORY          (NB_PAGES * 4096UL * NB_SEGMENTS)
diff --git a/c8/stm/pages.c b/c8/stm/pages.c
--- a/c8/stm/pages.c
+++ b/c8/stm/pages.c
@@ -40,6 +40,16 @@
             mprotect(segment_base + pagenum * 4096UL,
                      count * 4096UL, PROT_NONE);
 
+            /* char *result = mmap( */
+            /*     segment_base + pagenum * 4096UL, */
+            /*     count * 4096UL, */
+            /*     PROT_NONE, */
+            /*     MAP_FIXED|MAP_NORESERVE|MAP_PRIVATE|MAP_ANONYMOUS, */
+            /*     -1, 0); */
+            /* if (result == MAP_FAILED) */
+            /*     stm_fatalerror("pages_initialize_shared failed (mmap): 
%m"); */
+
+
             long amount = count;
             while (amount-->0) {
                 set_page_status_in(i, pagenum + amount, PAGE_NO_ACCESS);
diff --git a/c8/stm/setup.c b/c8/stm/setup.c
--- a/c8/stm/setup.c
+++ b/c8/stm/setup.c
@@ -20,7 +20,7 @@
     if (stm_object_pages_fd == -1)
         stm_fatalerror("%s failed (stm_open): %m", reason);
 
-    if (ftruncate(stm_object_pages_fd, NB_SHARED_PAGES) != 0)
+    if (ftruncate(stm_object_pages_fd, NB_SHARED_PAGES * 4096UL) != 0)
         stm_fatalerror("%s failed (ftruncate): %m", reason);
 
     stm_file_pages = mmap(NULL, NB_SHARED_PAGES * 4096UL,
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to