1. 14 10月, 2019 1 次提交
    • D
      build: link to glib library · cfbe9f12
      Daniel P. Berrangé 提交于
      Add the main glib.h to internal.h so that all common code can use it.
      
      Historically glib allowed applications to register an alternative
      memory allocator, so mixing g_malloc/g_free with malloc/free was not
      safe.
      
      This was feature was dropped in 2.46.0 with:
      
            commit 3be6ed60aa58095691bd697344765e715a327fc1
            Author: Alexander Larsson <alexl@redhat.com>
            Date:   Sat Jun 27 18:38:42 2015 +0200
      
              Deprecate and drop support for memory vtables
      
      Applications are still encourged to match g_malloc/g_free, but it is no
      longer a mandatory requirement for correctness, just stylistic. This is
      explicitly clarified in
      
          commit 1f24b36607bf708f037396014b2cdbc08d67b275
          Author: Daniel P. Berrangé <berrange@redhat.com>
          Date:   Thu Sep 5 14:37:54 2019 +0100
      
              gmem: clarify that g_malloc always uses the system allocator
      
      Applications can still use custom allocators in general, but they must
      do this by linking to a library that replaces the core malloc/free
      implemenentation entirely, instead of via a glib specific call.
      
      This means that libvirt does not need to be concerned about use of
      g_malloc/g_free causing an ABI change in the public libary, and can
      avoid memory copying when talking to external libraries.
      
      This patch probes for glib, which provides the foundation layer with
      a collection of data structures, helper APIs, and platform portability
      logic.
      
      Later patches will introduce linkage to gobject which provides the
      object type system, built on glib, and gio which providing objects
      for various interesting tasks, most notably including DBus client
      and server support and portable sockets APIs, but much more too.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      cfbe9f12
  2. 12 10月, 2019 29 次提交
  3. 11 10月, 2019 7 次提交
  4. 10 10月, 2019 3 次提交
    • M
      qemu_process: Initialize domain definition for QMP query · b626e652
      Michal Privoznik 提交于
      When constructing QMP capabilities we allocate a dummy domain
      object to pass to qemuMonitorOpen(). However, after 75dd5958
      the function also expects domain definition to be allocated for
      the domain object. The referenced commit already fixed
      qemumonitortestutils.c but forgot to fix the other caller:
      qemuProcessQMPConnectMonitor().
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      b626e652
    • D
      qemu: Implement the ccf-assist pSeries feature · cab3ea23
      Daniel Henrique Barboza 提交于
      This patch adds the implementation of the ccf-assist pSeries
      feature, based on the QEMU_CAPS_MACHINE_PSERIES_CAP_CCF_ASSIST
      capability that was added in the previous patch.
      Reviewed-by: NCole Robinson <crobinso@redhat.com>
      Signed-off-by: NDaniel Henrique Barboza <danielhb413@gmail.com>
      cab3ea23
    • D
      qemu: Add capability for the ccf-assist pSeries feature · 86a8e5a8
      Daniel Henrique Barboza 提交于
      Linux kernel 5.1 added a new PPC KVM capability named
      KVM_PPC_CPU_CHAR_BCCTR_FLUSH_ASSIST, which is exposed to the QEMU guest
      since QEMU commit 8ff43ee404d under a new sPAPR capability called
      SPAPR_CAP_CCF_ASSIST. This cap indicates whether the processor supports
      hardware acceleration for the count cache flush workaround, which
      is a software workaround that flushes the count cache on context
      switch. If the processor has this hardware acceleration, the software
      flush can be shortened, resulting in performance gain.
      
      This hardware acceleration is defaulted to 'off' in QEMU. The reason
      is that earlier versions of the Power 9 processor didn't support
      it (it is available on Power 9 DD2.3 and newer), and defaulting this
      option to 'on' would break migration compatibility between the Power 9
      processor class.
      
      However, the user running a P9 DD2.3+ hypervisor might want to create
      guests with ccf-assist=on, accepting the downside of only being able
      to migrate them only between other P9 DD2.3+ hosts running upstream
      kernel 5.1+, to get a performance boost.
      
      This patch adds this new capability to Libvirt, with the name of
      QEMU_CAPS_MACHINE_PSERIES_CAP_CCF_ASSIST.
      Reviewed-by: NCole Robinson <crobinso@redhat.com>
      Signed-off-by: NDaniel Henrique Barboza <danielhb413@gmail.com>
      86a8e5a8