diff options
Diffstat (limited to 'src/gpgpu-sim')
| -rw-r--r-- | src/gpgpu-sim/gpu-cache.cc | 2 | ||||
| -rw-r--r-- | src/gpgpu-sim/shader.cc | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/gpgpu-sim/gpu-cache.cc b/src/gpgpu-sim/gpu-cache.cc index 469d6dd..2137d2e 100644 --- a/src/gpgpu-sim/gpu-cache.cc +++ b/src/gpgpu-sim/gpu-cache.cc @@ -635,7 +635,7 @@ bool baseline_cache::bandwidth_management::fill_port_free() const void baseline_cache::cycle(){ if ( !m_miss_queue.empty() ) { mem_fetch *mf = m_miss_queue.front(); - if ( !m_memport->full(mf->get_data_size(),mf->get_is_write()) ) { + if ( !m_memport->full(mf->size(),mf->get_is_write()) ) { m_miss_queue.pop_front(); m_memport->push(mf); } 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 { |
