mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-08 14:02:58 +08:00
Deferred deletion of allocations in main thread
Add a clearQueueTillFirstFailure interface to DeferredDeleter, which iterates the queue from the front and delete the allocations in the queue till a failure. It is called by defer deletion of allocations occupied by mutliple contexts to unlock the execution in main thread Related-To: NEO-7532 Signed-off-by: HeFan2017 <fan.f.he@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
1ad4b81b28
commit
2ea734491a
@@ -24,6 +24,8 @@ class MockDeferredDeleter : public DeferredDeleter {
|
||||
|
||||
void drain(bool blocking) override;
|
||||
|
||||
void clearQueueTillFirstFailure() override;
|
||||
|
||||
bool areElementsReleased() override;
|
||||
|
||||
bool shouldStop() override;
|
||||
@@ -60,6 +62,8 @@ class MockDeferredDeleter : public DeferredDeleter {
|
||||
|
||||
std::atomic<int> clearCalled;
|
||||
|
||||
std::atomic<int> clearCalledWithBreakTillFailure;
|
||||
|
||||
int deferDeletionCalled = 0;
|
||||
bool stopAfter3loopsInRun = false;
|
||||
|
||||
@@ -69,10 +73,16 @@ class MockDeferredDeleter : public DeferredDeleter {
|
||||
|
||||
void expectDrainBlockingValue(bool value);
|
||||
|
||||
void expectClearQueueTillFirstFailure();
|
||||
|
||||
bool expectedDrainValue = false;
|
||||
|
||||
bool expectDrainCalled = false;
|
||||
|
||||
void clearQueue() override;
|
||||
bool expectClearQueueTillFirstFailureCalled = false;
|
||||
|
||||
int clearQueueTillFirstFailureCalled = 0;
|
||||
|
||||
void clearQueue(bool breakOnFailure) override;
|
||||
};
|
||||
} // namespace NEO
|
||||
|
||||
Reference in New Issue
Block a user