On 1/31/2018 8:15 AM, Jiri Olsa wrote:
On Wed, Jan 31, 2018 at 10:15:39AM +0100, Jiri Olsa wrote:
On Tue, Jan 30, 2018 at 07:59:41PM -0800, Andi Kleen wrote:
Still, the part I am missing here, is why asking for
PERF_SAMPLE_PERIOD voids large PEBS.

I think it was disabled together with frequency mode
(which we could support too, but it's a bit more work)

But yes PERIOD could probably be allowed.

looks like it's just a matter of adding PERF_SAMPLE_PERIOD
into PEBS_FREERUNNING_FLAGS, we already populate period
in setup_pebs_sample_data

jirka


---
diff --git a/arch/x86/events/perf_event.h b/arch/x86/events/perf_event.h
index 8e4ea143ed96..78f91ec1056e 100644
--- a/arch/x86/events/perf_event.h
+++ b/arch/x86/events/perf_event.h
@@ -93,7 +93,8 @@ struct amd_nb {
        PERF_SAMPLE_ID | PERF_SAMPLE_CPU | PERF_SAMPLE_STREAM_ID | \
        PERF_SAMPLE_DATA_SRC | PERF_SAMPLE_IDENTIFIER | \
        PERF_SAMPLE_TRANSACTION | PERF_SAMPLE_PHYS_ADDR | \
-       PERF_SAMPLE_REGS_INTR | PERF_SAMPLE_REGS_USER)
+       PERF_SAMPLE_REGS_INTR | PERF_SAMPLE_REGS_USER | \
+       PERF_SAMPLE_PERIOD)

seems to work, getting large PEBS event for following command line:

   perf record -e cycles:P -c 100 --no-timestamp -C 0 --period



Yes, I tried the patch. The large PEBS can be enabled with the PERIOD flag. Everything looks good.

Jirka, could you please post the patch as well?

Thanks,
Kan

Reply via email to