diff options
author | Ali Saidi <Ali.Saidi@ARM.com> | 2012-06-05 01:23:08 -0400 |
---|---|---|
committer | Ali Saidi <Ali.Saidi@ARM.com> | 2012-06-05 01:23:08 -0400 |
commit | 1b370431d0ac51eb54bfbf17247f935d48995a34 (patch) | |
tree | e9b90a8f9bdf914f29a20b3c287dae5b5a16db4c /src/cpu | |
parent | d6997777bee827c89578cf730b186991485c647c (diff) | |
download | gem5-1b370431d0ac51eb54bfbf17247f935d48995a34.tar.xz |
sim: Remove FastAlloc
While FastAlloc provides a small performance increase (~1.5%) over regular malloc it isn't thread safe.
After removing FastAlloc and using tcmalloc I've seen a performance increase of 12% over libc malloc
when running twolf for ARM.
Diffstat (limited to 'src/cpu')
-rw-r--r-- | src/cpu/base_dyn_inst.hh | 3 | ||||
-rw-r--r-- | src/cpu/inorder/inorder_dyn_inst.hh | 3 | ||||
-rw-r--r-- | src/cpu/o3/lsq_unit.hh | 3 | ||||
-rw-r--r-- | src/cpu/ozone/lw_lsq.hh | 3 | ||||
-rw-r--r-- | src/cpu/testers/memtest/memtest.hh | 3 | ||||
-rw-r--r-- | src/cpu/testers/networktest/networktest.hh | 3 |
6 files changed, 6 insertions, 12 deletions
diff --git a/src/cpu/base_dyn_inst.hh b/src/cpu/base_dyn_inst.hh index 900a98aa0..a9cb60070 100644 --- a/src/cpu/base_dyn_inst.hh +++ b/src/cpu/base_dyn_inst.hh @@ -51,7 +51,6 @@ #include <queue> #include "arch/utility.hh" -#include "base/fast_alloc.hh" #include "base/trace.hh" #include "config/the_isa.hh" #include "cpu/checker/cpu.hh" @@ -73,7 +72,7 @@ */ template <class Impl> -class BaseDynInst : public FastAlloc, public RefCounted +class BaseDynInst : public RefCounted { public: // Typedef for the CPU. diff --git a/src/cpu/inorder/inorder_dyn_inst.hh b/src/cpu/inorder/inorder_dyn_inst.hh index 4b48a157b..afd137a2e 100644 --- a/src/cpu/inorder/inorder_dyn_inst.hh +++ b/src/cpu/inorder/inorder_dyn_inst.hh @@ -41,7 +41,6 @@ #include "arch/mt.hh" #include "arch/types.hh" #include "arch/utility.hh" -#include "base/fast_alloc.hh" #include "base/trace.hh" #include "base/types.hh" #include "config/the_isa.hh" @@ -73,7 +72,7 @@ class ResourceRequest; class Packet; -class InOrderDynInst : public FastAlloc, public RefCounted +class InOrderDynInst : public RefCounted { public: // Binary machine instruction type. diff --git a/src/cpu/o3/lsq_unit.hh b/src/cpu/o3/lsq_unit.hh index ad1e26d2f..c3bb8f7cd 100644 --- a/src/cpu/o3/lsq_unit.hh +++ b/src/cpu/o3/lsq_unit.hh @@ -41,7 +41,6 @@ #include "arch/isa_traits.hh" #include "arch/locked_mem.hh" #include "arch/mmapped_ipr.hh" -#include "base/fast_alloc.hh" #include "base/hashmap.hh" #include "config/the_isa.hh" #include "cpu/inst_seq.hh" @@ -271,7 +270,7 @@ class LSQUnit { MasterPort *dcachePort; /** Derived class to hold any sender state the LSQ needs. */ - class LSQSenderState : public Packet::SenderState, public FastAlloc + class LSQSenderState : public Packet::SenderState { public: /** Default constructor. */ diff --git a/src/cpu/ozone/lw_lsq.hh b/src/cpu/ozone/lw_lsq.hh index db8e53b43..855e5a97c 100644 --- a/src/cpu/ozone/lw_lsq.hh +++ b/src/cpu/ozone/lw_lsq.hh @@ -37,7 +37,6 @@ #include <queue> #include "arch/types.hh" -#include "base/fast_alloc.hh" #include "base/hashmap.hh" #include "config/the_isa.hh" #include "cpu/inst_seq.hh" @@ -301,7 +300,7 @@ class OzoneLWLSQ { }; /** Derived class to hold any sender state the LSQ needs. */ - class LSQSenderState : public Packet::SenderState, public FastAlloc + class LSQSenderState : public Packet::SenderState { public: /** Default constructor. */ diff --git a/src/cpu/testers/memtest/memtest.hh b/src/cpu/testers/memtest/memtest.hh index 450a3e4f1..52e32d72d 100644 --- a/src/cpu/testers/memtest/memtest.hh +++ b/src/cpu/testers/memtest/memtest.hh @@ -34,7 +34,6 @@ #include <set> -#include "base/fast_alloc.hh" #include "base/statistics.hh" #include "mem/mem_object.hh" #include "mem/port.hh" @@ -112,7 +111,7 @@ class MemTest : public MemObject CpuPort funcPort; PortProxy funcProxy; - class MemTestSenderState : public Packet::SenderState, public FastAlloc + class MemTestSenderState : public Packet::SenderState { public: /** Constructor. */ diff --git a/src/cpu/testers/networktest/networktest.hh b/src/cpu/testers/networktest/networktest.hh index 8b7a89d6f..aec74a484 100644 --- a/src/cpu/testers/networktest/networktest.hh +++ b/src/cpu/testers/networktest/networktest.hh @@ -33,7 +33,6 @@ #include <set> -#include "base/fast_alloc.hh" #include "base/statistics.hh" #include "mem/mem_object.hh" #include "mem/port.hh" @@ -99,7 +98,7 @@ class NetworkTest : public MemObject CpuPort cachePort; - class NetworkTestSenderState : public Packet::SenderState, public FastAlloc + class NetworkTestSenderState : public Packet::SenderState { public: /** Constructor. */ |