lkml.org 
[lkml]   [2020]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip: perf/core] powerpc/perf: Support PERF_SAMPLE_DATA_PAGE_SIZE
    The following commit has been merged into the perf/core branch of tip:

    Commit-ID: 4cb6a42e4c4bc1902644eced67563e7405d4588e
    Gitweb: https://git.kernel.org/tip/4cb6a42e4c4bc1902644eced67563e7405d4588e
    Author: Kan Liang <kan.liang@linux.intel.com>
    AuthorDate: Thu, 01 Oct 2020 06:57:48 -07:00
    Committer: Peter Zijlstra <peterz@infradead.org>
    CommitterDate: Thu, 29 Oct 2020 11:00:39 +01:00

    powerpc/perf: Support PERF_SAMPLE_DATA_PAGE_SIZE

    The new sample type, PERF_SAMPLE_DATA_PAGE_SIZE, requires the virtual
    address. Update the data->addr if the sample type is set.

    Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/20201001135749.2804-4-kan.liang@linux.intel.com
    ---
    arch/powerpc/perf/core-book3s.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    diff --git a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c
    index 78fe349..ce22bd2 100644
    --- a/arch/powerpc/perf/core-book3s.c
    +++ b/arch/powerpc/perf/core-book3s.c
    @@ -2065,6 +2065,9 @@ static struct pmu power_pmu = {
    .sched_task = power_pmu_sched_task,
    };

    +#define PERF_SAMPLE_ADDR_TYPE (PERF_SAMPLE_ADDR | \
    + PERF_SAMPLE_PHYS_ADDR | \
    + PERF_SAMPLE_DATA_PAGE_SIZE)
    /*
    * A counter has overflowed; update its count and record
    * things if requested. Note that interrupts are hard-disabled
    @@ -2120,8 +2123,7 @@ static void record_and_restart(struct perf_event *event, unsigned long val,

    perf_sample_data_init(&data, ~0ULL, event->hw.last_period);

    - if (event->attr.sample_type &
    - (PERF_SAMPLE_ADDR | PERF_SAMPLE_PHYS_ADDR))
    + if (event->attr.sample_type & PERF_SAMPLE_ADDR_TYPE)
    perf_get_data_addr(event, regs, &data.addr);

    if (event->attr.sample_type & PERF_SAMPLE_BRANCH_STACK) {
    \
     
     \ /
      Last update: 2020-10-29 11:52    [W:4.147 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site