Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1462553

Re: [PATCH v3 0/7] x86: Rewrite switch_to()

From Ingo Molnar <mingo@kernel.org>
Newsgroups linux.kernel
Subject Re: [PATCH v3 0/7] x86: Rewrite switch_to()
Date 2016-08-15 07:20 +0200
Message-ID <s6itz-1kI-9@gated-at.bofh.it> (permalink)
References <s5K8x-3J2-9@gated-at.bofh.it> <s5KLg-4dd-17@gated-at.bofh.it> <s5YXU-5oj-29@gated-at.bofh.it> <s5YXU-5oj-27@gated-at.bofh.it> <s64qB-IV-19@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


* Brian Gerst <brgerst@gmail.com> wrote:

> > Something like this:
> >
> >   taskset 1 perf stat -a -e '{instructions,cycles}' --repeat 10 perf bench sched pipe
> >
> > ... will give a very good idea about the general impact of these changes on
> > context switch overhead.
> 
> Before:
>  Performance counter stats for 'system wide' (10 runs):
> 
>     12,010,932,128      instructions              #    1.03  insn per
> cycle                                              ( +-  0.31% )
>     11,691,797,513      cycles
>                ( +-  0.76% )
> 
>        3.487329979 seconds time elapsed
>           ( +-  0.78% )
> 
> After:
>  Performance counter stats for 'system wide' (10 runs):
> 
>     12,097,706,506      instructions              #    1.04  insn per
> cycle                                              ( +-  0.14% )
>     11,612,167,742      cycles
>                ( +-  0.81% )
> 
>        3.451278789 seconds time elapsed
>           ( +-  0.82% )
> 
> The numbers with or without this patch series are roughly the same.
> There is noticeable variation in the numbers each time I run it, so
> I'm not sure how good of a benchmark this is.

Weird, I get an order of magnitude lower noise:

 triton:~/tip> taskset 1 perf stat -a -e '{instructions,cycles}' --repeat 10 perf bench sched pipe >/dev/null

 Performance counter stats for 'system wide' (10 runs):

    11,503,026,062      instructions              #    1.23  insn per cycle                                              ( +-  2.64% )
     9,377,410,613      cycles                                                        ( +-  2.05% )

       1.669425407 seconds time elapsed                                          ( +-  0.12% )

But note that I also had '--sync' for perf stat and did a >/dev/null at the end to 
make sure no terminal output and subsequent Xorg activities interfere. Also, full 
screen terminal.

Maybe try 'taskset 4' as well to put the workload on another CPU, if the first CPU 
is busier than the others?

(Any Hyperthreading on your test system?)

Thanks,

	Ingo

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v3 0/7] x86: Rewrite switch_to() Brian Gerst <brgerst@gmail.com> - 2016-08-13 18:40 +0200
  [PATCH v3 1/7] x86-32, kgdb: Don't use thread.ip in sleeping_thread_to_gdb_regs() Brian Gerst <brgerst@gmail.com> - 2016-08-13 18:40 +0200
    [tip:x86/asm] sched/x86/32, kgdb: Don't use thread.ip in  sleeping_thread_to_gdb_regs() tip-bot for Brian Gerst <tipbot@zytor.com> - 2016-08-24 15:50 +0200
  [PATCH v3 7/7] Revert "sched: Mark __schedule() stack frame as non-standard" Brian Gerst <brgerst@gmail.com> - 2016-08-13 18:40 +0200
    [tip:x86/asm] sched: Remove __schedule() non-standard frame  annotation tip-bot for Brian Gerst <tipbot@zytor.com> - 2016-08-24 15:50 +0200
  [PATCH v3 2/7] x86-64, kgdb: clear GDB_PS on 64-bit Brian Gerst <brgerst@gmail.com> - 2016-08-13 18:40 +0200
    [tip:x86/asm] sched/x86/64, kgdb: Clear GDB_PS on 64-bit tip-bot for Brian Gerst <tipbot@zytor.com> - 2016-08-24 15:50 +0200
  [PATCH v3 3/7] x86: Add struct inactive_task_frame Brian Gerst <brgerst@gmail.com> - 2016-08-13 18:40 +0200
    [tip:x86/asm] sched/x86: Add 'struct inactive_task_frame' to better  document the sleeping task stack frame tip-bot for Brian Gerst <tipbot@zytor.com> - 2016-08-24 15:20 +0200
  [PATCH v3 4/7] x86: Rewrite switch_to() code Brian Gerst <brgerst@gmail.com> - 2016-08-13 18:50 +0200
    [tip:x86/asm] sched/x86: Rewrite the switch_to() code tip-bot for Brian Gerst <tipbot@zytor.com> - 2016-08-24 15:20 +0200
  [PATCH v3 6/7] x86: Fix thread_saved_pc() Brian Gerst <brgerst@gmail.com> - 2016-08-13 18:50 +0200
    [tip:x86/asm] sched/x86: Fix thread_saved_pc() tip-bot for Brian Gerst <tipbot@zytor.com> - 2016-08-24 15:20 +0200
  Re: [PATCH v3 0/7] x86: Rewrite switch_to() Linus Torvalds <torvalds@linux-foundation.org> - 2016-08-13 19:20 +0200
    Re: [PATCH v3 0/7] x86: Rewrite switch_to() Ingo Molnar <mingo@kernel.org> - 2016-08-14 10:30 +0200
      Re: [PATCH v3 0/7] x86: Rewrite switch_to() Andy Lutomirski <luto@amacapital.net> - 2016-08-14 13:20 +0200
        Re: [PATCH v3 0/7] x86: Rewrite switch_to() Herbert Xu <herbert@gondor.apana.org.au> - 2016-08-17 07:20 +0200
      Re: [PATCH v3 0/7] x86: Rewrite switch_to() Brian Gerst <brgerst@gmail.com> - 2016-08-14 16:20 +0200
        Re: [PATCH v3 0/7] x86: Rewrite switch_to() Ingo Molnar <mingo@kernel.org> - 2016-08-15 07:20 +0200
          Re: [PATCH v3 0/7] x86: Rewrite switch_to() Brian Gerst <brgerst@gmail.com> - 2016-08-15 13:50 +0200
          Re: [PATCH v3 0/7] x86: Rewrite switch_to() Andy Lutomirski <luto@amacapital.net> - 2016-08-17 23:30 +0200
    Re: [PATCH v3 0/7] x86: Rewrite switch_to() Brian Gerst <brgerst@gmail.com> - 2016-08-14 12:30 +0200
  Re: [PATCH v3 0/7] x86: Rewrite switch_to() Josh Poimboeuf <jpoimboe@redhat.com> - 2016-08-17 23:30 +0200

csiph-web