Skip to content

Commit e1f3a29

Browse files
Revert "feature(sysman): Aggregate Pf and Vf Engine Stats for XeKmd"
This reverts commit b7dd405. Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
1 parent ae7f494 commit e1f3a29

File tree

2 files changed

+4
-114
lines changed

2 files changed

+4
-114
lines changed

level_zero/sysman/source/shared/linux/kmd_interface/sysman_kmd_interface_xe.cpp

Lines changed: 3 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,7 @@ static ze_result_t getConfigs(PmuInterface *const &pPmuInterface,
177177
const SetOfEngineInstanceAndTileId &setEngineInstanceAndTileId,
178178
zes_engine_group_t engineGroup,
179179
const NEO::Drm *pDrm,
180-
std::vector<uint64_t> &configs,
181-
uint32_t numberOfVfs) {
180+
std::vector<uint64_t> &configs) {
182181

183182
ze_result_t result = ZE_RESULT_SUCCESS;
184183
auto engineClass = engineGroupToEngineClass.find(engineGroup);
@@ -197,39 +196,11 @@ static ze_result_t getConfigs(PmuInterface *const &pPmuInterface,
197196

198197
configs.push_back(activeTicksConfig);
199198
configs.push_back(totalTicksConfig);
200-
201-
if (numberOfVfs > 0) {
202-
for (uint32_t vfId = 1; vfId <= numberOfVfs; vfId++) {
203-
uint64_t vfActiveTicksConfig = activeTicksConfig;
204-
uint64_t vfTotalTicksConfig = totalTicksConfig;
205-
206-
auto vfRet = pPmuInterface->getPmuConfigsForVf(sysmanDeviceDir, vfId,
207-
vfActiveTicksConfig, vfTotalTicksConfig);
208-
if (vfRet < 0) {
209-
result = ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
210-
NEO::printDebugString(NEO::debugManager.flags.PrintDebugMessages.get(), stderr, "Error@ %s(): Failed to get configs for VF and returning error:0x%x\n", __FUNCTION__, result);
211-
return result;
212-
}
213-
configs.push_back(vfActiveTicksConfig);
214-
configs.push_back(vfTotalTicksConfig);
215-
}
216-
}
217199
}
218200

219201
return result;
220202
}
221203

222-
static uint32_t getNumberOfEnabledVfs(SysFsAccessInterface *pSysFsAccess) {
223-
constexpr std::string_view pathForNumberOfVfs = "device/sriov_numvfs";
224-
uint32_t numberOfVfs = 0;
225-
auto result = pSysFsAccess->read(pathForNumberOfVfs.data(), numberOfVfs);
226-
if (result != ZE_RESULT_SUCCESS) {
227-
numberOfVfs = 0;
228-
NEO::printDebugString(NEO::debugManager.flags.PrintDebugMessages.get(), stderr, "Error@ %s(): Failed to read Number Of Vfs with error 0x%x \n", __FUNCTION__, result);
229-
}
230-
return numberOfVfs;
231-
}
232-
233204
ze_result_t SysmanKmdInterfaceXe::getPmuConfigsForGroupEngines(const MapOfEngineInfo &mapEngineInfo,
234205
const std::string &sysmanDeviceDir,
235206
const EngineGroupInfo &engineInfo,
@@ -244,13 +215,11 @@ ze_result_t SysmanKmdInterfaceXe::getPmuConfigsForGroupEngines(const MapOfEngine
244215

245216
ze_result_t result = ZE_RESULT_SUCCESS;
246217

247-
uint32_t numberOfVfs = getNumberOfEnabledVfs(getSysFsAccess());
248-
249218
auto getConfigForEngine{
250219
[&](zes_engine_group_t engineGroup) {
251220
auto itrEngineInfo = mapEngineInfo.find(engineGroup);
252221
if (itrEngineInfo != mapEngineInfo.end()) {
253-
result = getConfigs(pPmuInterface, sysmanDeviceDir, itrEngineInfo->second, engineGroup, pDrm, pmuConfigs, numberOfVfs);
222+
result = getConfigs(pPmuInterface, sysmanDeviceDir, itrEngineInfo->second, engineGroup, pDrm, pmuConfigs);
254223
}
255224
return result;
256225
}};
@@ -308,9 +277,7 @@ ze_result_t SysmanKmdInterfaceXe::getPmuConfigsForSingleEngines(const std::strin
308277
ze_result_t result = ZE_RESULT_SUCCESS;
309278
SetOfEngineInstanceAndTileId setEngineInstanceAndTileId = {{engineInfo.engineInstance, engineInfo.tileId}};
310279

311-
uint32_t numberOfVfs = getNumberOfEnabledVfs(getSysFsAccess());
312-
313-
result = getConfigs(pPmuInterface, sysmanDeviceDir, setEngineInstanceAndTileId, engineInfo.engineGroup, pDrm, pmuConfigs, numberOfVfs);
280+
result = getConfigs(pPmuInterface, sysmanDeviceDir, setEngineInstanceAndTileId, engineInfo.engineGroup, pDrm, pmuConfigs);
314281
if (result != ZE_RESULT_SUCCESS) {
315282
return result;
316283
}

level_zero/sysman/test/unit_tests/sources/shared/linux/kmd_interface/test_sysman_kmd_interface_xe.cpp

Lines changed: 1 addition & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -36,25 +36,16 @@ static const MapOfEngineInfo mockMapEngineInfo = {
3636
{ZES_ENGINE_GROUP_COMPUTE_SINGLE, {{1, 0}}}};
3737

3838
static const uint32_t mockReadVal = 23;
39-
static const uint32_t mockVfs = 2;
4039

4140
static int mockReadLinkSuccess(const char *path, char *buf, size_t bufsize) {
4241
constexpr size_t sizeofPath = sizeof("/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:01.0/0000:03:00.0");
4342
strcpy_s(buf, sizeofPath, "/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:01.0/0000:03:00.0");
4443
return sizeofPath;
4544
}
4645

47-
static int mockOpenSuccess(const char *pathname, int flags) {
48-
return mockReadVal;
49-
}
50-
5146
static ssize_t mockReadSuccess(int fd, void *buf, size_t count, off_t offset) {
5247
std::ostringstream oStream;
53-
if (fd == mockReadVal) {
54-
oStream << mockVfs;
55-
} else {
56-
oStream << mockReadVal;
57-
}
48+
oStream << mockReadVal;
5849
std::string value = oStream.str();
5950
memcpy(buf, value.data(), count);
6051
return count;
@@ -426,74 +417,6 @@ TEST_F(SysmanFixtureDeviceXe, GivenSysmanKmdInterfaceWhenCallingIsLateBindingVer
426417
EXPECT_FALSE(pSysmanKmdInterface->isLateBindingVersionAvailable("unknown", val));
427418
}
428419

429-
TEST_F(SysmanFixtureDeviceXe, GivenSysmanKmdInterfaceWithVfsEnabledWhenCallingGetPmuConfigsForGroupEnginesThenSuccessIsReturned) {
430-
431-
VariableBackup<decltype(NEO::SysCalls::sysCallsOpen)> mockOpen(&NEO::SysCalls::sysCallsOpen, &mockOpenSuccess);
432-
VariableBackup<decltype(NEO::SysCalls::sysCallsPread)> mockPread(&NEO::SysCalls::sysCallsPread, &mockReadSuccess);
433-
434-
auto pSysmanKmdInterface = pLinuxSysmanImp->pSysmanKmdInterface.get();
435-
auto pDrm = pLinuxSysmanImp->getDrm();
436-
std::vector<uint64_t> mockPmuConfigs = {1, 2};
437-
uint32_t pmuConfigSize = 18;
438-
std::vector<uint64_t> pmuConfigs = {};
439-
const std::string sysmanDeviceDir = "/sys/devices/0000:aa:bb:cc";
440-
EngineGroupInfo engineGroupInfo = {ZES_ENGINE_GROUP_MEDIA_ALL, 0, 0};
441-
EXPECT_EQ(pSysmanKmdInterface->getPmuConfigsForGroupEngines(mockMapEngineInfo, sysmanDeviceDir, engineGroupInfo, pPmuInterface.get(), pDrm, pmuConfigs), ZE_RESULT_SUCCESS);
442-
EXPECT_EQ(pmuConfigs.size(), pmuConfigSize);
443-
for (uint32_t i = 0; i < pmuConfigs.size(); i++) {
444-
EXPECT_EQ(pmuConfigs[i], mockPmuConfigs[i % 2]);
445-
}
446-
}
447-
448-
TEST_F(SysmanFixtureDeviceXe, GivenSysmanKmdInterfaceWithVfsEnabledWhenCallingGetPmuConfigsForSingleEnginesThenSuccessIsReturned) {
449-
450-
VariableBackup<decltype(NEO::SysCalls::sysCallsOpen)> mockOpen(&NEO::SysCalls::sysCallsOpen, &mockOpenSuccess);
451-
VariableBackup<decltype(NEO::SysCalls::sysCallsPread)> mockPread(&NEO::SysCalls::sysCallsPread, &mockReadSuccess);
452-
453-
auto pSysmanKmdInterface = pLinuxSysmanImp->pSysmanKmdInterface.get();
454-
auto pDrm = pLinuxSysmanImp->getDrm();
455-
std::vector<uint64_t> mockPmuConfigs = {1, 2};
456-
uint32_t pmuConfigSize = 6;
457-
std::vector<uint64_t> pmuConfigs = {};
458-
const std::string sysmanDeviceDir = "/sys/devices/0000:aa:bb:cc";
459-
EngineGroupInfo engineGroupInfo = {ZES_ENGINE_GROUP_COMPUTE_SINGLE, 0, 0};
460-
EXPECT_EQ(pSysmanKmdInterface->getPmuConfigsForSingleEngines(sysmanDeviceDir, engineGroupInfo, pPmuInterface.get(), pDrm, pmuConfigs), ZE_RESULT_SUCCESS);
461-
EXPECT_EQ(pmuConfigs.size(), pmuConfigSize);
462-
for (uint32_t i = 0; i < pmuConfigs.size(); i++) {
463-
EXPECT_EQ(pmuConfigs[i], mockPmuConfigs[i % 2]);
464-
}
465-
}
466-
467-
TEST_F(SysmanFixtureDeviceXe, GivenVfsEnabledAndPmuInterfaceOpenFailsWhenCallingGetPmuConfigsForGroupEnginesThenErrorIsReturned) {
468-
469-
VariableBackup<decltype(NEO::SysCalls::sysCallsOpen)> mockOpen(&NEO::SysCalls::sysCallsOpen, &mockOpenSuccess);
470-
VariableBackup<decltype(NEO::SysCalls::sysCallsPread)> mockPread(&NEO::SysCalls::sysCallsPread, &mockReadSuccess);
471-
472-
auto pSysmanKmdInterface = pLinuxSysmanImp->pSysmanKmdInterface.get();
473-
auto pDrm = pLinuxSysmanImp->getDrm();
474-
std::vector<uint64_t> mockPmuConfigs = {1, 2};
475-
std::vector<uint64_t> pmuConfigs = {};
476-
const std::string sysmanDeviceDir = "/sys/devices/0000:aa:bb:cc";
477-
pPmuInterface->mockVfConfigReturnValue.push_back(-1);
478-
EngineGroupInfo engineGroupInfo = {ZES_ENGINE_GROUP_MEDIA_ALL, 0, 0};
479-
EXPECT_EQ(pSysmanKmdInterface->getPmuConfigsForGroupEngines(mockMapEngineInfo, sysmanDeviceDir, engineGroupInfo, pPmuInterface.get(), pDrm, pmuConfigs), ZE_RESULT_ERROR_UNSUPPORTED_FEATURE);
480-
}
481-
482-
TEST_F(SysmanFixtureDeviceXe, GivenVfsEnabledAndPmuInterfaceOpenFailsWhenCallingGetPmuConfigsForSingleEnginesThenErrorIsReturned) {
483-
484-
VariableBackup<decltype(NEO::SysCalls::sysCallsOpen)> mockOpen(&NEO::SysCalls::sysCallsOpen, &mockOpenSuccess);
485-
VariableBackup<decltype(NEO::SysCalls::sysCallsPread)> mockPread(&NEO::SysCalls::sysCallsPread, &mockReadSuccess);
486-
487-
auto pSysmanKmdInterface = pLinuxSysmanImp->pSysmanKmdInterface.get();
488-
auto pDrm = pLinuxSysmanImp->getDrm();
489-
std::vector<uint64_t> mockPmuConfigs = {1, 2};
490-
std::vector<uint64_t> pmuConfigs = {};
491-
const std::string sysmanDeviceDir = "/sys/devices/0000:aa:bb:cc";
492-
pPmuInterface->mockVfConfigReturnValue.push_back(-1);
493-
EngineGroupInfo engineGroupInfo = {ZES_ENGINE_GROUP_COMPUTE_SINGLE, 0, 0};
494-
EXPECT_EQ(pSysmanKmdInterface->getPmuConfigsForSingleEngines(sysmanDeviceDir, engineGroupInfo, pPmuInterface.get(), pDrm, pmuConfigs), ZE_RESULT_ERROR_UNSUPPORTED_FEATURE);
495-
}
496-
497420
} // namespace ult
498421
} // namespace Sysman
499422
} // namespace L0

0 commit comments

Comments
 (0)