Re: [PATCH 1/6] system/cpus: rename qemu_mutex_lock_iothread() to qemu_bql_lock()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 29/11/2023 21:26, Stefan Hajnoczi wrote:
The Big QEMU Lock (BQL) has many names and they are confusing. The
actual QemuMutex variable is called qemu_global_mutex but it's commonly
referred to as the BQL in discussions and some code comments. The
locking APIs, however, are called qemu_mutex_lock_iothread() and
qemu_mutex_unlock_iothread().

The "iothread" name is historic and comes from when the main thread was
split into into KVM vcpu threads and the "iothread" (now called the main
loop thread). I have contributed to the confusion myself by introducing
a separate --object iothread, a separate concept unrelated to the BQL.

The "iothread" name is no longer appropriate for the BQL. Rename the
locking APIs to:
- void qemu_bql_lock(void)
- void qemu_bql_unlock(void)
- bool qemu_bql_locked(void)

There are more APIs with "iothread" in their names. Subsequent patches
will rename them. There are also comments and documentation that will be
updated in later patches.

Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
---
  include/block/aio-wait.h             |   2 +-
  include/qemu/main-loop.h             |  26 +++---
  accel/accel-blocker.c                |  10 +--
  accel/dummy-cpus.c                   |   8 +-
  accel/hvf/hvf-accel-ops.c            |   4 +-
  accel/kvm/kvm-accel-ops.c            |   4 +-
  accel/kvm/kvm-all.c                  |  22 ++---
  accel/tcg/cpu-exec.c                 |  26 +++---
  accel/tcg/cputlb.c                   |  16 ++--
  accel/tcg/tcg-accel-ops-icount.c     |   4 +-
  accel/tcg/tcg-accel-ops-mttcg.c      |  12 +--
  accel/tcg/tcg-accel-ops-rr.c         |  14 ++--
  accel/tcg/tcg-accel-ops.c            |   2 +-
  accel/tcg/translate-all.c            |   2 +-
  cpu-common.c                         |   4 +-
  dump/dump.c                          |   4 +-
  hw/core/cpu-common.c                 |   6 +-
  hw/i386/intel_iommu.c                |   6 +-
  hw/i386/kvm/xen_evtchn.c             |  16 ++--
  hw/i386/kvm/xen_overlay.c            |   2 +-
  hw/i386/kvm/xen_xenstore.c           |   2 +-
  hw/intc/arm_gicv3_cpuif.c            |   2 +-
  hw/intc/s390_flic.c                  |  18 ++--
  hw/misc/edu.c                        |   4 +-
  hw/misc/imx6_src.c                   |   2 +-
  hw/misc/imx7_src.c                   |   2 +-
  hw/net/xen_nic.c                     |   8 +-
  hw/ppc/pegasos2.c                    |   2 +-
  hw/ppc/ppc.c                         |   4 +-
  hw/ppc/spapr.c                       |   2 +-
  hw/ppc/spapr_rng.c                   |   4 +-
  hw/ppc/spapr_softmmu.c               |   4 +-
  hw/remote/mpqemu-link.c              |  12 +--
  hw/remote/vfio-user-obj.c            |   2 +-
  hw/s390x/s390-skeys.c                |   2 +-
  migration/block-dirty-bitmap.c       |   4 +-
  migration/block.c                    |  16 ++--
  migration/colo.c                     |  60 +++++++-------
  migration/dirtyrate.c                |  12 +--
  migration/migration.c                |  52 ++++++------
  migration/ram.c                      |  12 +--
  replay/replay-internal.c             |   2 +-
  semihosting/console.c                |   8 +-
  stubs/iothread-lock.c                |   6 +-
  system/cpu-throttle.c                |   4 +-
  system/cpus.c                        |  28 +++----
  system/dirtylimit.c                  |   4 +-
  system/memory.c                      |   2 +-
  system/physmem.c                     |   8 +-
  system/runstate.c                    |   2 +-
  system/watchpoint.c                  |   4 +-
  target/arm/arm-powerctl.c            |  14 ++--
  target/arm/helper.c                  |   4 +-
  target/arm/hvf/hvf.c                 |   8 +-
  target/arm/kvm.c                     |   4 +-
  target/arm/kvm64.c                   |   4 +-
  target/arm/ptw.c                     |   6 +-
  target/arm/tcg/helper-a64.c          |   8 +-
  target/arm/tcg/m_helper.c            |   4 +-
  target/arm/tcg/op_helper.c           |  24 +++---
  target/arm/tcg/psci.c                |   2 +-
  target/hppa/int_helper.c             |   8 +-
  target/i386/hvf/hvf.c                |   6 +-
  target/i386/kvm/hyperv.c             |   4 +-
  target/i386/kvm/kvm.c                |  28 +++----
  target/i386/kvm/xen-emu.c            |  14 ++--
  target/i386/nvmm/nvmm-accel-ops.c    |   4 +-
  target/i386/nvmm/nvmm-all.c          |  20 ++---
  target/i386/tcg/sysemu/fpu_helper.c  |   6 +-
  target/i386/tcg/sysemu/misc_helper.c |   4 +-
  target/i386/whpx/whpx-accel-ops.c    |   4 +-
  target/i386/whpx/whpx-all.c          |  24 +++---
  target/loongarch/csr_helper.c        |   4 +-
  target/mips/kvm.c                    |   4 +-
  target/mips/tcg/sysemu/cp0_helper.c  |   4 +-
  target/openrisc/sys_helper.c         |  16 ++--
  target/ppc/excp_helper.c             |  12 +--
  target/ppc/kvm.c                     |   4 +-
  target/ppc/misc_helper.c             |   8 +-
  target/ppc/timebase_helper.c         |   8 +-
  target/s390x/kvm/kvm.c               |   4 +-
  target/s390x/tcg/misc_helper.c       | 118 +++++++++++++--------------
  target/sparc/int32_helper.c          |   2 +-
  target/sparc/int64_helper.c          |   6 +-
  target/sparc/win_helper.c            |  20 ++---
  target/xtensa/exc_helper.c           |   8 +-
  ui/spice-core.c                      |   4 +-
  util/async.c                         |   2 +-
  util/main-loop.c                     |   8 +-
  util/rcu.c                           |  14 ++--
  audio/coreaudio.m                    |   4 +-
  memory_ldst.c.inc                    |  18 ++--
  target/i386/hvf/README.md            |   2 +-
  ui/cocoa.m                           |  50 ++++++------
  94 files changed, 502 insertions(+), 502 deletions(-)


Reviewed-by: Paul Durrant <paul@xxxxxxx>





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux