performance: remove cache flush before stopping ULLS

Related-To: NEO-16153

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
This commit is contained in:
Szymon Morek
2025-09-17 11:03:55 +00:00
committed by Compute-Runtime-Automation
parent a80b6a1764
commit 9647322cbf
13 changed files with 0 additions and 124 deletions

View File

@@ -264,7 +264,6 @@ bool DirectSubmissionHw<GfxFamily, Dispatcher>::stopRingBuffer(bool blocking) {
dispatchRelaxedOrderingQueueStall();
}
Dispatcher::dispatchCacheFlush(ringCommandStream, this->rootDeviceEnvironment, gpuVaForMiFlush);
dispatchStopRingBufferSection();
Dispatcher::dispatchStopCommandBuffer(ringCommandStream);
@@ -360,7 +359,6 @@ inline size_t DirectSubmissionHw<GfxFamily, Dispatcher>::getSizeSwitchRingBuffer
template <typename GfxFamily, typename Dispatcher>
inline size_t DirectSubmissionHw<GfxFamily, Dispatcher>::getSizeEnd(bool relaxedOrderingSchedulerRequired) {
size_t size = Dispatcher::getSizeStopCommandBuffer() +
Dispatcher::getSizeCacheFlush(rootDeviceEnvironment) +
(Dispatcher::getSizeStartCommandBuffer() - Dispatcher::getSizeStopCommandBuffer()) +
MemoryConstants::cacheLineSize + dispatchStopRingBufferSectionSize();
if (this->relaxedOrderingEnabled && relaxedOrderingSchedulerRequired) {

View File

@@ -28,9 +28,7 @@ class BlitterDispatcher : public Dispatcher<GfxFamily> {
bool notifyKmd);
static size_t getSizeMonitorFence(const RootDeviceEnvironment &rootDeviceEnvironment);
static void dispatchCacheFlush(LinearStream &cmdBuffer, const RootDeviceEnvironment &rootDeviceEnvironment, uint64_t address);
static void dispatchTlbFlush(LinearStream &cmdBuffer, uint64_t address, const RootDeviceEnvironment &rootDeviceEnvironment);
static size_t getSizeCacheFlush(const RootDeviceEnvironment &rootDeviceEnvironment);
static size_t getSizeTlbFlush(const RootDeviceEnvironment &rootDeviceEnvironment);
static bool isMultiTileSynchronizationSupported() {
return false;

View File

@@ -46,11 +46,6 @@ inline size_t BlitterDispatcher<GfxFamily>::getSizeMonitorFence(const RootDevice
return size;
}
template <typename GfxFamily>
inline void BlitterDispatcher<GfxFamily>::dispatchCacheFlush(LinearStream &cmdBuffer, const RootDeviceEnvironment &rootDeviceEnvironment, uint64_t address) {
dispatchTlbFlush(cmdBuffer, address, rootDeviceEnvironment);
}
template <typename GfxFamily>
inline void BlitterDispatcher<GfxFamily>::dispatchTlbFlush(LinearStream &cmdBuffer, uint64_t address, const RootDeviceEnvironment &rootDeviceEnvironment) {
NEO::EncodeDummyBlitWaArgs waArgs{false, const_cast<RootDeviceEnvironment *>(&rootDeviceEnvironment)};
@@ -60,11 +55,6 @@ inline void BlitterDispatcher<GfxFamily>::dispatchTlbFlush(LinearStream &cmdBuff
EncodeMiFlushDW<GfxFamily>::programWithWa(cmdBuffer, address, 0ull, args);
}
template <typename GfxFamily>
inline size_t BlitterDispatcher<GfxFamily>::getSizeCacheFlush(const RootDeviceEnvironment &rootDeviceEnvironment) {
return getSizeTlbFlush(rootDeviceEnvironment);
}
template <typename GfxFamily>
inline size_t BlitterDispatcher<GfxFamily>::getSizeTlbFlush(const RootDeviceEnvironment &rootDeviceEnvironment) {
EncodeDummyBlitWaArgs waArgs{false, const_cast<RootDeviceEnvironment *>(&rootDeviceEnvironment)};

View File

@@ -28,9 +28,7 @@ class RenderDispatcher : public Dispatcher<GfxFamily> {
bool notifyKmd);
static size_t getSizeMonitorFence(const RootDeviceEnvironment &rootDeviceEnvironment);
static void dispatchCacheFlush(LinearStream &cmdBuffer, const RootDeviceEnvironment &rootDeviceEnvironment, uint64_t address);
static void dispatchTlbFlush(LinearStream &cmdBuffer, uint64_t address, const RootDeviceEnvironment &rootDeviceEnvironment);
static size_t getSizeCacheFlush(const RootDeviceEnvironment &rootDeviceEnvironment);
static size_t getSizeTlbFlush(const RootDeviceEnvironment &rootDeviceEnvironment);
static bool isMultiTileSynchronizationSupported() {
return true;

View File

@@ -52,11 +52,6 @@ inline size_t RenderDispatcher<GfxFamily>::getSizeMonitorFence(const RootDeviceE
return MemorySynchronizationCommands<GfxFamily>::getSizeForBarrierWithPostSyncOperation(rootDeviceEnvironment, NEO::PostSyncMode::immediateData);
}
template <typename GfxFamily>
inline void RenderDispatcher<GfxFamily>::dispatchCacheFlush(LinearStream &cmdBuffer, const RootDeviceEnvironment &rootDeviceEnvironment, uint64_t address) {
MemorySynchronizationCommands<GfxFamily>::addFullCacheFlush(cmdBuffer, rootDeviceEnvironment);
}
template <typename GfxFamily>
inline void RenderDispatcher<GfxFamily>::dispatchTlbFlush(LinearStream &cmdBuffer, uint64_t address, const RootDeviceEnvironment &rootDeviceEnvironment) {
PipeControlArgs args;
@@ -67,12 +62,6 @@ inline void RenderDispatcher<GfxFamily>::dispatchTlbFlush(LinearStream &cmdBuffe
MemorySynchronizationCommands<GfxFamily>::addSingleBarrier(cmdBuffer, args);
}
template <typename GfxFamily>
inline size_t RenderDispatcher<GfxFamily>::getSizeCacheFlush(const RootDeviceEnvironment &rootDeviceEnvironment) {
size_t size = MemorySynchronizationCommands<GfxFamily>::getSizeForSingleBarrier();
return size;
}
template <typename GfxFamily>
inline size_t RenderDispatcher<GfxFamily>::getSizeTlbFlush(const RootDeviceEnvironment &rootDeviceEnvironment) {
return MemorySynchronizationCommands<GfxFamily>::getSizeForSingleBarrier();