1. 20 6月, 2016 2 次提交
  2. 17 6月, 2016 2 次提交
    • C
      target-i386: kvm: cache KVM_GET_SUPPORTED_CPUID data · 494e95e9
      Chao Peng 提交于
      KVM_GET_SUPPORTED_CPUID ioctl is called frequently when initializing
      CPU. Depends on CPU features and CPU count, the number of calls can be
      extremely high which slows down QEMU booting significantly. In our
      testing, we saw 5922 calls with switches:
      
          -cpu SandyBridge -smp 6,sockets=6,cores=1,threads=1
      
      This ioctl takes more than 100ms, which is almost half of the total
      QEMU startup time.
      
      While for most cases the data returned from two different invocations
      are not changed, that means, we can cache the data to avoid trapping
      into kernel for the second time. To make sure the cache safe one
      assumption is desirable: the ioctl is stateless. This is not true for
      CPUID leaves in general (such as CPUID leaf 0xD, whose value depends
      on guest XCR0 and IA32_XSS) but it is true of KVM_GET_SUPPORTED_CPUID,
      which runs before there is a value for XCR0 and IA32_XSS.
      Signed-off-by: NChao Peng <chao.p.peng@linux.intel.com>
      Message-Id: <1465784487-23482-1-git-send-email-chao.p.peng@linux.intel.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      494e95e9
    • P
      os-posix: include sys/mman.h · 02d0e095
      Paolo Bonzini 提交于
      qemu/osdep.h checks whether MAP_ANONYMOUS is defined, but this check
      is bogus without a previous inclusion of sys/mman.h.  Include it in
      sysemu/os-posix.h and remove it from everywhere else.
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      02d0e095
  3. 15 6月, 2016 8 次提交
  4. 09 6月, 2016 3 次提交
  5. 06 6月, 2016 1 次提交
  6. 29 5月, 2016 1 次提交
  7. 24 5月, 2016 13 次提交
  8. 23 5月, 2016 1 次提交
    • P
      target-i386: key sfence availability on CPUID_SSE, not CPUID_SSE2 · 14cb949a
      Paolo Bonzini 提交于
      sfence was introduced before lfence and mfence.  This fixes Linux
      2.4's measurement of checksumming speeds for the pIII_sse
      algorithm:
      
      md: linear personality registered as nr 1
      md: raid0 personality registered as nr 2
      md: raid1 personality registered as nr 3
      md: raid5 personality registered as nr 4
      raid5: measuring checksumming speed
         8regs     :   384.400 MB/sec
         32regs    :   259.200 MB/sec
      invalid operand: 0000
      CPU:    0
      EIP:    0010:[<c0240b2a>]    Not tainted
      EFLAGS: 00000246
      eax: c15d8000   ebx: 00000000   ecx: 00000000   edx: c15d5000
      esi: 8005003b   edi: 00000004   ebp: 00000000   esp: c15bdf50
      ds: 0018   es: 0018   ss: 0018
      Process swapper (pid: 1, stackpage=c15bd000)
      Stack: 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000
             00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000
             00000000 00000206 c0241c6c 00001000 c15d4000 c15d7000 c15d4000
      c15d4000
      Call Trace:    [<c0241c6c>] [<c0105000>] [<c0241db4>] [<c010503b>]
      [<c0105000>]
        [<c0107416>] [<c0105030>]
      
      Code: 0f ae f8 0f 10 04 24 0f 10 4c 24 10 0f 10 54 24 20 0f 10 5c
       <0>Kernel panic: Attempted to kill init!
      Reported-by: NStefan Weil <sw@weilnetz.de>
      Fixes: 121f3157
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      14cb949a
  9. 19 5月, 2016 7 次提交
  10. 18 5月, 2016 1 次提交
  11. 13 5月, 2016 1 次提交