diff options
| author | Dongdong Li <[email protected]> | 2013-10-09 02:56:03 -0800 |
|---|---|---|
| committer | Andrew Boktor <[email protected]> | 2014-08-14 13:50:59 -0700 |
| commit | 3c71147d4138fbed4334a70c80b70a54539cce35 (patch) | |
| tree | ba72d6e4c3dff94c9b8e372dd028eab4554e1d7a /src/gpgpu-sim/shader.cc | |
| parent | 62e9f666a8c69e9820096860cf3e1d64a709baea (diff) | |
Bug FIX: icnt::full() check using wrong mf size
Review ID: 89001
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 17086]
Diffstat (limited to 'src/gpgpu-sim/shader.cc')
| -rw-r--r-- | src/gpgpu-sim/shader.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gpgpu-sim/shader.cc b/src/gpgpu-sim/shader.cc index 230af89..fbf9d52 100644 --- a/src/gpgpu-sim/shader.cc +++ b/src/gpgpu-sim/shader.cc @@ -1379,7 +1379,6 @@ bool ldst_unit::memory_cycle( warp_inst_t &inst, mem_stage_stall_type &stall_rea assert( !inst.accessq_empty() ); mem_stage_stall_type stall_cond = NO_RC_FAIL; const mem_access_t &access = inst.accessq_back(); - unsigned size = access.get_size(); bool bypassL1D = false; if ( CACHE_GLOBAL == inst.cache_op || (m_L1D == NULL) ) { @@ -1392,6 +1391,8 @@ bool ldst_unit::memory_cycle( warp_inst_t &inst, mem_stage_stall_type &stall_rea if( bypassL1D ) { // bypass L1 cache + unsigned control_size = inst.is_store() ? WRITE_PACKET_SIZE : READ_PACKET_SIZE; + unsigned size = access.get_size() + control_size; if( m_icnt->full(size, inst.is_store() || inst.isatomic()) ) { stall_cond = ICNT_RC_FAIL; } else { |
