mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-24 21:18:24 +08:00
Revert "performance: Limit tlb flush WA scope on DG2 Linux"
This reverts commit 0b85a9f256.
Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
2d62c4e058
commit
590418a588
@@ -10,7 +10,6 @@
|
||||
#include "shared/source/command_stream/task_count_helper.h"
|
||||
#include "shared/source/helpers/common_types.h"
|
||||
#include "shared/source/helpers/constants.h"
|
||||
#include "shared/source/memory_manager/allocation_type.h"
|
||||
#include "shared/source/memory_manager/definitions/engine_limits.h"
|
||||
#include "shared/source/memory_manager/memory_operations_status.h"
|
||||
#include "shared/source/os_interface/linux/cache_info.h"
|
||||
@@ -214,14 +213,6 @@ class BufferObject {
|
||||
|
||||
bool isChunked = false;
|
||||
|
||||
void setIsImage(AllocationType type) {
|
||||
this->isImageAllocation = type == AllocationType::image;
|
||||
}
|
||||
|
||||
bool isImage() const {
|
||||
return this->isImageAllocation;
|
||||
}
|
||||
|
||||
protected:
|
||||
MOCKABLE_VIRTUAL MemoryOperationsStatus evictUnusedAllocations(bool waitForCompletion, bool isLockNeeded);
|
||||
|
||||
@@ -239,7 +230,6 @@ class BufferObject {
|
||||
bool allowCapture = false;
|
||||
bool requiresImmediateBinding = false;
|
||||
bool requiresExplicitResidency = false;
|
||||
bool isImageAllocation = false;
|
||||
|
||||
MOCKABLE_VIRTUAL void fillExecObject(ExecObject &execObject, OsContext *osContext, uint32_t vmHandleId, uint32_t drmContextId);
|
||||
void printBOBindingResult(OsContext *osContext, uint32_t vmHandleId, bool bind, int retVal);
|
||||
|
||||
@@ -678,7 +678,6 @@ GraphicsAllocation *DrmMemoryManager::allocateGraphicsMemoryForImageImpl(const A
|
||||
return nullptr;
|
||||
}
|
||||
bo->setAddress(gpuRange);
|
||||
bo->setIsImage(allocationData.type);
|
||||
|
||||
[[maybe_unused]] auto ret2 = bo->setTiling(ioctlHelper->getDrmParamValue(DrmParam::tilingY), static_cast<uint32_t>(allocationData.imgInfo->rowPitch));
|
||||
DEBUG_BREAK_IF(ret2 != true);
|
||||
@@ -1068,7 +1067,6 @@ GraphicsAllocation *DrmMemoryManager::createGraphicsAllocationFromSharedHandle(o
|
||||
drmAllocation->setDefaultGmm(gmm);
|
||||
|
||||
bo->setPatIndex(drm.getPatIndex(gmm, properties.allocationType, CacheRegion::defaultRegion, CachePolicy::writeBack, false, MemoryPoolHelper::isSystemMemoryPool(memoryPool)));
|
||||
bo->setIsImage(properties.allocationType);
|
||||
}
|
||||
|
||||
if (!reuseSharedAllocation) {
|
||||
@@ -1899,7 +1897,6 @@ BufferObject *DrmMemoryManager::createBufferObjectInMemoryRegion(uint32_t rootDe
|
||||
}
|
||||
|
||||
bo->setAddress(gpuAddress);
|
||||
bo->setIsImage(allocationType);
|
||||
|
||||
return bo;
|
||||
}
|
||||
|
||||
@@ -688,7 +688,7 @@ uint32_t Drm::getVirtualMemoryAddressSpace(uint32_t vmId) const {
|
||||
}
|
||||
|
||||
void Drm::setNewResourceBoundToVM(BufferObject *bo, uint32_t vmHandleId) {
|
||||
if (!this->rootDeviceEnvironment.getProductHelper().isTlbFlushRequired(*this->getHardwareInfo(), bo->isImage())) {
|
||||
if (!this->rootDeviceEnvironment.getProductHelper().isTlbFlushRequired()) {
|
||||
return;
|
||||
}
|
||||
const auto &engines = this->rootDeviceEnvironment.executionEnvironment.memoryManager->getRegisteredEngines(bo->getRootDeviceIndex());
|
||||
|
||||
@@ -159,7 +159,7 @@ class ProductHelper {
|
||||
virtual bool isResolveDependenciesByPipeControlsSupported(const HardwareInfo &hwInfo, bool isOOQ, TaskCountType queueTaskCount, const CommandStreamReceiver &queueCsr) const = 0;
|
||||
virtual bool isMidThreadPreemptionDisallowedForRayTracingKernels() const = 0;
|
||||
virtual bool isBufferPoolAllocatorSupported() const = 0;
|
||||
virtual bool isTlbFlushRequired(const HardwareInfo &hwInfo, bool precondition) const = 0;
|
||||
virtual bool isTlbFlushRequired() const = 0;
|
||||
virtual bool isDummyBlitWaRequired() const = 0;
|
||||
virtual bool isDetectIndirectAccessInKernelSupported(const KernelDescriptor &kernelDescriptor, const bool isPrecompiled) const = 0;
|
||||
virtual bool isLinearStoragePreferred(bool isImage1d, bool forceLinearStorage) const = 0;
|
||||
|
||||
@@ -61,7 +61,7 @@ void ProductHelperHw<gfxProduct>::adjustSamplerState(void *sampler, const Hardwa
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
bool ProductHelperHw<gfxProduct>::isTlbFlushRequired(const HardwareInfo &hwInfo, bool precondition) const {
|
||||
bool ProductHelperHw<gfxProduct>::isTlbFlushRequired() const {
|
||||
bool tlbFlushRequired = true;
|
||||
if (debugManager.flags.ForceTlbFlush.get() != -1) {
|
||||
tlbFlushRequired = !!debugManager.flags.ForceTlbFlush.get();
|
||||
|
||||
@@ -112,7 +112,7 @@ class ProductHelperHw : public ProductHelper {
|
||||
bool isResolveDependenciesByPipeControlsSupported(const HardwareInfo &hwInfo, bool isOOQ, TaskCountType queueTaskCount, const CommandStreamReceiver &queueCsr) const override;
|
||||
bool isMidThreadPreemptionDisallowedForRayTracingKernels() const override;
|
||||
bool isBufferPoolAllocatorSupported() const override;
|
||||
bool isTlbFlushRequired(const HardwareInfo &hwInfo, bool precondition) const override;
|
||||
bool isTlbFlushRequired() const override;
|
||||
bool isDummyBlitWaRequired() const override;
|
||||
bool isDetectIndirectAccessInKernelSupported(const KernelDescriptor &kernelDescriptor, const bool isPrecompiled) const override;
|
||||
bool isLinearStoragePreferred(bool isImage1d, bool forceLinearStorage) const override;
|
||||
|
||||
@@ -1349,7 +1349,7 @@ void Wddm::populateIpVersion(HardwareInfo &hwInfo) {
|
||||
}
|
||||
|
||||
void Wddm::setNewResourceBoundToPageTable() {
|
||||
if (!this->rootDeviceEnvironment.getProductHelper().isTlbFlushRequired(*this->getHardwareInfo(), true)) {
|
||||
if (!this->rootDeviceEnvironment.getProductHelper().isTlbFlushRequired()) {
|
||||
return;
|
||||
}
|
||||
this->forEachContextWithinWddm([](const EngineControl &engine) { engine.osContext->setNewResourceBound(); });
|
||||
|
||||
Reference in New Issue
Block a user