All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: "Wangnan (F)" <wangnan0@huawei.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>,
	David Ahern <dsahern@gmail.com>, Jiri Olsa <jolsa@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: perf test BPF failing on 4.15.0-rc6
Date: Thu, 4 Jan 2018 12:39:34 -0300	[thread overview]
Message-ID: <20180104153934.GB14721@kernel.org> (raw)
In-Reply-To: <5cf517e8-b307-e1a2-daf9-9cf9f8d7e7d6@huawei.com>

Em Thu, Jan 04, 2018 at 09:37:35AM +0800, Wangnan (F) escreveu:
> 
> 
> On 2018/1/4 4:13, Arnaldo Carvalho de Melo wrote:
> > Em Wed, Jan 03, 2018 at 03:33:07PM -0300, Arnaldo Carvalho de Melo escreveu:
> > > Em Wed, Jan 03, 2018 at 03:27:01PM -0300, Arnaldo Carvalho de Melo escreveu:
> > > > > Continuing investigation...
> > > > After applying the fallback patch to allow new tools to work with older
> > > > kernels:
> > > > 
> > > > [root@felicio ~]# perf test bpf
> > > > 39: BPF filter                                            :
> > > > 39.1: Basic BPF filtering                                 : Ok
> > > > 39.2: BPF pinning                                         : Ok
> > > > 39.3: BPF prologue generation                             : Ok
> > > > 39.4: BPF relocation checker                              : Ok
> > > > [root@felicio ~]# uname -a
> > > > Linux felicio.ghostprotocols.net 4.13.0-rc7+ #1 SMP Mon Sep 11 13:56:18 -03 2017 x86_64 x86_64 x86_64 GNU/Linux
> > > > [root@felicio ~]# rpm -q glibc
> > > > glibc-2.17-157.el7_3.2.x86_64
> > > > [root@felicio ~]#
> > > > 
> > > > After applying the patch below I get to, which is what I am trying to
> > > > fix now:
> > > > 
> > > > [root@jouet ~]# perf test bpf
> > > > 39: BPF filter                                            :
> > > > 39.1: Basic BPF filtering                                 : Ok
> > > > 39.2: BPF pinning                                         : Ok
> > > > 39.3: BPF prologue generation                             : FAILED!
> > > > 39.4: BPF relocation checker                              : Skip
> > > > [root@jouet ~]#
> > > Update the patch to the one at the end of this message to make it work
> > > with older glibcs, so that we ask for epoll_pwait() and hook into that
> > > as well().
> > > 
> > > Now checking why 39.3 fails...
> > Couldn't reproduce after fixing up some kernel build problems, the patch
> > below is all I need to have this working with both Fedora 27 and RHEL7,
> > please take a look and see if it continues to work on your systems,
> 
> It works for me. Thank you.
> 
> Since we test epoll_pwait, we'd better correct function names:

Right, that wasn't strictly needed, so I tried to restrict my changes to
focus on the fix.

Now that we agree on it, I'm doing what you suggest, to make it less
confusing.

I'm adding your Tested-by, thanks!

- Arnaldo
 
> 
> diff --git a/tools/perf/tests/bpf-script-example.c
> b/tools/perf/tests/bpf-script-example.c
> index 268e5f8..e4123c1 100644
> --- a/tools/perf/tests/bpf-script-example.c
> +++ b/tools/perf/tests/bpf-script-example.c
> @@ -31,8 +31,8 @@ struct bpf_map_def SEC("maps") flip_table = {
>      .max_entries = 1,
>  };
> 
> -SEC("func=SyS_epoll_wait")
> -int bpf_func__SyS_epoll_wait(void *ctx)
> +SEC("func=SyS_epoll_pwait")
> +int bpf_func__SyS_epoll_pwait(void *ctx)
>  {
>      int ind =0;
>      int *flag = bpf_map_lookup_elem(&flip_table, &ind);
> diff --git a/tools/perf/tests/bpf.c b/tools/perf/tests/bpf.c
> index 34c22cd..a8f9095 100644
> --- a/tools/perf/tests/bpf.c
> +++ b/tools/perf/tests/bpf.c
> @@ -19,13 +19,13 @@
> 
>  #ifdef HAVE_LIBBPF_SUPPORT
> 
> -static int epoll_wait_loop(void)
> +static int epoll_pwait_loop(void)
>  {
>      int i;
> 
>      /* Should fail NR_ITERS times */
>      for (i = 0; i < NR_ITERS; i++)
> -        epoll_wait(-(i + 1), NULL, 0, 0);
> +        epoll_pwait(-(i + 1), NULL, 0, 0, NULL);
>      return 0;
>  }
> 
> @@ -68,7 +68,7 @@ static struct {
>          "[basic_bpf_test]",
>          "fix 'perf test LLVM' first",
>          "load bpf object failed",
> -        &epoll_wait_loop,
> +        &epoll_pwait_loop,
>          (NR_ITERS + 1) / 2,
>          false,
>      },
> @@ -78,7 +78,7 @@ static struct {
>          "[bpf_pinning]",
>          "fix kbuild first",
>          "check your vmlinux setting?",
> -        &epoll_wait_loop,
> +        &epoll_pwait_loop,
>          (NR_ITERS + 1) / 2,
>          true,
>      },
> 
> 

      reply	other threads:[~2018-01-04 15:39 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-02 18:59 perf test BPF failing on 4.15.0-rc6 Arnaldo Carvalho de Melo
2018-01-03  4:42 ` Wangnan (F)
2018-01-03  4:58   ` Wangnan (F)
2018-01-03 16:58     ` Arnaldo Carvalho de Melo
2018-01-03 18:27       ` Arnaldo Carvalho de Melo
2018-01-03 18:33         ` Arnaldo Carvalho de Melo
2018-01-03 20:13           ` Arnaldo Carvalho de Melo
2018-01-04  1:37             ` Wangnan (F)
2018-01-04 15:39               ` Arnaldo Carvalho de Melo [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=20180104153934.GB14721@kernel.org \
    --to=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=dsahern@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=namhyung@kernel.org \
    --cc=wangnan0@huawei.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.