Sysman: Redesign event API to effectively use uevents

Earlier implementation of sysman events API was based on file
creation in the filesystem. Whenever a uevent for some event
which needs to be monitored arrive, at that time a file was
created in the filesystem based on some preinstalled udev rules.
This approach was inefficient as it heavily depends over file
system and second with this approach losing events is always a
possibility.

Now with this change, we are removing our dependency over file
creation in filesystem. Rather we will be using libudev library
to monitor the uevents. This approach could also be extended,
when we want to listen to all the uevents for all the gpu
devices present in the system.

Related-To: LOCI-2140
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
This commit is contained in:
Jitendra Sharma
2022-11-04 17:29:19 +00:00
committed by Compute-Runtime-Automation
parent 23fd280334
commit 5baf75b9a8
21 changed files with 482 additions and 189 deletions

View File

@@ -46,6 +46,7 @@ class PublicLinuxSysmanImp : public L0::LinuxSysmanImp {
using LinuxSysmanImp::pPmuInterface;
using LinuxSysmanImp::pProcfsAccess;
using LinuxSysmanImp::pSysfsAccess;
using LinuxSysmanImp::pUdevLib;
};
class SysmanDeviceFixture : public DeviceFixture, public ::testing::Test {