All of lore.kernel.org
 help / color / mirror / Atom feed
From: Namhyung Kim <namhyung@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>, Jiri Olsa <jolsa@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Andi Kleen <ak@linux.intel.com>, Ian Rogers <irogers@google.com>,
	Stephane Eranian <eranian@google.com>,
	Song Liu <songliubraving@fb.com>
Subject: Re: [PATCHSET v4 0/4] perf stat: Enable BPF counters with --for-each-cgroup
Date: Tue, 29 Jun 2021 23:19:59 -0700	[thread overview]
Message-ID: <CAM9d7cjopjKuLktX_kgEREbQdF5GmhuG9prKuBpP_=fkhfP05g@mail.gmail.com> (raw)
In-Reply-To: <CAM9d7ci=S2p4_Baqo_vY8sVnST1jKL-HxcHNtcfKzuv0fA-R+Q@mail.gmail.com>

On Sun, Jun 27, 2021 at 8:29 AM Namhyung Kim <namhyung@kernel.org> wrote:
>
> On Fri, Jun 25, 2021 at 12:18 AM Namhyung Kim <namhyung@kernel.org> wrote:
> >
> > Hello,
> >
> > This is to add BPF support for --for-each-cgroup to handle many cgroup
> > events on big machines.  You can use the --bpf-counters to enable the
> > new behavior.
> >
> >  * changes in v4
> >   - convert cgrp_readings to a per-cpu array map
> >   - remove now-unused cpu_idx map
> >   - move common functions to a header file
> >   - reuse bpftool bootstrap binary
> >   - fix build error in the cgroup code
> >
> >  * changes in v3
> >   - support cgroup hierarchy with ancestor ids
> >   - add and trigger raw_tp BPF program
> >   - add a build rule for vmlinux.h
> >
> >  * changes in v2
> >   - remove incorrect use of BPF_F_PRESERVE_ELEMS
> >   - add missing map elements after lookup
> >   - handle cgroup v1
> >
> > Basic idea is to use a single set of per-cpu events to count
> > interested events and aggregate them to each cgroup.  I used bperf
> > mechanism to use a BPF program for cgroup-switches and save the
> > results in a matching map element for given cgroups.
> >
> > Without this, we need to have separate events for cgroups, and it
> > creates unnecessary multiplexing overhead (and PMU programming) when
> > tasks in different cgroups are switched.  I saw this makes a big
> > difference on 256 cpu machines with hundreds of cgroups.
> >
> > Actually this is what I wanted to do it in the kernel [1], but we can
> > do the job using BPF!
>
> Ugh, I found the current kernel bpf verifier doesn't accept the
> bpf_get_current_ancestor_cgroup_id() helper.  Will send the fix
> to BPF folks.

The fix landed on the bpf-next tree.

Thanks,
Namhyung

      reply	other threads:[~2021-06-30  6:20 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-25  7:18 [PATCHSET v4 0/4] perf stat: Enable BPF counters with --for-each-cgroup Namhyung Kim
2021-06-25  7:18 ` [PATCH 1/4] perf tools: Add read_cgroup_id() function Namhyung Kim
2021-07-01 17:59   ` Arnaldo Carvalho de Melo
2021-06-25  7:18 ` [PATCH 2/4] perf tools: Add cgroup_is_v2() helper Namhyung Kim
2021-06-29 15:51   ` Ian Rogers
2021-06-30  6:35     ` Namhyung Kim
2021-06-30 18:43       ` Arnaldo Carvalho de Melo
2021-06-25  7:18 ` [PATCH 3/4] perf tools: Move common bpf functions to bpf_counter.h Namhyung Kim
2021-06-30 18:28   ` Song Liu
2021-07-01 19:09   ` Arnaldo Carvalho de Melo
2021-07-01 20:11     ` Namhyung Kim
2021-06-25  7:18 ` [PATCH 4/4] perf stat: Enable BPF counter with --for-each-cgroup Namhyung Kim
2021-06-30 18:47   ` Song Liu
2021-06-30 20:09     ` Namhyung Kim
2021-07-01 20:16       ` Namhyung Kim
2021-06-30 18:50   ` Arnaldo Carvalho de Melo
2021-06-30 20:12     ` Namhyung Kim
2021-07-01 13:43     ` Arnaldo Carvalho de Melo
2021-07-01 17:10       ` Namhyung Kim
2021-06-27 15:29 ` [PATCHSET v4 0/4] perf stat: Enable BPF counters " Namhyung Kim
2021-06-30  6:19   ` Namhyung Kim [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAM9d7cjopjKuLktX_kgEREbQdF5GmhuG9prKuBpP_=fkhfP05g@mail.gmail.com' \
    --to=namhyung@kernel.org \
    --cc=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=eranian@google.com \
    --cc=irogers@google.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=songliubraving@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.