summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/gpu-cache.cc
diff options
context:
space:
mode:
authorTimothy G Rogers <[email protected]>2018-03-13 11:28:31 -0400
committerGitHub Enterprise <[email protected]>2018-03-13 11:28:31 -0400
commit75e3db20ba6ed67c876fedef9c0390fa1f32612b (patch)
treeae6233f01b8c86e7f18dfbe81d305d0d3d5aba82 /src/gpgpu-sim/gpu-cache.cc
parentd907266173d129c0e5f1fd7902a77ab30c43ad73 (diff)
parent0c2ce3f330654c391c7d042ff1922aa7bcf72079 (diff)
Merge pull request #9 from abdallm/dev-purdue-integration
fixing sector l1 deadlock bug - caused by block address sent through to L2, when it should be the sector address.
Diffstat (limited to 'src/gpgpu-sim/gpu-cache.cc')
-rw-r--r--src/gpgpu-sim/gpu-cache.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gpgpu-sim/gpu-cache.cc b/src/gpgpu-sim/gpu-cache.cc
index 0602e20..8191f62 100644
--- a/src/gpgpu-sim/gpu-cache.cc
+++ b/src/gpgpu-sim/gpu-cache.cc
@@ -962,7 +962,7 @@ void baseline_cache::send_read_request(new_addr_type addr, new_addr_type block_a
m_mshrs.add(mshr_addr,mf);
m_extra_mf_fields[mf] = extra_mf_fields(mshr_addr,mf->get_addr(),cache_index, mf->get_data_size(), m_config);
mf->set_data_size( m_config.get_atom_sz() );
- mf->set_addr( block_addr );
+ mf->set_addr( mshr_addr );
m_miss_queue.push_back(mf);
mf->set_status(m_miss_queue_status,time);
if(!wa)
@@ -1432,7 +1432,7 @@ data_cache::process_tag_probe( bool wr,
access_status = (this->*m_wr_hit)( addr,
cache_index,
mf, time, events, probe_status );
- }else if ( probe_status != RESERVATION_FAIL ) {
+ }else if ( (probe_status != RESERVATION_FAIL) || (probe_status == RESERVATION_FAIL && m_config.m_write_alloc_policy == NO_WRITE_ALLOCATE) ) {
access_status = (this->*m_wr_miss)( addr,
cache_index,
mf, time, events, probe_status );