mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-07 12:42:54 +08:00
feature: Complete madvise for System Allocator
Related-To: NEO-13715 Provides implmentation of getAtomicAccessAttribute using system allocator. Completes the implementation of the madvise feature using the new IOCTLs in xe_drm header. Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
95130b7256
commit
cf21cbc910
@@ -129,10 +129,12 @@ class IoctlHelper {
|
||||
bool userInterrupt, uint32_t externalInterruptId, GraphicsAllocation *allocForInterruptWait) = 0;
|
||||
virtual uint32_t getAtomicAdvise(bool isNonAtomic) = 0;
|
||||
virtual uint32_t getAtomicAccess(AtomicAccessMode mode) = 0;
|
||||
virtual uint64_t getPreferredLocationArgs(MemAdvise memAdviseOp) = 0;
|
||||
virtual uint32_t getPreferredLocationAdvise() = 0;
|
||||
virtual std::optional<MemoryClassInstance> getPreferredLocationRegion(PreferredLocation memoryLocation, uint32_t memoryInstance) = 0;
|
||||
virtual bool setVmBoAdvise(int32_t handle, uint32_t attribute, void *region) = 0;
|
||||
virtual bool setVmSharedSystemMemAdvise(uint64_t handle, const size_t size, const uint32_t attribute, const uint64_t param, const std::vector<uint32_t> &vmIds) { return true; }
|
||||
virtual AtomicAccessMode getVmSharedSystemAtomicAttribute(uint64_t handle, const size_t size, const uint32_t vmId) { return AtomicAccessMode::none; }
|
||||
virtual bool setVmBoAdviseForChunking(int32_t handle, uint64_t start, uint64_t length, uint32_t attribute, void *region) = 0;
|
||||
virtual bool setVmPrefetch(uint64_t start, uint64_t length, uint32_t region, uint32_t vmId) = 0;
|
||||
virtual bool setGemTiling(void *setTiling) = 0;
|
||||
@@ -325,6 +327,7 @@ class IoctlHelperUpstream : public IoctlHelperI915 {
|
||||
bool userInterrupt, uint32_t externalInterruptId, GraphicsAllocation *allocForInterruptWait) override;
|
||||
uint32_t getAtomicAdvise(bool isNonAtomic) override;
|
||||
uint32_t getAtomicAccess(AtomicAccessMode mode) override;
|
||||
uint64_t getPreferredLocationArgs(MemAdvise memAdviseOp) override;
|
||||
uint32_t getPreferredLocationAdvise() override;
|
||||
std::optional<MemoryClassInstance> getPreferredLocationRegion(PreferredLocation memoryLocation, uint32_t memoryInstance) override;
|
||||
bool setVmBoAdvise(int32_t handle, uint32_t attribute, void *region) override;
|
||||
@@ -400,6 +403,7 @@ class IoctlHelperPrelim20 : public IoctlHelperI915 {
|
||||
bool userInterrupt, uint32_t externalInterruptId, GraphicsAllocation *allocForInterruptWait) override;
|
||||
uint32_t getAtomicAdvise(bool isNonAtomic) override;
|
||||
uint32_t getAtomicAccess(AtomicAccessMode mode) override;
|
||||
uint64_t getPreferredLocationArgs(MemAdvise memAdviseOp) override;
|
||||
uint32_t getPreferredLocationAdvise() override;
|
||||
std::optional<MemoryClassInstance> getPreferredLocationRegion(PreferredLocation memoryLocation, uint32_t memoryInstance) override;
|
||||
bool setVmBoAdvise(int32_t handle, uint32_t attribute, void *region) override;
|
||||
|
||||
Reference in New Issue
Block a user