 +            req_stall = true;
 +        }
 +    } else if (pkt->isWrite()) {
-+        ramulator::Request req(pkt->getAddr(), ramulator::Request::Type::WRITE, write_cb_func, pkt->req->contextId());
++        // Detailed CPU model always comes along with cache model enabled and
++        // write requests are caused by cache eviction, so it shouldn't be
++        // tallied for any core/thread
++        ramulator::Request req(pkt->getAddr(), ramulator::Request::Type::WRITE, write_cb_func, 0);
 +        accepted = wrapper->send(req);
 +        if (accepted){
 +            accessAndRespond(pkt);

+3. Run gem5 with Ramulator
+    3.1 Use --mem-type=ramulator and --ramulator-config=XXX
+
diff -r 0e86fac7254c ext/ramulator/SConscript
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ext/ramulator/SConscript  Fri Jan 22 19:05:46 2016 -0500
@@ -0,0 +1,48 @@
+# -*- mode:python -*-
+

 ###################################################
 #
 # This function is used to set up a directory with switching headers
diff -r 0e86fac7254c -r d1234c44d57e configs/common/MemConfig.py
--- a/configs/common/MemConfig.py	Sat May 31 18:00:23 2014 -0700
+++ b/configs/common/MemConfig.py	Thu Mar 10 03:46:14 2016 +0800
@@ -54,7 +54,8 @@
     ("lpddr2_s4_1066_x32", "LPDDR2_S4_1066_x32"),
     ("lpddr3_1600_x32", "LPDDR3_1600_x32"),
