On 17-Jan-25 8:49 PM, kan.liang@xxxxxxxxxxxxxxx wrote: > From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx> > > Perf doesn't work with a low freq. > > perf record -e cpu_core/instructions/ppp -F 120 > Error: > The sys_perf_event_open() syscall returned with 22 (Invalid argument) > for event (cpu_core/instructions/ppp). > "dmesg | grep -i perf" may provide additional information. > > The limit_period() check avoids a low sampling period on a counter. It > doesn't intend to limit the frequency. > The check in the x86_pmu_hw_config() should be limited to non-freq mode. > The attr.sample_period and attr.sample_freq are union. The > attr.sample_period should not be used to indicate the freq mode. > > Fixes: c46e665f0377 ("perf/x86: Add INST_RETIRED.ALL workarounds") > Closes: https://lore.kernel.org/lkml/20250115154949.3147-1-ravi.bangoria@xxxxxxx/ > Signed-off-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx> > Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> > Cc: Ravi Bangoria <ravi.bangoria@xxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Ravi Bangoria <ravi.bangoria@xxxxxxx> Thanks, Ravi