1. 25 1月, 2020 1 次提交
  2. 24 1月, 2020 1 次提交
    • M
      qemu_capabilities: Rework domain caps cache · c7600931
      Michal Privoznik 提交于
      Since v5.6.0-48-g270583ed we try to cache domain capabilities,
      i.e. store filled virDomainCaps in a hash table in virQEMUCaps
      for future use. However, there's a race condition in the way it's
      implemented. We use virQEMUCapsGetDomainCapsCache() to obtain the
      pointer to the hash table, then we search the hash table for
      cached data and if none is found the domcaps is constructed and
      put into the table. Problem is that this is all done without any
      locking, so if there are two threads trying to do the same, one
      will succeed and the other will fail inserting the data into the
      table.
      
      Also, the API looks a bit fishy - obtaining pointer to the hash
      table is dangerous.
      
      The solution is to use a mutex that guards the whole operation
      with the hash table. Then, the API can be changes to return
      virDomainCapsPtr directly.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1791790Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      Reviewed-by: NPeter Krempa <pkrempa@redhat.com>
      c7600931
  3. 23 1月, 2020 1 次提交
  4. 16 1月, 2020 1 次提交
  5. 24 12月, 2019 1 次提交
  6. 17 12月, 2019 1 次提交
  7. 09 12月, 2019 3 次提交
  8. 03 12月, 2019 1 次提交
  9. 22 11月, 2019 2 次提交
  10. 21 11月, 2019 8 次提交
  11. 13 11月, 2019 1 次提交
  12. 07 11月, 2019 1 次提交
  13. 14 10月, 2019 1 次提交
  14. 10 10月, 2019 2 次提交
    • 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
    • J
      qemu: add ramfb capability · 9bfcf0f6
      Jonathon Jongsma 提交于
      Add a qemu capbility to see if the standalone ramfb device is available.
      Reviewed-by: NCole Robinson <crobinso@redhat.com>
      Signed-off-by: NJonathon Jongsma <jjongsma@redhat.com>
      9bfcf0f6
  15. 09 10月, 2019 1 次提交
  16. 07 10月, 2019 2 次提交
  17. 30 9月, 2019 1 次提交
  18. 25 9月, 2019 1 次提交
  19. 19 9月, 2019 1 次提交
  20. 06 9月, 2019 2 次提交
  21. 14 8月, 2019 1 次提交
  22. 07 8月, 2019 1 次提交
    • C
      qemu: conf: Cache domCaps in qemuCaps · 270583ed
      Cole Robinson 提交于
      qemuCaps is tied to a binary on disk. domCaps is tied to a combo
      of binary+machine+arch+virttype values. For the qemu driver this almost
      entirely translates to a permutation of qemuCaps though
      
      Upcoming patches want to use the domCaps data store at XML validate
      time, but we need to cache the data so we aren't repeatedly
      regenerating it.
      
      Add a domCapsCache hash table to qemuCaps. This ensures that the domCaps
      cache is blown away whenever qemuCaps needs to be regenerated. Similarly
      when qemuCaps is invalidated, the next call to virQEMUCapsCacheLookup
      will unref qemuCaps and free our cache as well.
      
      Adjust virQEMUDriverGetDomainCapabilities to search the cache and add
      to it if we don't find a hit.
      Signed-off-by: NCole Robinson <crobinso@redhat.com>
      Reviewed-by: NReviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      270583ed
  23. 15 7月, 2019 1 次提交
  24. 20 6月, 2019 4 次提交