1. 10 Jul, 2016 1 commit
    • Paolo Bonzini's avatar
      x86/entry: Avoid interrupt flag save and restore · 2e9d1e15
      Paolo Bonzini authored
      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);
          }
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: default avatarRik van Riel <riel@redhat.com>
      Reviewed-by: default avatarAndy Lutomirski <luto@kernel.org>
      Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: kvm@vger.kernel.org
      Link: http://lkml.kernel.org/r/1466434712-31440-2-git-send-email-pbonzini@redhat.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      2e9d1e15
  2. 09 Jul, 2016 2 commits
  3. 08 Jul, 2016 20 commits
  4. 07 Jul, 2016 11 commits
  5. 06 Jul, 2016 6 commits