1. 17 1月, 2017 1 次提交
  2. 09 1月, 2017 1 次提交
  3. 22 12月, 2016 2 次提交
  4. 30 11月, 2016 1 次提交
  5. 29 11月, 2016 1 次提交
  6. 22 11月, 2016 1 次提交
  7. 10 11月, 2016 1 次提交
    • S
      Fix cursesw detection · 7c703002
      Samuel Thibault 提交于
      On systems which do not provide ncursesw.pc and whose /usr/include/curses.h
      does not include wide support, we should not only try with no -I, i.e.
      /usr/include, but also with -I/usr/include/ncursesw.
      
      To properly detect for wide support with and without -Werror, we need to
      check for the presence of e.g. the WACS_DEGREE macro.
      
      We also want to stop at the first curses_inc_list configuration which works,
      and make sure to set IFS to : at each new loop.
      Signed-off-by: NSamuel Thibault <samuel.thibault@ens-lyon.org>
      Tested-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      Message-id: 20161109102752.13255-1-samuel.thibault@ens-lyon.org
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      7c703002
  8. 01 11月, 2016 1 次提交
    • S
      sockets: add AF_VSOCK support · 6a02c806
      Stefan Hajnoczi 提交于
      Add the AF_VSOCK address family so that qemu-ga will be able to use
      virtio-vsock.
      
      The AF_VSOCK address family uses <cid, port> address tuples.  The cid is
      the unique identifier comparable to an IP address.  AF_VSOCK does not
      use name resolution so it's easy to convert between struct sockaddr_vm
      and strings.
      
      This patch defines a VsockSocketAddress instead of trying to piggy-back
      on InetSocketAddress.  This is cleaner in the long run since it avoids
      lots of IPv4 vs IPv6 vs vsock special casing.
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      * treat trailing commas as garbage when parsing (Eric Blake)
      * add configure check instead of checking AF_VSOCK directly
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      6a02c806
  9. 30 10月, 2016 1 次提交
  10. 28 10月, 2016 2 次提交
  11. 26 10月, 2016 2 次提交
  12. 21 10月, 2016 2 次提交
  13. 12 10月, 2016 1 次提交
  14. 29 9月, 2016 1 次提交
  15. 28 9月, 2016 1 次提交
  16. 27 9月, 2016 2 次提交
  17. 23 9月, 2016 2 次提交
  18. 21 9月, 2016 1 次提交
  19. 15 9月, 2016 2 次提交
    • E
      win32: don't run subprocess tests on Mingw32 platform · 7ad9339e
      Eduardo Habkost 提交于
      On Tue, Jun 14, 2016 at 04:44:57PM +0100, Daniel P. Berrange wrote:
      > The g_test_trap_subprocess() method does not work on the
      > Mingw32 platform, causing the test-qdev-global-props
      > test case to abort
      >
      > (test-logging.exe:230): GLib-ERROR **: g_test_trap_subprocess()
      > failed: Failed to execute helper program (No such file or directory)
      >
      > This failure was introduced a while ago in
      >
      >   commit 2177801a
      >   Author: Eduardo Habkost <ehabkost@redhat.com>
      >   Date:   Fri Aug 8 16:03:27 2014 -0300
      >
      >     test-qdev-global-props: Run tests on subprocess
      >
      > Modify the configure time check to avoid enabling this feature
      > on Mingw, rather than trying to rewrite the test to avoid this
      > feature.
      
      I would do the following instead, just in case we have extra code
      looking at $glib_subprocess one day.
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      7ad9339e
    • T
      Remove remainders of HPPA backend · d41f3c3c
      Thomas Huth 提交于
      The HPPA backend has been removed by the following commit:
      
          802b5081
          tcg-hppa: Remove tcg backend
      
      But some small pieces of the HPPA backend still survived until
      today. Since we also do not have support for a HPPA target in
      QEMU, we can nowadays safely remove the remaining HPPA parts
      (like the disassembler code, or the detection of HPPA in the
      configure script).
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      d41f3c3c
  20. 14 9月, 2016 1 次提交
  21. 13 9月, 2016 2 次提交
  22. 10 9月, 2016 1 次提交
  23. 06 9月, 2016 1 次提交
  24. 16 8月, 2016 1 次提交
    • P
      pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation · e57218b6
      Peter Maydell 提交于
      The various host OSes are irritatingly variable about the name
      of the linker emulation we need to pass to ld's -m option to
      build the i386 option ROMs. Instead of doing this via a
      CONFIG ifdef, check in configure whether any of the emulation
      names we know about will work and pass the right answer through
      to the makefile. If we can't find one, we fall back to not trying
      to build the option ROMs, in the same way we would for a non-x86
      host platform.
      
      This is in particular necessary to unbreak the build on OpenBSD,
      since it wants a different answer to FreeBSD and we don't have
      an existing CONFIG_ variable that distinguishes the two.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NSean Bruno <sbruno@freebsd.org>
      Message-id: 1470672688-6754-1-git-send-email-peter.maydell@linaro.org
      e57218b6
  25. 10 8月, 2016 1 次提交
    • P
      Disable warn about left shifts of negative values · 435405ac
      Pranith Kumar 提交于
      It seems like there's no good reason for the compiler to exploit the
      undefinedness of left shifts.  GCC explicitly documents that they do not
      use at all this possibility and, while they also say this is subject
      to change, they have been saying this for 10 years (since the wording
      appeared in the GCC 4.0 manual).
      
      Disable these warnings by passing in -Wno-shift-negative-value.
      
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Cc: Markus Armbruster <armbru@redhat.com>
      Cc: Laszlo Ersek <lersek@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      [pranith: forward-port part of patch to 2.7]
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      435405ac
  26. 29 7月, 2016 1 次提交
  27. 26 7月, 2016 2 次提交
    • M
      configure: mark qemu-ga VSS includes as system headers · 690604f6
      Michael Roth 提交于
      As of e4650c81, we do w32 builds with -Werror enabled. Unfortunately
      for cases where we enable VSS support in qemu-ga, we still have
      warnings generated by VSS includes that ship as part of the Microsoft
      VSS SDK.
      
      We can selectively address a number of these warnings using
      
        #pragma GCC diagnostic ignored ...
      
      but at least one of these:
      
        warning: ‘typedef’ was ignored in this declaration
      
      resulting from declarations of the form:
      
        typedef struct Blah { ... };
      
      does not provide a specific command-line/pragma option to disable
      warnings of the sort.
      
      To allow VSS builds to succeed, the next-best option is disabling
      these warnings on a per-file basis. pragmas like #pragma GCC
      system_header can be used to declare subsequent includes/declarations
      as being exempt from normal warnings, but this must be done within
      a header file.
      
      Since we don't control the VSS SDK, we'd need to rely on a
      intermediate header include to accomplish this, and
      since different objects in the VSS link target rely on different
      headers from the VSS SDK, this would become somewhat of a rat's nest
      (though not totally unmanageable).
      
      The next step up in granularity is just marking the entire VSS
      SDK include path as system headers via -isystem. This is a bit more
      heavy-handed, but since this SDK hasn't changed since 2005, there's
      likely little to be gained from selectively disabling warnings
      anyway, so we implement that approach here.
      
      This fixes the -Werror failures in both the configure test and the
      qga build due to shared reliance on $vss_win32_include. For the
      same reason, this also enforces a new dependency on -isystem support
      in the C/C++ compiler when building QGA with VSS enabled.
      
      Cc: Thomas Huth <thuth@redhat.com>
      Cc: Stefan Weil <sw@weilnetz.de>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      690604f6
    • M
      build-sys: link tests/data · fe31017f
      Marc-André Lureau 提交于
      Link a common tests data directory to the build directory.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      fe31017f
  28. 22 7月, 2016 1 次提交
    • D
      tests: introduce a framework for testing migration performance · 409437e1
      Daniel P. Berrange 提交于
      This introduces a moderately general purpose framework for
      testing performance of migration.
      
      The initial guest workload is provided by the included 'stress'
      program, which is configured to spawn one thread per guest CPU
      and run a maximally memory intensive workload. It will loop
      over GB of memory, xor'ing each byte with data from a 4k array
      of random bytes. This ensures heavy read and write load across
      all of guest memory to stress the migration performance. While
      running the 'stress' program will record how long it takes to
      xor each GB of memory and print this data for later reporting.
      
      The test engine will spawn a pair of QEMU processes, either on
      the same host, or with the target on a remote host via ssh,
      using the host kernel and a custom initrd built with 'stress'
      as the /init binary. Kernel command line args are set to ensure
      a fast kernel boot time (< 1 second) between launching QEMU and
      the stress program starting execution.
      
      None the less, the test engine will initially wait N seconds for
      the guest workload to stablize, before starting the migration
      operation. When migration is running, the engine will use pause,
      post-copy, autoconverge, xbzrle compression and multithread
      compression features, as well as downtime & bandwidth tuning
      to encourage completion. If migration completes, the test engine
      will wait N seconds again for the guest workooad to stablize on
      the target host. If migration does not complete after a preset
      number of iterations, it will be aborted.
      
      While the QEMU process is running on the source host, the test
      engine will sample the host CPU usage of QEMU as a whole, and
      each vCPU thread. While migration is running, it will record
      all the stats reported by 'query-migration'. Finally, it will
      capture the output of the stress program running in the guest.
      
      All the data produced from a single test execution is recorded
      in a structured JSON file. A separate program is then able to
      create interactive charts using the "plotly" python + javascript
      libraries, showing the characteristics of the migration.
      
      The data output provides visualization of the effect on guest
      vCPU workloads from the migration process, the corresponding
      vCPU utilization on the host, and the overall CPU hit from
      QEMU on the host. This is correlated from statistics from the
      migration process, such as downtime, vCPU throttling and iteration
      number.
      
      While the tests can be run individually with arbitrary parameters,
      there is also a facility for producing batch reports for a number
      of pre-defined scenarios / comparisons, in order to be able to
      get standardized results across different hardware configurations
      (eg TCP vs RDMA, or comparing different VCPU counts / memory
      sizes, etc).
      
      To use this, first you must build the initrd image
      
       $ make tests/migration/initrd-stress.img
      
      To run a a one-shot test with all default parameters
      
       $ ./tests/migration/guestperf.py > result.json
      
      This has many command line args for varying its behaviour.
      For example, to increase the RAM size and CPU count and
      bind it to specific host NUMA nodes
      
       $ ./tests/migration/guestperf.py \
             --mem 4 --cpus 2 \
             --src-mem-bind 0 --src-cpu-bind 0,1 \
             --dst-mem-bind 1 --dst-cpu-bind 2,3 \
             > result.json
      
      Using mem + cpu binding is strongly recommended on NUMA
      machines, otherwise the guest performance results will
      vary wildly between runs of the test due to lucky/unlucky
      NUMA placement, making sensible data analysis impossible.
      
      To make it run across separate hosts:
      
       $ ./tests/migration/guestperf.py \
             --dst-host somehostname > result.json
      
      To request that post-copy is enabled, with switchover
      after 5 iterations
      
       $ ./tests/migration/guestperf.py \
             --post-copy --post-copy-iters 5 > result.json
      
      Once a result.json file is created, a graph of the data
      can be generated, showing guest workload performance per
      thread and the migration iteration points:
      
       $ ./tests/migration/guestperf-plot.py --output result.html \
              --migration-iters --split-guest-cpu result.json
      
      To further include host vCPU utilization and overall QEMU
      utilization
      
       $ ./tests/migration/guestperf-plot.py --output result.html \
              --migration-iters --split-guest-cpu \
      	--qemu-cpu --vcpu-cpu result.json
      
      NB, the 'guestperf-plot.py' command requires that you have
      the plotly python library installed. eg you must do
      
       $ pip install --user  plotly
      
      Viewing the result.html file requires that you have the
      plotly.min.js file in the same directory as the HTML
      output. This js file is installed as part of the plotly
      python library, so can be found in
      
        $HOME/.local/lib/python2.7/site-packages/plotly/offline/plotly.min.js
      
      The guestperf-plot.py program can accept multiple json files
      to plot, enabling results from different configurations to
      be compared.
      
      Finally, to run the entire standardized set of comparisons
      
        $ ./tests/migration/guestperf-batch.py \
             --dst-host somehost \
             --mem 4 --cpus 2 \
             --src-mem-bind 0 --src-cpu-bind 0,1 \
             --dst-mem-bind 1 --dst-cpu-bind 2,3
             --output tcp-somehost-4gb-2cpu
      
      will store JSON files from all scenarios in the directory
      named tcp-somehost-4gb-2cpu
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-Id: <1469020993-29426-7-git-send-email-berrange@redhat.com>
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      409437e1
  29. 11 7月, 2016 1 次提交
  30. 06 7月, 2016 1 次提交
    • R
      build: Use $(CCAS) for compiling .S files · 5f6f0e27
      Richard Henderson 提交于
      We fail to pass to $(AS) all of the different flags that may be required
      for a given set of CFLAGS.  Rather than figuring out the host-specific
      mapping, it's better to allow the compiler driver to do that.
      
      However, simply using $(CC) runs afoul of clang trying to build the
      option roms.  C.f. 3dd46c78, wherein we changed from
      using $(CC) to using $(AS) in the first place.
      
      Work around this by passing -fno-integrated-as to clang, so that we use
      the external assembler, and the clang driver still passes along all of
      the options that the assembler might require.
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      Message-Id: <1466703558-7723-1-git-send-email-rth@twiddle.net>
      5f6f0e27
  31. 04 7月, 2016 1 次提交
    • D
      crypto: allow default TLS priority to be chosen at build time · a1c5e949
      Daniel P. Berrange 提交于
      Modern gnutls can use a global config file to control the
      crypto priority settings for TLS connections. For example
      the priority string "@SYSTEM" instructs gnutls to find the
      priority setting named "SYSTEM" in the global config file.
      
      Latest gnutls GIT codebase gained the ability to reference
      multiple priority strings in the config file, with the first
      one that is found to existing winning. This means it is now
      possible to configure QEMU out of the box with a default
      priority of "@QEMU,SYSTEM", which says to look for the
      settings "QEMU" first, and if not found, use the "SYSTEM"
      settings.
      
      To make use of this facility, we introduce the ability to
      set the QEMU default priority at build time via a new
      configure argument.  It is anticipated that distro vendors
      will set this when building QEMU to a suitable value for
      use with distro crypto policy setup. eg current Fedora
      would run
      
       ./configure --tls-priority=@SYSTEM
      
      while future Fedora would run
      
       ./configure --tls-priority=@QEMU,SYSTEM
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      a1c5e949