On Tue, 28 Sep 2021, Punit Agrawal wrote: > From: Punit Agrawal <punit1.agrawal@xxxxxxxxxxxxx> > > On systems where cpu idle is disabled to reduce latencies, > "/dev/cpu_dma_latency" does not exist and leads to the following > exception report from python when using hwlatdetect.py - > > FileNotFoundError: [Errno 2] No such file or directory: '/dev/cpu_dma_latency > > Update hwlatdetect to check whether the file exists before attemping > to write values to it. > > Reported-by: Suresh Hegde <suresh.c11@xxxxxxxxxxxxxxxx> > Signed-off-by: Punit Agrawal <punit1.agrawal@xxxxxxxxxxxxx> > --- > v1 -> v2: > * Correct Suresh's email > > src/hwlatdetect/hwlatdetect.py | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/src/hwlatdetect/hwlatdetect.py b/src/hwlatdetect/hwlatdetect.py > index 12228f45f852..89537a6e371f 100755 > --- a/src/hwlatdetect/hwlatdetect.py > +++ b/src/hwlatdetect/hwlatdetect.py > @@ -216,8 +216,11 @@ class Detector(object): > # use c_states_on() to close the file descriptor and re-enable c-states > # > def c_states_off(self): > - self.dma_latency_handle = os.open("/dev/cpu_dma_latency", os.O_WRONLY) > - os.write(self.dma_latency_handle, b'\x00\x00\x00\x00') > + if os.path.exists("/dev/cpu_dma_latency"): > + self.dma_latency_handle = os.open("/dev/cpu_dma_latency", os.O_WRONLY) > + os.write(self.dma_latency_handle, b'\x00\x00\x00\x00') > + else: > + self.dma_latency_handle = None > debug("c-states disabled") > > def c_states_on(self): > -- > 2.32.0 > > Thanks! I have a couple of nit-picky suggestions. If you initialize self.dma_latency_handle = None in the init method of class Detector, then you can drop the else part of your check to see if the file exists. Also, in the situation you describe, the debug messages should probably be hoisted up under the "if" part, and that goes for method c_states_on() too, as they are not relevant. You might as well fix the comments above the code too, openinging -> opening writeing -> writing And edit that one line not to over flow 80 chars. Thanks! John