13 Feb, 2020

5 commits


12 Feb, 2020

6 commits

  • Add socname for struct pmu_event for that we can distinguish different SoCs
    by this property.

    Reviewed-by: Fugang Duan
    Signed-off-by: Joakim Zhang

    Joakim Zhang
     
  • [ Upstream commit eb573e746b9d4f0921dcb2449be3df41dae3caea ]

    Commit f01642e4912b ("perf metricgroup: Support multiple events for
    metricgroup") introduced support for multiple events in a metric group.
    But with the current upstream, metric events names are not printed
    properly

    In power9 platform:

    command:# ./perf stat --metric-only -M translation -C 0 -I 1000 sleep 2
    1.000208486
    2.000368863
    2.001400558

    Similarly in skylake platform:

    command:./perf stat --metric-only -M Power -I 1000
    1.000579994
    2.002189493

    With current upstream version, issue is with event name comparison logic
    in find_evsel_group(). Current logic is to compare events belonging to a
    metric group to the events in perf_evlist. Since the break statement is
    missing in the loop used for comparison between metric group and
    perf_evlist events, the loop continues to execute even after getting a
    pattern match, and end up in discarding the matches.

    Incase of single metric event belongs to metric group, its working fine,
    because in case of single event once it compare all events it reaches to
    end of perf_evlist.

    Example for single metric event in power9 platform:

    command:# ./perf stat --metric-only -M branches_per_inst -I 1000 sleep 1
    1.000094653 0.2
    1.001337059 0.0

    This patch fixes the issue by making sure once we found all events
    belongs to that metric event matched in find_evsel_group(), we
    successfully break from that loop by adding corresponding condition.

    With this patch:
    In power9 platform:

    command:# ./perf stat --metric-only -M translation -C 0 -I 1000 sleep 2
    result:#
    time derat_4k_miss_rate_percent derat_4k_miss_ratio derat_miss_ratio derat_64k_miss_rate_percent derat_64k_miss_ratio dslb_miss_rate_percent islb_miss_rate_percent
    1.000135672 0.0 0.3 1.0 0.0 0.2 0.0 0.0
    2.000380617 0.0 0.0 0.0 0.0 0.0 0.0 0.0

    command:# ./perf stat --metric-only -M Power -I 1000

    Similarly in skylake platform:
    result:#
    time Turbo_Utilization C3_Core_Residency C6_Core_Residency C7_Core_Residency C2_Pkg_Residency C3_Pkg_Residency C6_Pkg_Residency C7_Pkg_Residency
    1.000563580 0.3 0.0 2.6 44.2 21.9 0.0 0.0 0.0
    2.002235027 0.4 0.0 2.7 43.0 20.7 0.0 0.0 0.0

    Committer testing:

    Before:

    [root@seventh ~]# perf stat --metric-only -M Power -I 1000
    # time
    1.000383223
    2.001168182
    3.001968545
    4.002741200
    5.003442022
    ^C 5.777687244

    [root@seventh ~]#

    After the patch:

    [root@seventh ~]# perf stat --metric-only -M Power -I 1000
    # time Turbo_Utilization C3_Core_Residency C6_Core_Residency C7_Core_Residency C2_Pkg_Residency C3_Pkg_Residency C6_Pkg_Residency C7_Pkg_Residency
    1.000406577 0.4 0.1 1.4 97.0 0.0 0.0 0.0 0.0
    2.001481572 0.3 0.0 0.6 97.9 0.0 0.0 0.0 0.0
    3.002332585 0.2 0.0 1.0 97.5 0.0 0.0 0.0 0.0
    4.003196624 0.2 0.0 0.3 98.6 0.0 0.0 0.0 0.0
    5.004063851 0.3 0.0 0.7 97.7 0.0 0.0 0.0 0.0
    ^C 5.471260276 0.2 0.0 0.5 49.3 0.0 0.0 0.0 0.0

    [root@seventh ~]#
    [root@seventh ~]# dmesg | grep -i skylake
    [ 0.187807] Performance Events: PEBS fmt3+, Skylake events, 32-deep LBR, full-width counters, Intel PMU driver.
    [root@seventh ~]#

    Fixes: f01642e4912b ("perf metricgroup: Support multiple events for metricgroup")
    Signed-off-by: Kajol Jain
    Reviewed-by: Ravi Bangoria
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Alexander Shishkin
    Cc: Andi Kleen
    Cc: Anju T Sudhakar
    Cc: Jin Yao
    Cc: Jiri Olsa
    Cc: Kan Liang
    Cc: Madhavan Srinivasan
    Cc: Peter Zijlstra
    Link: http://lore.kernel.org/lkml/20191120084059.24458-1-kjain@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Sasha Levin

    Joakim cherry pick from upstream:
    3635b27cc058 perf metricgroup: Fix printing event names of metric group with multiple events

    Signed-off-by: Joakim Zhang

    Kajol Jain
     
  • Currently when cross compiling perf tool for ARM64 on my x86 machine I
    get this error:

    arch/arm64/util/sym-handling.c:9:10: fatal error: gelf.h: No such file or directory
    #include

    For the build, libelf is reported off:

    Auto-detecting system features:
    ...
    ... libelf: [ OFF ]

    Indeed, test-libelf is not built successfully:

    more ./build/feature/test-libelf.make.output
    test-libelf.c:2:10: fatal error: libelf.h: No such file or directory
    #include
    ^~~~~~~~~~
    compilation terminated.

    I have no such problems natively compiling on ARM64, and I did not
    previously have this issue for cross compiling. Fix by relocating the
    gelf.h include.

    Signed-off-by: John Garry
    Cc: Alexander Shishkin
    Cc: Jiri Olsa
    Cc: Mark Rutland
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Will Deacon
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lore.kernel.org/lkml/1573045254-39833-1-git-send-email-john.garry@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Joakim cherry pick from upstream:
    1302caaef52a perf tools: Fix cross compile for ARM64

    Signed-off-by: Joakim Zhang

    John Garry
     
  • Change LCDIFv3 burst size from 128B to 256B
    to improve lpddr4 efficiency by adding about 200MB

    Signed-off-by: Jian Li
    Reviewed-by: Fancy Fang

    Jian Li
     
  • Add the busfreq node to enable the DDR DVFS support on i.MX8MP.

    Signed-off-by: Jacky Bai
    Reviewed-by: Anson Huang

    Jacky Bai
     
  • Add the touch support on MIPI_DSI screen.

    Signed-off-by: Haibo Chen
    Reviewed-by: Fugang Duan

    Haibo Chen
     

11 Feb, 2020

8 commits


10 Feb, 2020

15 commits


05 Feb, 2020

2 commits


04 Feb, 2020

2 commits

  • Prior to this patch in optee_probe() when optee_enumerate_devices() was
    called the struct optee was fully initialized. If
    optee_enumerate_devices() returns an error optee_probe() is supposed to
    clean up and free the struct optee completely, but will at this late
    stage need to call optee_remove() instead. This isn't done and thus
    freeing the struct optee prematurely.

    With this patch the call to optee_enumerate_devices() is done after
    optee_probe() has returned successfully and in case
    optee_enumerate_devices() fails everything is cleaned up with a call to
    optee_remove().

    Fixes: c3fa24af9244 ("tee: optee: add TEE bus device enumeration support")
    Reviewed-by: Sumit Garg
    Signed-off-by: Jens Wiklander
    (cherry picked from commit 03212e347f9443e524d6383c6806ac08295c1fb0)

    Jens Wiklander
     
  • In case of dynamic shared memory pool, kernel memory allocated using
    dmabuf_mgr pool needs to be registered with OP-TEE prior to its usage
    during optee_open_session() or optee_invoke_func().

    So fix dmabuf_mgr pool allocations via an additional call to
    optee_shm_register().

    Also, allow kernel pages to be registered as shared memory with OP-TEE.

    Fixes: 9733b072a12a ("optee: allow to work without static shared memory")
    Signed-off-by: Sumit Garg
    Signed-off-by: Jens Wiklander
    (cherry picked from commit a249dd200d03791cab23e47571f3e13d9c72af6c)

    Sumit Garg
     

29 Jan, 2020

2 commits