While performing address translation using the radix tree
walk mechanism, the objects corresponding to the read and
write requests must be freed properly. These contain data
buffers which if not freed, will keep increasing memory
usage and cause the simulator to get OOM-killed quite
early on low-memory systems.
Change-Id: I0bc87bd8950e83829d68ba51e64d81eabf20fa6b
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com>
this->port.sendAtomic(read);
ret = read->get<uint64_t>();
+ read->deleteData();
delete read->req;
+ delete read;
return ret;
}
this->port.sendAtomic(write);
ret = write->get<uint64_t>();
+ write->deleteData();
delete write->req;
+ delete write;
return ret;
}