Fix issue with signal all event packets 2/n

This fix reposition signal commands before possible staling commands
like post sync pipe control or multi tile barrier

Related-To: NEO-7490

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz
2022-12-08 21:12:16 +00:00
committed by Compute-Runtime-Automation
parent 53399e6b01
commit 0ee5310033
2 changed files with 5 additions and 5 deletions

View File

@@ -429,6 +429,10 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendEventReset(ze_event_hand
baseAddr += event->getSinglePacketSize();
}
if ((this->signalAllEventPackets) && (packetsToReset < event->getMaxPacketsCount())) {
setRemainingEventPackets(event, Event::STATE_CLEARED);
}
if (appendPipeControlWithPostSync) {
NEO::PipeControlArgs args;
args.dcFlushEnable = getDcFlushRequired(!!event->signalScope);
@@ -446,10 +450,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendEventReset(ze_event_hand
}
}
if ((this->signalAllEventPackets) && (packetsToReset < event->getMaxPacketsCount())) {
setRemainingEventPackets(event, Event::STATE_CLEARED);
}
if (NEO::DebugManager.flags.EnableSWTags.get()) {
neoDevice->getRootDeviceEnvironment().tagsManager->insertTag<GfxFamily, NEO::SWTags::CallNameEndTag>(
*commandContainer.getCommandStream(),

View File

@@ -1096,7 +1096,7 @@ struct CommandListSignalAllEventPacketFixture : public ModuleFixture {
gpuAddress += event->getContextEndOffset();
}
for (uint32_t i = usePacketSignalStoreDataImm + extraCleanupStoreDataImm; i < itorStoreDataImm.size(); i++) {
for (uint32_t i = usePacketSignalStoreDataImm; i < itorStoreDataImm.size() - extraCleanupStoreDataImm; i++) {
auto cmd = genCmdCast<MI_STORE_DATA_IMM *>(*itorStoreDataImm[i]);
EXPECT_EQ(gpuAddress, cmd->getAddress());
EXPECT_FALSE(cmd->getStoreQword());