[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v7 2/6] Wrapper function to wait on condition fo
From: |
Aravinda Prasad |
Subject: |
Re: [Qemu-devel] [PATCH v7 2/6] Wrapper function to wait on condition for the main loop mutex |
Date: |
Mon, 25 Mar 2019 13:06:08 +0530 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
On Monday 25 March 2019 11:47 AM, David Gibson wrote:
> On Fri, Mar 22, 2019 at 12:03:49PM +0530, Aravinda Prasad wrote:
>> Introduce a wrapper function to wait on condition for
>> the main loop mutex. This function atomically releases
>> the main loop mutex and causes the calling thread to
>> block on the condition.
>>
>> Signed-off-by: Aravinda Prasad <address@hidden>
>
> I don't see much value to this. It's not really more expressive, and
> is barely shorted than just open coding
> qemu_cond_wait(cond, &qemu_global_mutex)
> wherever you need it.
I have done this way because qemu_global_mutex is static. Do you prefer
removing static instead of this wrapper?
Regards,
Aravinda
>
>
>> ---
>> cpus.c | 5 +++++
>> include/qemu/main-loop.h | 8 ++++++++
>> 2 files changed, 13 insertions(+)
>>
>> diff --git a/cpus.c b/cpus.c
>> index e83f72b..d9379e7 100644
>> --- a/cpus.c
>> +++ b/cpus.c
>> @@ -1858,6 +1858,11 @@ void qemu_mutex_unlock_iothread(void)
>> qemu_mutex_unlock(&qemu_global_mutex);
>> }
>>
>> +void qemu_cond_wait_iothread(QemuCond *cond)
>> +{
>> + qemu_cond_wait(cond, &qemu_global_mutex);
>> +}
>> +
>> static bool all_vcpus_paused(void)
>> {
>> CPUState *cpu;
>> diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h
>> index f6ba78e..a6d20b0 100644
>> --- a/include/qemu/main-loop.h
>> +++ b/include/qemu/main-loop.h
>> @@ -295,6 +295,14 @@ void qemu_mutex_lock_iothread_impl(const char *file,
>> int line);
>> */
>> void qemu_mutex_unlock_iothread(void);
>>
>> +/*
>> + * qemu_cond_wait_iothread: Wait on condition for the main loop mutex
>> + *
>> + * This function atomically releases the main loop mutex and causes
>> + * the calling thread to block on the condition.
>> + */
>> +void qemu_cond_wait_iothread(QemuCond *cond);
>> +
>> /* internal interfaces */
>>
>> void qemu_fd_register(int fd);
>>
>
--
Regards,
Aravinda
[Qemu-devel] [PATCH v7 1/6] ppc: spapr: Handle "ibm, nmi-register" and "ibm, nmi-interlock" RTAS calls, Aravinda Prasad, 2019/03/22
[Qemu-devel] [PATCH v7 3/6] target/ppc: Handle NMI guest exit, Aravinda Prasad, 2019/03/22