mirror of
https://git.freebsd.org/ports.git
synced 2025-06-09 23:00:30 -04:00
Changes: https://github.com/intel/compute-runtime/compare/21.12.19358...21.13.19438 Reported by: GitHub (watch releases)
70 lines
3.2 KiB
Text
70 lines
3.2 KiB
Text
Limit PMU counters to Linux
|
|
|
|
In file included from level_zero/tools/source/sysman/linux/os_sysman_imp.cpp:8:
|
|
In file included from level_zero/tools/source/sysman/linux/os_sysman_imp.h:16:
|
|
level_zero/tools/source/sysman/linux/pmu/pmu_imp.h:12:10: fatal error: 'linux/perf_event.h' file not found
|
|
#include <linux/perf_event.h>
|
|
^~~~~~~~~~~~~~~~~~~~
|
|
|
|
--- level_zero/tools/source/sysman/engine/linux/os_engine_imp.cpp.orig 2021-03-24 20:23:19 UTC
|
|
+++ level_zero/tools/source/sysman/engine/linux/os_engine_imp.cpp
|
|
@@ -49,9 +49,11 @@ ze_result_t LinuxEngineImp::getActivity(zes_engine_sta
|
|
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
|
}
|
|
uint64_t data[2] = {};
|
|
+#ifdef __linux__
|
|
if (pPmuInterface->pmuRead(static_cast<int>(fd), data, sizeof(data)) < 0) {
|
|
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
|
}
|
|
+#endif
|
|
// In data[], First u64 is "active time", And second u64 is "timestamp". Both in nanoseconds
|
|
pStats->activeTime = data[0] / microSecondsToNanoSeconds;
|
|
pStats->timestamp = data[1] / microSecondsToNanoSeconds;
|
|
@@ -66,9 +68,11 @@ ze_result_t LinuxEngineImp::getProperties(zes_engine_p
|
|
}
|
|
|
|
void LinuxEngineImp::init() {
|
|
+#ifdef __linux
|
|
auto i915EngineClass = engineToI915Map.find(engineGroup);
|
|
// I915_PMU_ENGINE_BUSY macro provides the perf type config which we want to listen to get the engine busyness.
|
|
fd = pPmuInterface->pmuInterfaceOpen(I915_PMU_ENGINE_BUSY(i915EngineClass->second, engineInstance), -1, PERF_FORMAT_TOTAL_TIME_ENABLED);
|
|
+#endif
|
|
}
|
|
|
|
LinuxEngineImp::LinuxEngineImp(OsSysman *pOsSysman, zes_engine_group_t type, uint32_t engineInstance) : engineGroup(type), engineInstance(engineInstance) {
|
|
--- level_zero/tools/source/sysman/linux/os_sysman_imp.cpp.orig 2021-02-08 19:32:47 UTC
|
|
+++ level_zero/tools/source/sysman/linux/os_sysman_imp.cpp
|
|
@@ -42,8 +42,10 @@ ze_result_t LinuxSysmanImp::init() {
|
|
auto rootPciPathOfGpuDevice = getPciRootPortDirectoryPath(realRootPath);
|
|
PlatformMonitoringTech::create(pParentSysmanDeviceImp->deviceHandles, pFsAccess, rootPciPathOfGpuDevice, mapOfSubDeviceIdToPmtObject);
|
|
|
|
+#ifdef __linux__
|
|
pPmuInterface = PmuInterface::create(this);
|
|
UNRECOVERABLE_IF(nullptr == pPmuInterface);
|
|
+#endif
|
|
|
|
return ZE_RESULT_SUCCESS;
|
|
}
|
|
--- level_zero/tools/source/sysman/linux/os_sysman_imp.h.orig 2021-02-08 19:32:47 UTC
|
|
+++ level_zero/tools/source/sysman/linux/os_sysman_imp.h
|
|
@@ -14,7 +14,9 @@
|
|
#include "level_zero/tools/source/sysman/linux/firmware_util/firmware_util.h"
|
|
#include "level_zero/tools/source/sysman/linux/fs_access.h"
|
|
#include "level_zero/tools/source/sysman/linux/pmt/pmt.h"
|
|
+#ifdef __linux__
|
|
#include "level_zero/tools/source/sysman/linux/pmu/pmu_imp.h"
|
|
+#endif
|
|
#include "level_zero/tools/source/sysman/linux/xml_parser/xml_parser.h"
|
|
#include "level_zero/tools/source/sysman/sysman_imp.h"
|
|
|
|
--- level_zero/tools/source/sysman/linux/pmu/CMakeLists.txt.orig 2020-09-11 07:53:58 UTC
|
|
+++ level_zero/tools/source/sysman/linux/pmu/CMakeLists.txt
|
|
@@ -9,7 +9,7 @@ set(L0_SRCS_TOOLS_SYSMAN_LINUX_PMU
|
|
${CMAKE_CURRENT_SOURCE_DIR}/pmu_imp.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/pmu.h
|
|
)
|
|
-if(UNIX)
|
|
+if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
target_sources(${L0_STATIC_LIB_NAME}
|
|
PRIVATE
|
|
${L0_SRCS_TOOLS_SYSMAN_LINUX_PMU}
|