I fixed a similar problem with the following diff:

diff --git a/src/mem/physical.cc b/src/mem/physical.cc
--- a/src/mem/physical.cc
+++ b/src/mem/physical.cc
@@ -476,6 +476,7 @@
 void
 PhysicalMemory::serialize(ostream &os)
 {
+    const int chunkSize = 16384;
     if (!pmemAddr)
         return;
 
@@ -496,12 +497,20 @@
     if (compressedMem == NULL)
         fatal("Insufficient memory to allocate compression state for %s\n",
                 filename);
-
-    if (gzwrite(compressedMem, pmemAddr, params()->range.size()) !=
-        params()->range.size()) {
+   
+    /*if (written_size != params()->range.size()) {
         fatal("Write failed on physical memory checkpoint file '%s'\n",
               filename);
-    }
+    }*/
+   
+    uint64_t curSize = 0;
+    do {
+        unsigned int written_size = (unsigned 
int)gzwrite(compressedMem, pmemAddr + curSize, chunkSize);
+        if (written_size <= 0) {
+            fatal("Write failed on physical memory checkpoint file 
'%s'\n",filename);
+        }
+        curSize += written_size;
+    } while (curSize < params()->range.size());
 
     if (gzclose(compressedMem))
         fatal("Close failed on physical memory checkpoint file '%s'\n",

William George Beazley Jr wrote:
> Seems large than physical memory larger 1536MB suffers from:
>
> Writing checkpoint
> fatal: Write failed on physical memory checkpoint file 
> 'system.physmem.physmem'
>  @ cycle 500
> [serialize:build/ALPHA_SE/mem/physical.cc, line 479]
> Memory Usage: 5395972 KBytes
>
> I should think this machine is large enough to support it:
> [willi...@trout ~]$ free
>              total       used       free     shared    buffers     
> cached
> Mem:      66013472   17933008   48080464          0     284200   
> 14918872
> -/+ buffers/cache:    2729936   63283536
> Swap:     78148152          0   78148152
> [willi...@trout ~]$ 
>
> -----------------------------------
> Will Beazley|Sys. Software Analyst
> 409.880.7847|wgbeaz...@my.lamar.edu
> _______________________________________________
> m5-users mailing list
> m5-users@m5sim.org
> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>
>   

_______________________________________________
m5-users mailing list
m5-users@m5sim.org
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to