Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp814840pxb; Wed, 15 Sep 2021 14:02:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzYWvnqHc9DG+b09MIENSqCUAOxMwDIWfhSDEBZ6kEBxVH5N1vuoFAs1IupqKDJS7rSW/0m X-Received: by 2002:a05:6402:2908:: with SMTP id ee8mr2237722edb.33.1631739761181; Wed, 15 Sep 2021 14:02:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631739761; cv=none; d=google.com; s=arc-20160816; b=0qRWu5a3TkNh298hxt0Z+3F6ZPwU8pFGYF/uaieEhsdNbQEKimhhn68240zIbHr61C sOUDWyLBBxIN8xQe86ydCylXhbL/LurzeXpYv6ezWbb6abx+VbAxp7VdIehZog9lcb3b ghAktdWV78zz+vwANzauVgcq7x5LJj+2LAjXSg9aii2I9iAL0+Xjb6pePW/i0KA7iWC9 q8CVRt4t8B7Sf4cjKWyje6tU7S0skkzmxIgMZL3Vb21CzMsKPr7ICIXVe2HFze1NclxE 2SG47eQeXkyPMjZG2X5AKerSGeRS6IjABUyvrjZ1M846rbDJ+5SEmaHu4iy7b6GPSBX4 n8hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=ki2nri2cxu9b9Tbnq/Am9HQcfGYOn0vRaL5tUlEVroM=; b=koDBTLDSjhvRRW4QF4kiXHVtlNMdkH6B9I8OSQAUR8+bwi2gLShPdfjQEau7YHPcdw bpkYunz1Ko5/6GSGeZK3VhiiA/4dFqyuFC1jNwodjTmRG4PxwYn9OmLofyAeW+CejN42 iNLEHHh0DDovsyVK+CwO65msqeIMKyP16R5l3Q+fuWVEkZewe1alvJBIW/DJuporMJam P241NI0DRLT5QefxR+hdQ6NwE8jNec89EcyS7AeR5cYqK69ENkbmksMcULdimydCJLxs 14A/HG0bWMK6XqKbt0SJTF7ixNP8UNqg7AgpQtDT1AC8r4LRQ83PAKUolBC3fOCdqWSO saJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gdelZNiZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id nc1si1071141ejc.377.2021.09.15.14.02.17; Wed, 15 Sep 2021 14:02:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gdelZNiZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232148AbhIOU5v (ORCPT + 99 others); Wed, 15 Sep 2021 16:57:51 -0400 Received: from mail.kernel.org ([198.145.29.99]:43720 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231830AbhIOU5t (ORCPT ); Wed, 15 Sep 2021 16:57:49 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 549B06108F; Wed, 15 Sep 2021 20:56:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1631739389; bh=pBGc6MBPlKmkYJWBqJlD5hd44E7P23W0e7q7BSRmPAg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=gdelZNiZUfwtatkAqqlDS+KgxqYlzfFAGkky5/chQnW925kMBiym+E7CESFMuS2oP ZeVHIAbY2L6Yxe2aWUH3HTuNb+cY5xuHubt6aDW157N2m744v6no2zmmwP471++hjA kbo++TRHNhRO6B4b8BxGuv3iWnHuWuVUBG+K17cLMNBWSpCx5jgBd8t/U4K5vc+Jfu JZVzGxJoE+EhcUGhxZoeBGAp43b54VMdKX1wUbd9NSiXdtWRDbZy3RGHYize1VR/GB Osmrp14v5ZtDFYfqzLzxS3OL2lIOEx5mjL+4NiA3G93jusVnA3igALWNRH9m358/tx q8rFkSPYqhCvg== Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id 40F894038F; Wed, 15 Sep 2021 17:56:26 -0300 (-03) Date: Wed, 15 Sep 2021 17:56:26 -0300 From: Arnaldo Carvalho de Melo To: Andrii Nakryiko Cc: Muhammad Falak R Wani , Peter Zijlstra , Ingo Molnar , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Martin KaFai Lau , Song Liu , John Fastabend , KP Singh , Quentin Monnet , Yu Kuai , "linux-perf-use." , open list , Networking , bpf Subject: Re: [PATCH] perflib: deprecate bpf_map__resize in favor of bpf_map_set_max_entries Message-ID: References: <20210815103610.27887-1-falakreyaz@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Url: http://acmel.wordpress.com Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Mon, Aug 16, 2021 at 12:28:14PM -0700, Andrii Nakryiko escreveu: > On Sun, Aug 15, 2021 at 3:36 AM Muhammad Falak R Wani > wrote: > > > > As a part of libbpf 1.0 plan[0], this patch deprecates use of > > bpf_map__resize in favour of bpf_map__set_max_entries. > > > > Reference: https://github.com/libbpf/libbpf/issues/304 > > [0]: https://github.com/libbpf/libbpf/wiki/Libbpf:-the-road-to-v1.0#libbpfh-high-level-apis > > > > Signed-off-by: Muhammad Falak R Wani > > --- > > All looks good, there is an opportunity to simplify the code a bit (see below). > > Arnaldo, I assume you'll take this through your tree or you'd like us Yeah, I'll take the opportunity to try to improve that detection of libbpf version, etc. - Arnaldo > to take it through bpf-next? > > Acked-by: Andrii Nakryiko > > > tools/perf/util/bpf_counter.c | 8 ++++---- > > tools/perf/util/bpf_counter_cgroup.c | 8 ++++---- > > 2 files changed, 8 insertions(+), 8 deletions(-) > > > > diff --git a/tools/perf/util/bpf_counter.c b/tools/perf/util/bpf_counter.c > > index ba0f20853651..ced2dac31dcf 100644 > > --- a/tools/perf/util/bpf_counter.c > > +++ b/tools/perf/util/bpf_counter.c > > @@ -127,9 +127,9 @@ static int bpf_program_profiler_load_one(struct evsel *evsel, u32 prog_id) > > > > skel->rodata->num_cpu = evsel__nr_cpus(evsel); > > > > - bpf_map__resize(skel->maps.events, evsel__nr_cpus(evsel)); > > - bpf_map__resize(skel->maps.fentry_readings, 1); > > - bpf_map__resize(skel->maps.accum_readings, 1); > > + bpf_map__set_max_entries(skel->maps.events, evsel__nr_cpus(evsel)); > > + bpf_map__set_max_entries(skel->maps.fentry_readings, 1); > > + bpf_map__set_max_entries(skel->maps.accum_readings, 1); > > > > prog_name = bpf_target_prog_name(prog_fd); > > if (!prog_name) { > > @@ -399,7 +399,7 @@ static int bperf_reload_leader_program(struct evsel *evsel, int attr_map_fd, > > return -1; > > } > > > > - bpf_map__resize(skel->maps.events, libbpf_num_possible_cpus()); > > + bpf_map__set_max_entries(skel->maps.events, libbpf_num_possible_cpus()); > > If you set max_entries to 0 (or just skip specifying it) for events > map in util/bpf_skel/bperf_cgroup.bpf.c, you won't need to resize it, > libbpf will automatically size it to number of possible CPUs. > > > err = bperf_leader_bpf__load(skel); > > if (err) { > > pr_err("Failed to load leader skeleton\n"); > > diff --git a/tools/perf/util/bpf_counter_cgroup.c b/tools/perf/util/bpf_counter_cgroup.c > > index 89aa5e71db1a..cbc6c2bca488 100644 > > --- a/tools/perf/util/bpf_counter_cgroup.c > > +++ b/tools/perf/util/bpf_counter_cgroup.c > > @@ -65,14 +65,14 @@ static int bperf_load_program(struct evlist *evlist) > > > > /* we need one copy of events per cpu for reading */ > > map_size = total_cpus * evlist->core.nr_entries / nr_cgroups; > > - bpf_map__resize(skel->maps.events, map_size); > > - bpf_map__resize(skel->maps.cgrp_idx, nr_cgroups); > > + bpf_map__set_max_entries(skel->maps.events, map_size); > > + bpf_map__set_max_entries(skel->maps.cgrp_idx, nr_cgroups); > > /* previous result is saved in a per-cpu array */ > > map_size = evlist->core.nr_entries / nr_cgroups; > > - bpf_map__resize(skel->maps.prev_readings, map_size); > > + bpf_map__set_max_entries(skel->maps.prev_readings, map_size); > > /* cgroup result needs all events (per-cpu) */ > > map_size = evlist->core.nr_entries; > > - bpf_map__resize(skel->maps.cgrp_readings, map_size); > > + bpf_map__set_max_entries(skel->maps.cgrp_readings, map_size); > > > > set_max_rlimit(); > > > > -- > > 2.17.1 > > -- - Arnaldo