Re: [RESEND PATCH 0/5] perf core: Support overwrite ring buffer

From: Jiri Olsa
Date: Tue Mar 08 2016 - 14:57:02 EST


On Tue, Mar 08, 2016 at 02:57:59PM +0100, Peter Zijlstra wrote:
> On Tue, Mar 08, 2016 at 02:49:01PM +0100, Ingo Molnar wrote:
> >
> > * Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> >
> > > On Mon, Mar 07, 2016 at 03:50:14AM +0000, Wang Nan wrote:
> > > > This patch set has been posted multiple times (with and without
> > > > corresponding 'perf tool' patches), and doesn't receive further
> > > > comment. I think it should be okay to merge them into mainline.
> > > > There are many perf's improvement depend on it. However, Peter
> > > > is not responsive after I fixed some problems he pointed out.
> > > >
> > > > Introduces 'write_backward' into perf_event_attr, allows kernel
> > > > writing the ring buffer from the end of it. This feature allows
> > > > extracting data from overwritable ring buffer.
> > > >
> > > > Wang Nan (5):
> > > > perf core: Introduce new ioctl options to pause and resume ring buffer
> > > > perf core: Set event's default overflow_handler
> > > > perf core: Prepare writing into ring buffer from end
> > > > perf core: Add backward attribute to perf event
> > > > perf core: Reduce perf event output overhead by new overflow handler
> > >
> > > perf kernel features are currently on hold until I can manage to run a
> > > fuzzer for more than a few minutes without my machine having a seizure.
> >
> > Btw., could you describe exactly what commands you are running, with what
> > configuration options (if that matters), so that people who'd like our feature
> > freeze to be lifted can help out?
>
> Mostly syz-kaller, but also Vince's perf-fuzzer and your perf-stress
> script, which I'm not sure is publicly available.
>
> perf_fuzzer lives at:
>
> https://github.com/deater/perf_event_tests.git
>
> Here's a thread on syz-kaller:
>
> lkml.kernel.org/r/CACT4Y+Ym0TZLkmRrM0ZGgLpu8kqS-YjoWTMrvaLz=tx2tnyO3w@xxxxxxxxxxxxxx
>
> If things have shifted again I'm sure Dmitry is willing to help.
>
> I run the thing natively on actual real hardware, which ensure I get to
> test the PMU drivers too.
>
> # cat go-fuzz.sh
> #!/bin/bash
>
> echo 1 > /proc/sys/kernel/traceoff_on_warning
> echo 1 > /debug/tracing/options/stacktrace
> echo 1 > /debug/tracing/events/sched/enable

are you running this under root?

jirka

> cd gopath/src/github.com/google/syzkaller/
> ./bin/syz-manager -config perf.cfg
>
> # cat gopath/src/github.com/google/syzkaller/perf.cfg
>
> {
> "http": "localhost:50000",
> "workdir": "/root/gopath/src/github.com/google/syzkaller/workdir",
> "syzkaller": "/root/gopath/src/github.com/google/syzkaller",
> "vmlinux": "-",
> "type": "local",
> "count": 1,
> "procs": 160,
> "cover": false,
> "dropprivs": false,
> "enable_syscalls": [
> "getpid",
> "gettid",
> "perf_event_open",
> "ioctl$PERF*",
> "prctl$void",
> "bpf$*",
> "sched_yield"
> ]
> }