Message ID | 1474615909-17069-13-git-send-email-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
On 09/23/2016 12:31 AM, Paolo Bonzini wrote: > No need to call exclusive_idle() from cpu_exec_end since it is done > immediately afterwards in cpu_exec_start. Any exclusive section could > run as soon as cpu_exec_end leaves, because cpu->running is false and the > mutex is not taken, so the call does not add any protection either. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > cpus-common.c | 1 - > docs/tcg-exclusive.promela | 1 - > 2 files changed, 2 deletions(-) Reviewed-by: Richard Henderson <rth@twiddle.net> r~
Paolo Bonzini <pbonzini@redhat.com> writes: > No need to call exclusive_idle() from cpu_exec_end since it is done > immediately afterwards in cpu_exec_start. Any exclusive section could > run as soon as cpu_exec_end leaves, because cpu->running is false and the > mutex is not taken, so the call does not add any protection either. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> > --- > cpus-common.c | 1 - > docs/tcg-exclusive.promela | 1 - > 2 files changed, 2 deletions(-) > > diff --git a/cpus-common.c b/cpus-common.c > index 115f3d4..80aaf9b 100644 > --- a/cpus-common.c > +++ b/cpus-common.c > @@ -221,7 +221,6 @@ void cpu_exec_end(CPUState *cpu) > qemu_cond_signal(&exclusive_cond); > } > } > - exclusive_idle(); > qemu_mutex_unlock(&qemu_cpu_list_lock); > } > > diff --git a/docs/tcg-exclusive.promela b/docs/tcg-exclusive.promela > index 360edcd..9e7d9e3 100644 > --- a/docs/tcg-exclusive.promela > +++ b/docs/tcg-exclusive.promela > @@ -123,7 +123,6 @@ byte has_waiter[N_CPUS]; > } \ > :: else -> skip; \ > fi; \ > - exclusive_idle(); \ > MUTEX_UNLOCK(mutex); > > // Promela processes -- Alex Bennée
diff --git a/cpus-common.c b/cpus-common.c index 115f3d4..80aaf9b 100644 --- a/cpus-common.c +++ b/cpus-common.c @@ -221,7 +221,6 @@ void cpu_exec_end(CPUState *cpu) qemu_cond_signal(&exclusive_cond); } } - exclusive_idle(); qemu_mutex_unlock(&qemu_cpu_list_lock); } diff --git a/docs/tcg-exclusive.promela b/docs/tcg-exclusive.promela index 360edcd..9e7d9e3 100644 --- a/docs/tcg-exclusive.promela +++ b/docs/tcg-exclusive.promela @@ -123,7 +123,6 @@ byte has_waiter[N_CPUS]; } \ :: else -> skip; \ fi; \ - exclusive_idle(); \ MUTEX_UNLOCK(mutex); // Promela processes
No need to call exclusive_idle() from cpu_exec_end since it is done immediately afterwards in cpu_exec_start. Any exclusive section could run as soon as cpu_exec_end leaves, because cpu->running is false and the mutex is not taken, so the call does not add any protection either. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- cpus-common.c | 1 - docs/tcg-exclusive.promela | 1 - 2 files changed, 2 deletions(-)