Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolve some memorypool undeleted events #2398

Merged
merged 4 commits into from
Sep 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/sst/elements/kingsley/linkControl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ void LinkControl::init(unsigned int phase)
in_ret_credits[i] = inbuf_size.getRoundedValue() /flit_size;
}

delete ev;
init_state = 2;
break;
}
Expand All @@ -218,6 +219,7 @@ void LinkControl::init(unsigned int phase)
if ( NULL == ev ) break;
init_ev = static_cast<NocInitEvent*>(ev);
id = init_ev->int_value;
delete ev;

// Send credit event to router
credit_event* cr_ev = new credit_event(0,inbuf_size.getRoundedValue() / flit_size);
Expand Down
1 change: 1 addition & 0 deletions src/sst/elements/kingsley/noc_mesh.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1066,6 +1066,7 @@ noc_mesh::init(unsigned int phase)
if ( ports[i] != NULL ) {
credit_event* cr_ev = static_cast<credit_event*>(ports[i]->recvUntimedData());
port_credits[i] += cr_ev->credits;
delete cr_ev;
}
}
init_state = 11;
Expand Down
5 changes: 4 additions & 1 deletion src/sst/elements/memHierarchy/cacheController.cc
Original file line number Diff line number Diff line change
Expand Up @@ -173,11 +173,14 @@ bool Cache::clockTick(Cycle_t time) {
if (accepted != maxRequestsPerCycle_ && processEvent(prefetchBuffer_.front(), false)) {
accepted++;
// Accepted prefetches are profiled in the coherence manager
prefetchBuffer_.pop();
} else {
statPrefetchDrop->addData(1);
coherenceMgr_->removeRequestRecord(prefetchBuffer_.front()->getID());
MemEventBase* ev = prefetchBuffer_.front();
prefetchBuffer_.pop();
delete ev;
}
prefetchBuffer_.pop();
}

// Push any events that need to be retried next cycle onto the retry buffer
Expand Down
5 changes: 4 additions & 1 deletion src/sst/elements/memHierarchy/memNICBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,10 @@ class MemNICBase : public MemLinkBase {
dbg.debug(_L10_, "\tInserting in initQueue\n");
mre->putEvent(ev); // If we did not delete the Event, give it back to the MemRtrEvent
initQueue.push(mre);
}
} else {
delete mre;
delete ev;
}
}
delete req;
}
Expand Down
Loading