[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 10 Oct 2015 11:05:46 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Andy Lutomirski <luto@...capital.net>
Cc: Andy Lutomirski <luto@...nel.org>, X86 ML <x86@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Brian Gerst <brgerst@...il.com>,
Denys Vlasenko <dvlasenk@...hat.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Borislav Petkov <bp@...en8.de>,
Arnaldo Carvalho de Melo <acme@...radead.org>,
Jiri Olsa <jolsa@...hat.com>
Subject: Re: [PATCH v2 32/36] x86/entry: Micro-optimize compat fast syscall
arg fetch
* Andy Lutomirski <luto@...capital.net> wrote:
> On Fri, Oct 9, 2015 at 12:32 AM, Ingo Molnar <mingo@...nel.org> wrote:
> >
> > * Andy Lutomirski <luto@...nel.org> wrote:
> >
> >> we're following a 32-bit pointer, and the uaccess code isn't smart
> >> enough to figure out that the access_ok check isn't needed.
> >>
> >> This saves about three cycles on a cache-hot fast syscall.
> >
> > Another request: could you please stick the benchmarking code of the various x86
> > system call variants into 'perf bench' - under tools/perf/bench/, so that
> > measurements can be done on more hardware and can be reproduced easily?
> >
> > I'd suggest we dedicate an entirely new benchmark family to it: 'perf bench x86'
> > and then have:
> >
> > perf bench x86 syscall vdso
> > perf bench x86 syscall int80
> > perf bench x86 syscall vdso-compat
>
> I'll play with this. I'm not too familiar with the perf bench stuff.
So the perf bench stuff is meant to be a familiar home to kernel developers we'd
like to slap a micro (or macro) benchmark into an easy to modify place.
Over the years it has gathered a number of benchmarks - but more are always
welcome.
Just copy one of the existing benchmark modules (the tools/perf/bench/numa.c one
is the most advanced one, tools/perf/bench/sched-pipe.c is the simplest one) and
off you go.
Here's a commit that adds a new benchmark suite:
a043971141f1 ("perf bench: Add futex-hash microbenchmark")
There are no big restrictions on the benchmarks: just put your existing code in
that produces stdout output and it will be likely very close to upstream
acceptable.
Can help should you get stuck anywhere.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists