Add debug variable to disable timestamp events

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
This commit is contained in:
Jaime Arteaga
2021-06-10 07:38:02 +00:00
committed by Compute-Runtime-Automation
parent e27d8a53a1
commit 6c84c0407b
4 changed files with 40 additions and 0 deletions

View File

@@ -159,6 +159,9 @@ struct EventPool : _ze_event_pool_handle_t {
virtual uint32_t getEventSize() = 0;
bool isEventPoolTimestampFlagSet() {
if (NEO::DebugManager.flags.DisableTimestampEvents.get()) {
return false;
}
if (eventPoolFlags & ZE_EVENT_POOL_FLAG_KERNEL_TIMESTAMP) {
return true;
}

View File

@@ -141,6 +141,41 @@ TEST_F(EventPoolCreate, givenTimestampEventsThenEventSizeSufficientForAllKernelT
EXPECT_EQ(kernelTimestampsSize, eventPool->getEventSize());
}
TEST_F(EventPoolCreate, givenEventPoolCreatedWithTimestampFlagThenHasTimestampEventsReturnsTrue) {
ze_event_pool_desc_t eventPoolDesc = {};
eventPoolDesc.count = 1;
eventPoolDesc.flags = ZE_EVENT_POOL_FLAG_KERNEL_TIMESTAMP;
std::unique_ptr<L0::EventPool> eventPool(EventPool::create(driverHandle.get(), context, 0, nullptr, &eventPoolDesc));
ASSERT_NE(nullptr, eventPool);
EventPoolImp *eventPoolImp = static_cast<EventPoolImp *>(eventPool.get());
EXPECT_TRUE(eventPoolImp->isEventPoolTimestampFlagSet());
}
TEST_F(EventPoolCreate, givenEventPoolCreatedWithNoTimestampFlagThenHasTimestampEventsReturnsFalse) {
ze_event_pool_desc_t eventPoolDesc = {};
eventPoolDesc.count = 1;
std::unique_ptr<L0::EventPool> eventPool(EventPool::create(driverHandle.get(), context, 0, nullptr, &eventPoolDesc));
ASSERT_NE(nullptr, eventPool);
EventPoolImp *eventPoolImp = static_cast<EventPoolImp *>(eventPool.get());
EXPECT_FALSE(eventPoolImp->isEventPoolTimestampFlagSet());
}
TEST_F(EventPoolCreate, givenEventPoolCreatedWithTimestampFlagAndDisableTimestampEventsFlagThenHasTimestampEventsReturnsFalse) {
DebugManagerStateRestore restore;
NEO::DebugManager.flags.DisableTimestampEvents.set(1);
ze_event_pool_desc_t eventPoolDesc = {};
eventPoolDesc.count = 1;
eventPoolDesc.flags = ZE_EVENT_POOL_FLAG_KERNEL_TIMESTAMP;
std::unique_ptr<L0::EventPool> eventPool(EventPool::create(driverHandle.get(), context, 0, nullptr, &eventPoolDesc));
ASSERT_NE(nullptr, eventPool);
EventPoolImp *eventPoolImp = static_cast<EventPoolImp *>(eventPool.get());
EXPECT_FALSE(eventPoolImp->isEventPoolTimestampFlagSet());
}
TEST_F(EventPoolCreate, givenAnEventIsCreatedFromThisEventPoolThenEventContainsDeviceCommandStreamReceiver) {
ze_event_pool_desc_t eventPoolDesc = {};
eventPoolDesc.count = 1;