Messages in this thread | | | From | "Natarajan, Janakarajan" <> | Subject | Re: [PATCHv2 0/3] Update cpupower and make it more accurate | Date | Tue, 22 Oct 2019 16:39:11 +0000 |
| |
On 10/11/2019 2:37 PM, Natarajan, Janakarajan wrote: > This patchset updates cpupower to make it more accurate by removing > the userspace to kernel transitions and read_msr initiated IPI delays. > > The first patch does a little re-arrangement of variables in the > cpuidle_monitor struct to prepare for a new flag. > > The second patch introduces a per_cpu_schedule flag which, when set, > will allow cpupower to move to each of the cpus in the system. The > advantage of this is that the IPI latency is removed when reading > the APERF/MPERF registers, since an IPI is not generated for rdmsrs > when the source and destination cpus are the same for the IPI. > > The third patch introduces the RDPRU instruction, which will allow > cpupower to not use the msr module for APERF/MPERF register reads. > This will remove the userspace to kernel transition delays when > reading the APERF/MPERF registers.
Any concerns regarding this patchset?
-Janak
> > v1->v2: > * Added cover letter. > * Used bind_cpu instead of rewriting the same code. > * Moved needs_root to flag sub-struct. > * Introduced per_cpu_schedule flag. > > Janakarajan Natarajan (3): > cpupower: Move needs_root variable into a sub-struct > cpupower: mperf_monitor: Introduce per_cpu_schedule flag > cpupower: mperf_monitor: Update cpupower to use the RDPRU instruction > > tools/power/cpupower/utils/helpers/cpuid.c | 4 ++ > tools/power/cpupower/utils/helpers/helpers.h | 1 + > .../utils/idle_monitor/amd_fam14h_idle.c | 2 +- > .../utils/idle_monitor/cpuidle_sysfs.c | 2 +- > .../utils/idle_monitor/cpupower-monitor.c | 2 +- > .../utils/idle_monitor/cpupower-monitor.h | 5 +- > .../utils/idle_monitor/hsw_ext_idle.c | 2 +- > .../utils/idle_monitor/mperf_monitor.c | 64 +++++++++++++++---- > .../cpupower/utils/idle_monitor/nhm_idle.c | 2 +- > .../cpupower/utils/idle_monitor/snb_idle.c | 2 +- > 10 files changed, 68 insertions(+), 18 deletions(-) >
| |