The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL)
instead, it is already widely used and unambiguous.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
include/qemu/main-loop.h | 20 ++++++++++----------
hw/i386/kvm/xen_evtchn.c | 14 +++++++-------
hw/i386/kvm/xen_gnttab.c | 2 +-
hw/mips/mips_int.c | 2 +-
hw/ppc/ppc.c | 2 +-
target/i386/kvm/xen-emu.c | 2 +-
target/ppc/excp_helper.c | 2 +-
target/ppc/helper_regs.c | 2 +-
target/riscv/cpu_helper.c | 4 ++--
9 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h
index d6f75e57bd..0b6a3e4824 100644
--- a/include/qemu/main-loop.h
+++ b/include/qemu/main-loop.h
@@ -344,13 +344,13 @@ void qemu_bql_lock_impl(const char *file, int line);
void qemu_bql_unlock(void);
/**
- * QEMU_IOTHREAD_LOCK_GUARD
+ * QEMU_BQL_LOCK_GUARD
*
- * Wrap a block of code in a conditional qemu_mutex_{lock,unlock}_iothread.
+ * Wrap a block of code in a conditional qemu_bql_{lock,unlock}.
*/
-typedef struct IOThreadLockAuto IOThreadLockAuto;
+typedef struct BQLLockAuto BQLLockAuto;
-static inline IOThreadLockAuto *qemu_iothread_auto_lock(const char *file,
+static inline BQLLockAuto *qemu_bql_auto_lock(const char *file,
int line)
{
if (qemu_bql_locked()) {
@@ -358,19 +358,19 @@ static inline IOThreadLockAuto *qemu_iothread_auto_lock(const char *file,
}
qemu_bql_lock_impl(file, line);
/* Anything non-NULL causes the cleanup function to be called */
- return (IOThreadLockAuto *)(uintptr_t)1;
+ return (BQLLockAuto *)(uintptr_t)1;
}
-static inline void qemu_iothread_auto_unlock(IOThreadLockAuto *l)
+static inline void qemu_bql_auto_unlock(BQLLockAuto *l)
{
qemu_bql_unlock();
}
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(IOThreadLockAuto, qemu_iothread_auto_unlock)
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(BQLLockAuto, qemu_bql_auto_unlock)
-#define QEMU_IOTHREAD_LOCK_GUARD() \
- g_autoptr(IOThreadLockAuto) _iothread_lock_auto __attribute__((unused)) \
- = qemu_iothread_auto_lock(__FILE__, __LINE__)
+#define QEMU_BQL_LOCK_GUARD() \
+ g_autoptr(BQLLockAuto) _bql_lock_auto __attribute__((unused)) \
+ = qemu_bql_auto_lock(__FILE__, __LINE__)
/*
* qemu_cond_wait_iothread: Wait on condition for the main loop mutex
diff --git a/hw/i386/kvm/xen_evtchn.c b/hw/i386/kvm/xen_evtchn.c
index 07d0ff0253..3ab686bd79 100644
--- a/hw/i386/kvm/xen_evtchn.c
+++ b/hw/i386/kvm/xen_evtchn.c
@@ -1127,7 +1127,7 @@ int xen_evtchn_reset_op(struct evtchn_reset *reset)
return -ESRCH;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
return xen_evtchn_soft_reset();
}
@@ -1145,7 +1145,7 @@ int xen_evtchn_close_op(struct evtchn_close *close)
return -EINVAL;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
qemu_mutex_lock(&s->port_lock);
ret = close_port(s, close->port, &flush_kvm_routes);
@@ -1272,7 +1272,7 @@ int xen_evtchn_bind_pirq_op(struct evtchn_bind_pirq *pirq)
return -EINVAL;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
if (s->pirq[pirq->pirq].port) {
return -EBUSY;
@@ -1824,7 +1824,7 @@ int xen_physdev_map_pirq(struct physdev_map_pirq *map)
return -ENOTSUP;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
QEMU_LOCK_GUARD(&s->port_lock);
if (map->domid != DOMID_SELF && map->domid != xen_domid) {
@@ -1884,7 +1884,7 @@ int xen_physdev_unmap_pirq(struct physdev_unmap_pirq *unmap)
return -EINVAL;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
qemu_mutex_lock(&s->port_lock);
if (!pirq_inuse(s, pirq)) {
@@ -1924,7 +1924,7 @@ int xen_physdev_eoi_pirq(struct physdev_eoi *eoi)
return -ENOTSUP;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
QEMU_LOCK_GUARD(&s->port_lock);
if (!pirq_inuse(s, pirq)) {
@@ -1956,7 +1956,7 @@ int xen_physdev_query_pirq(struct physdev_irq_status_query *query)
return -ENOTSUP;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
QEMU_LOCK_GUARD(&s->port_lock);
if (!pirq_inuse(s, pirq)) {
diff --git a/hw/i386/kvm/xen_gnttab.c b/hw/i386/kvm/xen_gnttab.c
index 0a24f53f20..ee5f8cf257 100644
--- a/hw/i386/kvm/xen_gnttab.c
+++ b/hw/i386/kvm/xen_gnttab.c
@@ -176,7 +176,7 @@ int xen_gnttab_map_page(uint64_t idx, uint64_t gfn)
return -EINVAL;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
QEMU_LOCK_GUARD(&s->gnt_lock);
xen_overlay_do_map_page(&s->gnt_aliases[idx], gpa);
diff --git a/hw/mips/mips_int.c b/hw/mips/mips_int.c
index 6c32e466a3..c2454f9724 100644
--- a/hw/mips/mips_int.c
+++ b/hw/mips/mips_int.c
@@ -36,7 +36,7 @@ static void cpu_mips_irq_request(void *opaque, int irq, int level)
return;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
if (level) {
env->CP0_Cause |= 1 << (irq + CP0Ca_IP);
diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
index c8c3b43602..ce7d3692c4 100644
--- a/hw/ppc/ppc.c
+++ b/hw/ppc/ppc.c
@@ -47,7 +47,7 @@ void ppc_set_irq(PowerPCCPU *cpu, int irq, int level)
unsigned int old_pending;
/* We may already have the BQL if coming from the reset path */
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
old_pending = env->pending_interrupts;
diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index f79f5d270f..be8a1fef58 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -581,7 +581,7 @@ static int xen_set_shared_info(uint64_t gfn)
uint64_t gpa = gfn << TARGET_PAGE_BITS;
int i, err;
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
/*
* The xen_overlay device tells KVM about it too, since it had to
diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c
index 0a1c942831..2122f89990 100644
--- a/target/ppc/excp_helper.c
+++ b/target/ppc/excp_helper.c
@@ -2222,7 +2222,7 @@ static int ppc_next_unmasked_interrupt(CPUPPCState *env)
void ppc_maybe_interrupt(CPUPPCState *env)
{
CPUState *cs = env_cpu(env);
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
if (ppc_next_unmasked_interrupt(env)) {
cpu_interrupt(cs, CPU_INTERRUPT_HARD);
diff --git a/target/ppc/helper_regs.c b/target/ppc/helper_regs.c
index f380342d4d..b92e3a223a 100644
--- a/target/ppc/helper_regs.c
+++ b/target/ppc/helper_regs.c
@@ -244,7 +244,7 @@ void cpu_interrupt_exittb(CPUState *cs)
* unless running with TCG.
*/
if (tcg_enabled()) {
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
cpu_interrupt(cs, CPU_INTERRUPT_EXITTB);
}
}
diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c
index e7e23b34f4..fa73bb8ce9 100644
--- a/target/riscv/cpu_helper.c
+++ b/target/riscv/cpu_helper.c
@@ -655,7 +655,7 @@ void riscv_cpu_interrupt(CPURISCVState *env)
uint64_t gein, vsgein = 0, vstip = 0, irqf = 0;
CPUState *cs = env_cpu(env);
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
if (env->virt_enabled) {
gein = get_field(env->hstatus, HSTATUS_VGEIN);
@@ -681,7 +681,7 @@ uint64_t riscv_cpu_update_mip(CPURISCVState *env, uint64_t mask, uint64_t value)
/* No need to update mip for VSTIP */
mask = ((mask == MIP_VSTIP) && env->vstime_irq) ? 0 : mask;
- QEMU_IOTHREAD_LOCK_GUARD();
+ QEMU_BQL_LOCK_GUARD();
env->mip = (env->mip & ~mask) | (value & mask);
--
2.42.0
On 11/29/23 22:26, Stefan Hajnoczi wrote: > The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL) > instead, it is already widely used and unambiguous. > > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Thanks, C.
On Wed, 2023-11-29 at 16:26 -0500, Stefan Hajnoczi wrote: > The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL) > instead, it is already widely used and unambiguous. > > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Acked-by: David Woodhouse <dwmw@amazon.co.uk>
On Wed, 2023-11-29 at 16:26 -0500, Stefan Hajnoczi wrote:
> The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL)
> instead, it is already widely used and unambiguous.
>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
> include/qemu/main-loop.h | 20 ++++++++++----------
> hw/i386/kvm/xen_evtchn.c | 14 +++++++-------
> hw/i386/kvm/xen_gnttab.c | 2 +-
> hw/mips/mips_int.c | 2 +-
> hw/ppc/ppc.c | 2 +-
> target/i386/kvm/xen-emu.c | 2 +-
> target/ppc/excp_helper.c | 2 +-
> target/ppc/helper_regs.c | 2 +-
> target/riscv/cpu_helper.c | 4 ++--
> 9 files changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h
> index d6f75e57bd..0b6a3e4824 100644
> --- a/include/qemu/main-loop.h
> +++ b/include/qemu/main-loop.h
> @@ -344,13 +344,13 @@ void qemu_bql_lock_impl(const char *file, int
> line);
> void qemu_bql_unlock(void);
>
> /**
> - * QEMU_IOTHREAD_LOCK_GUARD
> + * QEMU_BQL_LOCK_GUARD
> *
> - * Wrap a block of code in a conditional
> qemu_mutex_{lock,unlock}_iothread.
> + * Wrap a block of code in a conditional qemu_bql_{lock,unlock}.
> */
> -typedef struct IOThreadLockAuto IOThreadLockAuto;
> +typedef struct BQLLockAuto BQLLockAuto;
>
> -static inline IOThreadLockAuto *qemu_iothread_auto_lock(const char
> *file,
> +static inline BQLLockAuto *qemu_bql_auto_lock(const char *file,
> int line)
The padding is not correct anymore.
Other than this:
Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
On Thu, Nov 30, 2023 at 10:14:47AM +0100, Ilya Leoshkevich wrote:
> On Wed, 2023-11-29 at 16:26 -0500, Stefan Hajnoczi wrote:
> > The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL)
> > instead, it is already widely used and unambiguous.
> >
> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> > ---
> > include/qemu/main-loop.h | 20 ++++++++++----------
> > hw/i386/kvm/xen_evtchn.c | 14 +++++++-------
> > hw/i386/kvm/xen_gnttab.c | 2 +-
> > hw/mips/mips_int.c | 2 +-
> > hw/ppc/ppc.c | 2 +-
> > target/i386/kvm/xen-emu.c | 2 +-
> > target/ppc/excp_helper.c | 2 +-
> > target/ppc/helper_regs.c | 2 +-
> > target/riscv/cpu_helper.c | 4 ++--
> > 9 files changed, 25 insertions(+), 25 deletions(-)
> >
> > diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h
> > index d6f75e57bd..0b6a3e4824 100644
> > --- a/include/qemu/main-loop.h
> > +++ b/include/qemu/main-loop.h
> > @@ -344,13 +344,13 @@ void qemu_bql_lock_impl(const char *file, int
> > line);
> > void qemu_bql_unlock(void);
> >
> > /**
> > - * QEMU_IOTHREAD_LOCK_GUARD
> > + * QEMU_BQL_LOCK_GUARD
> > *
> > - * Wrap a block of code in a conditional
> > qemu_mutex_{lock,unlock}_iothread.
> > + * Wrap a block of code in a conditional qemu_bql_{lock,unlock}.
> > */
> > -typedef struct IOThreadLockAuto IOThreadLockAuto;
> > +typedef struct BQLLockAuto BQLLockAuto;
> >
> > -static inline IOThreadLockAuto *qemu_iothread_auto_lock(const char
> > *file,
> > +static inline BQLLockAuto *qemu_bql_auto_lock(const char *file,
> > int line)
>
> The padding is not correct anymore.
Good point, I didn't check the formatting after search-and-replace. I
will fix this across the patch series in v2.
Stefan
On 12/1/23 01:57, Stefan Hajnoczi wrote:
> On Thu, Nov 30, 2023 at 10:14:47AM +0100, Ilya Leoshkevich wrote:
>> On Wed, 2023-11-29 at 16:26 -0500, Stefan Hajnoczi wrote:
>>> The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL)
>>> instead, it is already widely used and unambiguous.
>>>
>>> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
>>> ---
>>> include/qemu/main-loop.h | 20 ++++++++++----------
>>> hw/i386/kvm/xen_evtchn.c | 14 +++++++-------
>>> hw/i386/kvm/xen_gnttab.c | 2 +-
>>> hw/mips/mips_int.c | 2 +-
>>> hw/ppc/ppc.c | 2 +-
>>> target/i386/kvm/xen-emu.c | 2 +-
>>> target/ppc/excp_helper.c | 2 +-
>>> target/ppc/helper_regs.c | 2 +-
>>> target/riscv/cpu_helper.c | 4 ++--
>>> 9 files changed, 25 insertions(+), 25 deletions(-)
>>>
>>> diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h
>>> index d6f75e57bd..0b6a3e4824 100644
>>> --- a/include/qemu/main-loop.h
>>> +++ b/include/qemu/main-loop.h
>>> @@ -344,13 +344,13 @@ void qemu_bql_lock_impl(const char *file, int
>>> line);
>>> void qemu_bql_unlock(void);
>>>
>>> /**
>>> - * QEMU_IOTHREAD_LOCK_GUARD
>>> + * QEMU_BQL_LOCK_GUARD
>>> *
>>> - * Wrap a block of code in a conditional
>>> qemu_mutex_{lock,unlock}_iothread.
>>> + * Wrap a block of code in a conditional qemu_bql_{lock,unlock}.
>>> */
>>> -typedef struct IOThreadLockAuto IOThreadLockAuto;
>>> +typedef struct BQLLockAuto BQLLockAuto;
>>>
>>> -static inline IOThreadLockAuto *qemu_iothread_auto_lock(const char
>>> *file,
>>> +static inline BQLLockAuto *qemu_bql_auto_lock(const char *file,
>>> int line)
>>
>> The padding is not correct anymore.
>
> Good point, I didn't check the formatting after search-and-replace. I
> will fix this across the patch series in v2.
>
Yeh, some comments in 5/6 and 6/6 can also make full use of 80 char
width after search-replace effect.
regards,
Harsh
> Stefan
On 29/11/2023 21:26, Stefan Hajnoczi wrote: > The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL) > instead, it is already widely used and unambiguous. > > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> > --- > include/qemu/main-loop.h | 20 ++++++++++---------- > hw/i386/kvm/xen_evtchn.c | 14 +++++++------- > hw/i386/kvm/xen_gnttab.c | 2 +- > hw/mips/mips_int.c | 2 +- > hw/ppc/ppc.c | 2 +- > target/i386/kvm/xen-emu.c | 2 +- > target/ppc/excp_helper.c | 2 +- > target/ppc/helper_regs.c | 2 +- > target/riscv/cpu_helper.c | 4 ++-- > 9 files changed, 25 insertions(+), 25 deletions(-) > Reviewed-by: Paul Durrant <paul@xen.org>
© 2016 - 2026 Red Hat, Inc.