mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-29 09:03:14 +08:00
fix: Make makeResident explicitly blocking on linux
Currently this call is blocking on Windows and xe kmd, this commit also makes it blocking on i915. Signed-off-by: Szymon Morek <szymon.morek@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
e39893485c
commit
9095c3ed8a
@@ -17,7 +17,7 @@
|
||||
#include "shared/source/os_interface/linux/drm_allocation.h"
|
||||
#include "shared/source/os_interface/linux/drm_buffer_object.h"
|
||||
#include "shared/source/os_interface/linux/drm_memory_manager.h"
|
||||
#include "shared/source/os_interface/os_context.h"
|
||||
#include "shared/source/os_interface/linux/os_context_linux.h"
|
||||
|
||||
namespace NEO {
|
||||
|
||||
@@ -36,6 +36,10 @@ MemoryOperationsStatus DrmMemoryOperationsHandlerBind::makeResident(Device *devi
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (const auto &engine : engines) {
|
||||
static_cast<OsContextLinux *>(engine.osContext)->waitForPagingFence();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ class OsContextLinux : public OsContext {
|
||||
const std::vector<uint32_t> &getDrmVmIds() const { return drmVmIds; }
|
||||
bool isDirectSubmissionSupported() const override;
|
||||
Drm &getDrm() const;
|
||||
virtual void waitForPagingFence();
|
||||
MOCKABLE_VIRTUAL void waitForPagingFence();
|
||||
static OsContext *create(OSInterface *osInterface, uint32_t rootDeviceIndex, uint32_t contextId, const EngineDescriptor &engineDescriptor);
|
||||
void reInitializeContext() override;
|
||||
void setHangDetected() {
|
||||
|
||||
Reference in New Issue
Block a user