summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJRPan <[email protected]>2023-05-11 15:05:53 -0400
committerGitHub <[email protected]>2023-05-11 15:05:53 -0400
commit6dd3bfccf630d847917dc4d2608008f314fa43b4 (patch)
tree983fbd1e0d6056413844960c8338c7019225b3e0
parent948c0e1a0e379e37e60c83b9ab622217522aea86 (diff)
parent918fe2ce65260ae29e2dab0bf8236cbdf4c817f0 (diff)
Merge pull request #50 from christindbose/cache_reserve_SEGF
Added check to see if RESERVATION_FAIL happens to prevent SEGF during cache probe
-rw-r--r--src/gpgpu-sim/gpu-cache.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gpgpu-sim/gpu-cache.cc b/src/gpgpu-sim/gpu-cache.cc
index 3a5a67d..b3105ae 100644
--- a/src/gpgpu-sim/gpu-cache.cc
+++ b/src/gpgpu-sim/gpu-cache.cc
@@ -409,6 +409,11 @@ void tag_array::fill(new_addr_type addr, unsigned time,
// assert( m_config.m_alloc_policy == ON_FILL );
unsigned idx;
enum cache_request_status status = probe(addr, idx, mask, is_write);
+
+ if (status == RESERVATION_FAIL) {
+ return;
+ }
+
bool before = m_lines[idx]->is_modified_line();
// assert(status==MISS||status==SECTOR_MISS); // MSHR should have prevented
// redundant memory request