summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorchristindbose <[email protected]>2023-05-10 15:29:48 -0400
committerchristindbose <[email protected]>2023-05-10 15:29:48 -0400
commitcb6060a60fd38102dd222f4f1a531c8f4c725d2b (patch)
tree7a8f678ce29c7c6a3bd637e1e36ca57f07c5a9c3 /src
parent13c67115070dc2f0876254a790d0238073ca364a (diff)
Added check if reservation fail happens to prevent SEGF during cache probe
Diffstat (limited to 'src')
-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