1. 24 2月, 2017 3 次提交
  2. 14 9月, 2016 1 次提交
  3. 14 7月, 2016 1 次提交
    • V
      target-arm: Use Neon for zero checking · 7069532e
      Vijay 提交于
      Use Neon instructions to perform zero checking of
      buffer. This is helps in reducing total migration time.
      
      Use case: Idle VM live migration with 4 VCPUS and 8GB ram
      running CentOS 7.
      
      Without Neon, the Total migration time is 3.5 Sec
      
      Migration status: completed
      total time: 3560 milliseconds
      downtime: 33 milliseconds
      setup: 5 milliseconds
      transferred ram: 297907 kbytes
      throughput: 685.76 mbps
      remaining ram: 0 kbytes
      total ram: 8519872 kbytes
      duplicate: 2062760 pages
      skipped: 0 pages
      normal: 69808 pages
      normal bytes: 279232 kbytes
      dirty sync count: 3
      
      With Neon, the total migration time is 2.9 Sec
      
      Migration status: completed
      total time: 2960 milliseconds
      downtime: 65 milliseconds
      setup: 4 milliseconds
      transferred ram: 299869 kbytes
      throughput: 830.19 mbps
      remaining ram: 0 kbytes
      total ram: 8519872 kbytes
      duplicate: 2064313 pages
      skipped: 0 pages
      normal: 70294 pages
      normal bytes: 281176 kbytes
      dirty sync count: 3
      Signed-off-by: NVijaya Kumar K <vijayak@cavium.com>
      Signed-off-by: NSuresh <ksuresh@cavium.com>
      Acked-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1467190029-694-2-git-send-email-vijayak@cavium.com
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      7069532e
  4. 17 6月, 2016 1 次提交
  5. 23 3月, 2016 1 次提交
  6. 08 3月, 2016 1 次提交
    • L
      cutils: add avx2 instruction optimization · 28b90d9c
      Liang Li 提交于
      buffer_find_nonzero_offset() is a hot function during live migration.
      Now it use SSE2 instructions for optimization. For platform supports
      AVX2 instructions, use AVX2 instructions for optimization can help
      to improve the performance of buffer_find_nonzero_offset() about 30%
      comparing to SSE2.
      
      Live migration can be faster with this optimization, the test result
      shows that for an 8GiB RAM idle guest just boots, this patch can help
      to shorten the total live migration time about 6%.
      
      This patch use the ifunc mechanism to select the proper function when
      running, for platform supports AVX2, execute the AVX2 instructions,
      else, execute the original instructions.
      Signed-off-by: NLiang Li <liang.z.li@intel.com>
      Suggested-by: NPaolo Bonzini <pbonzini@redhat.com>
      Suggested-by: NRichard Henderson <rth@twiddle.net>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-Id: <1457416397-26671-3-git-send-email-liang.z.li@intel.com>
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      28b90d9c
  7. 05 2月, 2016 1 次提交
    • P
      util: Clean up includes · aafd7584
      Peter Maydell 提交于
      Clean up includes so that osdep.h is included first and headers
      which it implies are not included manually.
      
      This commit was created with scripts/clean-includes.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1454089805-5470-6-git-send-email-peter.maydell@linaro.org
      aafd7584
  8. 25 9月, 2015 1 次提交
  9. 10 9月, 2015 1 次提交
  10. 09 9月, 2015 4 次提交
  11. 07 9月, 2015 2 次提交
  12. 26 6月, 2015 1 次提交
  13. 10 3月, 2015 1 次提交
  14. 03 3月, 2015 1 次提交
  15. 09 5月, 2014 1 次提交
  16. 27 3月, 2014 1 次提交
  17. 06 6月, 2013 2 次提交
  18. 24 4月, 2013 1 次提交
  19. 26 3月, 2013 2 次提交
  20. 05 2月, 2013 1 次提交
    • E
      cutils: unsigned int parsing functions · e3f9fe2d
      Eduardo Habkost 提交于
      There are lots of duplicate parsing code using strto*() in QEMU, and
      most of that code is broken in one way or another. Even the visitors
      code have duplicate integer parsing code[1]. This introduces functions
      to help parsing unsigned int values: parse_uint() and parse_uint_full().
      
      Parsing functions for signed ints and floats will be submitted later.
      
      parse_uint_full() has all the checks made by opts_type_uint64() at
      opts-visitor.c:
      
       - Check for NULL (returns -EINVAL)
       - Check for negative numbers (returns -EINVAL)
       - Check for empty string (returns -EINVAL)
       - Check for overflow or other errno values set by strtoll() (returns
         -errno)
       - Check for end of string (reject invalid characters after number)
         (returns -EINVAL)
      
      parse_uint() does everything above except checking for the end of the
      string, so callers can continue parsing the remainder of string after
      the number.
      
      Unit tests included.
      
      [1] string-input-visitor.c:parse_int() could use the same parsing code
          used by opts-visitor.c:opts_type_int(), instead of duplicating that
          logic.
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      e3f9fe2d
  21. 13 1月, 2013 1 次提交
  22. 02 1月, 2013 1 次提交
  23. 19 12月, 2012 1 次提交
  24. 30 10月, 2012 2 次提交
  25. 05 10月, 2012 1 次提交
  26. 15 8月, 2012 1 次提交
  27. 08 8月, 2012 2 次提交
  28. 26 7月, 2012 1 次提交
  29. 12 6月, 2012 2 次提交
    • M
      rewrite iov_send_recv() and move it to iov.c · 25e5e4c7
      Michael Tokarev 提交于
      Make it much more understandable, add a missing
      iov_cnt argument (number of iovs in the iov), and
      add comments to it.
      
      The new implementation has been extensively tested
      by splitting a large buffer into many small
      randomly-sized chunks, sending it over socket to
      another, slow process and verifying the receiving
      data is the same.
      
      Also add a unit test for iov_send_recv(), sending/
      receiving data between two processes over a socketpair
      using random vectors and random sizes.
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      25e5e4c7
    • M
      export iov_send_recv() and use it in iov_send() and iov_recv() · e3e87df4
      Michael Tokarev 提交于
      Rename do_sendv_recvv() to iov_send_recv(), change its last arg
      (do_send) from int to bool, export it in iov.h, and made the two
      callers of it (iov_send() and iov_recv()) to be trivial #defines
      just adding 5th arg.
      
      iov_send_recv() will be used later.
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      e3e87df4