Messages in this thread | | | Subject | Re: [PATCH v3 0/2] Selftest for cpuidle latency measurement | From | Pratik Sampat <> | Date | Wed, 22 Jul 2020 21:03:20 +0530 |
| |
Hello Daniel,
On 21/07/20 8:27 pm, Daniel Lezcano wrote: > On 21/07/2020 14:42, Pratik Rajesh Sampat wrote: >> v2: https://lkml.org/lkml/2020/7/17/369 >> Changelog v2-->v3 >> Based on comments from Gautham R. Shenoy adding the following in the >> selftest, >> 1. Grepping modules to determine if already loaded >> 2. Wrapper to enable/disable states >> 3. Preventing any operation/test on offlined CPUs >> --- >> >> The patch series introduces a mechanism to measure wakeup latency for >> IPI and timer based interrupts >> The motivation behind this series is to find significant deviations >> behind advertised latency and resisdency values > Why do you want to measure for the timer and the IPI ? Whatever the > source of the wakeup, the exit latency remains the same, no ? > > Is all this kernel-ish code really needed ? > > What about using a highres periodic timer and make it expires every eg. > 50ms x 2400, so it is 120 secondes and measure the deviation. Repeat the > operation for each idle states. > > And in order to make it as much accurate as possible, set the program > affinity on a CPU and isolate this one by preventing other processes to > be scheduled on and migrate the interrupts on the other CPUs. > > That will be all userspace code, no? > > The kernel module may not needed now that you mention it. IPI latencies could be measured using pipes and threads using pthread_attr_setaffinity_np to control the experiment, as you suggested. This should internally fire a smp_call_function_single.
The original idea was to essentially measure it as closely as possible in the kernel without involving the kernel-->userspace overhead. However, the user-space approach may not be too much of a problem as we are collecting a baseline and the delta of the latency is what we would be concerned about anyways!
With respect to measuring both timers and IPI latencies: In principle yes, the exit latency should remain the same but if there is a deviation in reality we may want to measure it.
I'll implement this experiment in the userspace and get back with the numbers to confirm.
Thanks for your comments! Best, Pratik
> >
| |