From patchwork Tue Dec 12 15:38:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Hajnoczi X-Patchwork-Id: 13489545 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 24A9DC46CA2 for ; Tue, 12 Dec 2023 15:39:35 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.653207.1019595 (Exim 4.92) (envelope-from ) id 1rD4qy-0003Hl-R9; Tue, 12 Dec 2023 15:39:24 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 653207.1019595; Tue, 12 Dec 2023 15:39:24 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rD4qy-0003He-OS; Tue, 12 Dec 2023 15:39:24 +0000 Received: by outflank-mailman (input) for mailman id 653207; Tue, 12 Dec 2023 15:39:22 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rD4qw-0003HJ-NT for xen-devel@lists.xenproject.org; Tue, 12 Dec 2023 15:39:22 +0000 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 9d60d559-9904-11ee-9b0f-b553b5be7939; Tue, 12 Dec 2023 16:39:20 +0100 (CET) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-588-oXKjbKZqPLi5HX1YCXpYaQ-1; Tue, 12 Dec 2023 10:39:14 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B28B42806403; Tue, 12 Dec 2023 15:39:11 +0000 (UTC) Received: from localhost (unknown [10.39.193.220]) by smtp.corp.redhat.com (Postfix) with ESMTP id 922F32026D66; Tue, 12 Dec 2023 15:39:06 +0000 (UTC) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 9d60d559-9904-11ee-9b0f-b553b5be7939 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1702395559; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mhd5PyZ3DXbsV3qmdtVMB6yuzeux7oigKl5JGcj9MXo=; b=EsjQKdeD1G2/IqDJtT6IsqND4u9xIXHy2ejqVwvl1gFrFWeGWLiiHuNLtagBpWs2ldr4QP gH3JfYwU1nWNvaA7cvzMGDo3K1kH5lOpad70CAQRroLt6ghvPNudpoMnUXKbsQRwh/53H6 MMoN3DG3VCAGTlEh/RVFCHFB0hPdrWA= X-MC-Unique: oXKjbKZqPLi5HX1YCXpYaQ-1 From: Stefan Hajnoczi To: qemu-devel@nongnu.org Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Marcel Apfelbaum , Akihiko Odaki , Artyom Tarasenko , Paul Durrant , Daniel Henrique Barboza , =?utf-8?q?C=C3=A9dric_Le_G?= =?utf-8?q?oater?= , Paolo Bonzini , BALATON Zoltan , Jagannathan Raman , Anthony Perard , Nicholas Piggin , David Gibson , Stefan Hajnoczi , Aleksandar Rikalo , Alexander Graf , Hailiang Zhang , Marcelo Tosatti , Jiaxun Yang , Huacai Chen , Harsh Prateek Bora , Ilya Leoshkevich , Peter Xu , Hyman Huang , Fam Zheng , Song Gao , Alistair Francis , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Stefano Stabellini , David Woodhouse , Christian Borntraeger , Palmer Dabbelt , Aurelien Jarno , Leonardo Bras , Jiri Slaby , Eric Farman , Thomas Huth , Richard Henderson , David Hildenbrand , Michael Roth , Elena Ufimtseva , Gerd Hoffmann , Cameron Esfahani , qemu-ppc@nongnu.org, John Snow , Mark Cave-Ayland , Weiwei Li , Hanna Reitz , qemu-s390x@nongnu.org, qemu-block@nongnu.org, =?utf-8?q?Alex_Benn=C3=A9e?= , kvm@vger.kernel.org, "Michael S. Tsirkin" , Pavel Dovgalyuk , Vladimir Sementsov-Ogievskiy , Andrey Smirnov , Reinoud Zandijk , Kevin Wolf , Bin Meng , Sunil Muthuswamy , Peter Maydell , qemu-riscv@nongnu.org, Liu Zhiwei , Stafford Horne , Fabiano Rosas , Juan Quintela , Markus Armbruster , qemu-arm@nongnu.org, Jason Wang , Eduardo Habkost , Max Filippov , Jean-Christophe Dubois , Eric Blake , Roman Bolshakov , Halil Pasic , xen-devel@lists.xenproject.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PATCH v2 0/5] Make Big QEMU Lock naming consistent Date: Tue, 12 Dec 2023 10:38:59 -0500 Message-ID: <20231212153905.631119-1-stefanha@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4 v2: - Rename APIs bql_*() [PeterX] - Spell out "Big QEMU Lock (BQL)" in doc comments [PeterX] - Rename "iolock" variables in hw/remote/mpqemu-link.c [Harsh] - Fix bql_auto_lock() indentation in Patch 2 [Ilya] - "with BQL taken" -> "with the BQL taken" [Philippe] - "under BQL" -> "under the BQL" [Philippe] The Big QEMU Lock ("BQL") has two other names: "iothread lock" and "QEMU global mutex". The term "iothread lock" is easily confused with the unrelated --object iothread (iothread.c). This series updates the code and documentation to consistently use "BQL". This makes the code easier to understand. Stefan Hajnoczi (5): system/cpus: rename qemu_mutex_lock_iothread() to bql_lock() qemu/main-loop: rename QEMU_IOTHREAD_LOCK_GUARD to BQL_LOCK_GUARD qemu/main-loop: rename qemu_cond_wait_iothread() to qemu_cond_wait_bql() Replace "iothread lock" with "BQL" in comments Rename "QEMU global mutex" to "BQL" in comments and docs docs/devel/multi-thread-tcg.rst | 7 +- docs/devel/qapi-code-gen.rst | 2 +- docs/devel/replay.rst | 2 +- docs/devel/reset.rst | 2 +- docs/devel/multiple-iothreads.txt | 16 ++-- hw/display/qxl.h | 2 +- include/block/aio-wait.h | 2 +- include/block/blockjob.h | 6 +- include/exec/cpu-common.h | 2 +- include/exec/memory.h | 4 +- include/exec/ramblock.h | 2 +- include/io/task.h | 2 +- include/migration/register.h | 8 +- include/qemu/coroutine-core.h | 2 +- include/qemu/coroutine.h | 2 +- include/qemu/main-loop.h | 69 ++++++++-------- include/qemu/thread.h | 2 +- target/arm/internals.h | 4 +- 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 | 20 ++--- accel/tcg/tcg-accel-ops-icount.c | 6 +- accel/tcg/tcg-accel-ops-mttcg.c | 12 +-- accel/tcg/tcg-accel-ops-rr.c | 18 ++-- accel/tcg/tcg-accel-ops.c | 2 +- accel/tcg/translate-all.c | 2 +- cpu-common.c | 4 +- dump/dump.c | 4 +- hw/block/dataplane/virtio-blk.c | 8 +- hw/block/virtio-blk.c | 2 +- hw/core/cpu-common.c | 6 +- hw/display/virtio-gpu.c | 2 +- hw/i386/intel_iommu.c | 6 +- hw/i386/kvm/xen_evtchn.c | 30 +++---- hw/i386/kvm/xen_gnttab.c | 2 +- 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/mips/mips_int.c | 2 +- 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 | 6 +- hw/ppc/spapr.c | 2 +- hw/ppc/spapr_events.c | 2 +- hw/ppc/spapr_rng.c | 4 +- hw/ppc/spapr_softmmu.c | 4 +- hw/remote/mpqemu-link.c | 22 ++--- hw/remote/vfio-user-obj.c | 2 +- hw/s390x/s390-skeys.c | 2 +- hw/scsi/virtio-scsi-dataplane.c | 6 +- migration/block-dirty-bitmap.c | 14 ++-- migration/block.c | 40 ++++----- migration/colo.c | 62 +++++++------- migration/dirtyrate.c | 12 +-- migration/migration.c | 54 ++++++------ migration/ram.c | 16 ++-- net/tap.c | 2 +- replay/replay-internal.c | 2 +- semihosting/console.c | 8 +- stubs/iothread-lock.c | 6 +- system/cpu-throttle.c | 6 +- system/cpus.c | 55 +++++++------ system/dirtylimit.c | 4 +- system/memory.c | 2 +- system/physmem.c | 14 ++-- system/runstate.c | 2 +- system/watchpoint.c | 4 +- target/arm/arm-powerctl.c | 14 ++-- target/arm/helper.c | 6 +- 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 | 6 +- 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 | 16 ++-- target/i386/nvmm/nvmm-accel-ops.c | 6 +- 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 | 6 +- 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 | 14 ++-- target/ppc/helper_regs.c | 2 +- target/ppc/kvm.c | 4 +- target/ppc/misc_helper.c | 8 +- target/ppc/timebase_helper.c | 8 +- target/riscv/cpu_helper.c | 4 +- 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 | 6 +- util/async.c | 2 +- util/main-loop.c | 8 +- util/qsp.c | 6 +- util/rcu.c | 16 ++-- audio/coreaudio.m | 8 +- memory_ldst.c.inc | 18 ++-- target/i386/hvf/README.md | 2 +- ui/cocoa.m | 56 ++++++------- 121 files changed, 644 insertions(+), 645 deletions(-)