Messages in this thread | | | Subject | Re: [PATCH 1/2] x86/entry: Avoid interrupt flag save and restore | From | Rik van Riel <> | Date | Mon, 20 Jun 2016 16:21:55 -0400 |
| |
On Mon, 2016-06-20 at 16:58 +0200, Paolo Bonzini wrote: > Thanks to all the work that was done by Andy Lutomirski and others, > enter_from_user_mode and prepare_exit_to_usermode are now called only > with > interrupts disabled. Let's provide them a version of > user_enter/user_exit > that skips saving and restoring the interrupt flag. > > On an AMD-based machine I tested this patch on, with force-enabled > context tracking, the speed-up in system calls was 90 clock cycles or > 6%, > measured with the following simple benchmark: > > #include <sys/signal.h> > #include <time.h> > #include <unistd.h> > #include <stdio.h> > > unsigned long rdtsc() > { > unsigned long result; > asm volatile("rdtsc; shl $32, %%rdx; mov %%eax, %%eax\n" > "or %%rdx, %%rax" : "=a" (result) : : "rdx"); > return result; > } > > int main() > { > unsigned long tsc1, tsc2; > int pid = getpid(); > int i; > > tsc1 = rdtsc(); > for (i = 0; i < 100000000; i++) > kill(pid, SIGWINCH); > tsc2 = rdtsc(); > > printf("%ld\n", tsc2 - tsc1); > } > > Cc: Andy Lutomirski <luto@kernel.org> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Rik van Riel <riel@redhat.com> > Cc: H. Peter Anvin <hpa@zytor.com> > Cc: Ingo Molnar <mingo@kernel.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > Reviewed-by: Rik van Riel <riel@redhat.com>
-- All Rights Reversed.
[unhandled content-type:application/pgp-signature] | |