lkml.org 
[lkml]   [2022]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 34/54] perf: replace bitmap_weight with bitmap_weight_eq for ThunderX2
    Date
    tx2_uncore_event_start() calls bitmap_weight() to compare the weight
    of bitmap with a given number. We can do it more efficiently with
    bitmap_weight_eq because conditional bitmap_weight may stop traversing
    the bitmap earlier, as soon as condition is met.

    Signed-off-by: Yury Norov <yury.norov@gmail.com>
    ---
    drivers/perf/thunderx2_pmu.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/drivers/perf/thunderx2_pmu.c b/drivers/perf/thunderx2_pmu.c
    index 05378c0fd8f3..ebfa66b212c7 100644
    --- a/drivers/perf/thunderx2_pmu.c
    +++ b/drivers/perf/thunderx2_pmu.c
    @@ -623,8 +623,8 @@ static void tx2_uncore_event_start(struct perf_event *event, int flags)
    return;

    /* Start timer for first event */
    - if (bitmap_weight(tx2_pmu->active_counters,
    - tx2_pmu->max_counters) == 1) {
    + if (bitmap_weight_eq(tx2_pmu->active_counters,
    + tx2_pmu->max_counters, 1)) {
    hrtimer_start(&tx2_pmu->hrtimer,
    ns_to_ktime(tx2_pmu->hrtimer_interval),
    HRTIMER_MODE_REL_PINNED);
    --
    2.30.2
    \
     
     \ /
      Last update: 2022-01-23 19:43    [W:2.050 / U:0.304 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site