[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 71/73] cpus-common: release BQL earlier in ru
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v6 71/73] cpus-common: release BQL earlier in run_on_cpu |
Date: |
Fri, 08 Feb 2019 14:34:39 +0000 |
User-agent: |
mu4e 1.0; emacs 26.1 |
Emilio G. Cota <address@hidden> writes:
> After completing the conversion to per-CPU locks, there is no need
> to release the BQL after having called cpu_kick.
>
> Reviewed-by: Richard Henderson <address@hidden>
> Signed-off-by: Emilio G. Cota <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
> ---
> cpus-common.c | 20 +++++---------------
> 1 file changed, 5 insertions(+), 15 deletions(-)
>
> diff --git a/cpus-common.c b/cpus-common.c
> index 62e282bff1..1241024b2c 100644
> --- a/cpus-common.c
> +++ b/cpus-common.c
> @@ -145,6 +145,11 @@ void run_on_cpu(CPUState *cpu, run_on_cpu_func func,
> run_on_cpu_data data)
> return;
> }
>
> + /* We are going to sleep on the CPU lock, so release the BQL */
> + if (has_bql) {
> + qemu_mutex_unlock_iothread();
> + }
> +
> wi.func = func;
> wi.data = data;
> wi.done = false;
> @@ -153,21 +158,6 @@ void run_on_cpu(CPUState *cpu, run_on_cpu_func func,
> run_on_cpu_data data)
>
> cpu_mutex_lock(cpu);
> queue_work_on_cpu_locked(cpu, &wi);
> -
> - /*
> - * We are going to sleep on the CPU lock, so release the BQL.
> - *
> - * During the transition to per-CPU locks, we release the BQL _after_
> - * having kicked the destination CPU (from queue_work_on_cpu_locked
> above).
> - * This makes sure that the enqueued work will be seen by the CPU
> - * after being woken up from the kick, since the CPU sleeps on the BQL.
> - * Once we complete the transition to per-CPU locks, we will release
> - * the BQL earlier in this function.
> - */
> - if (has_bql) {
> - qemu_mutex_unlock_iothread();
> - }
> -
> while (!atomic_mb_read(&wi.done)) {
> CPUState *self_cpu = current_cpu;
--
Alex Bennée
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v6 71/73] cpus-common: release BQL earlier in run_on_cpu,
Alex Bennée <=