coroutine-lock: Store the coroutine in the CoWaitRecord only once
When taking the slow path for mutex acquisition, set the coroutine value in the CoWaitRecord in push_waiter(), rather than both there and in the caller. Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: David Edmondson <david.edmondson@oracle.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 20210325112941.365238-4-pbonzini@redhat.com Message-Id: <20210309144015.557477-4-david.edmondson@oracle.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
07ee2ab4fd
commit
2f6ef0393b
@ -204,7 +204,6 @@ static void coroutine_fn qemu_co_mutex_lock_slowpath(AioContext *ctx,
|
|||||||
unsigned old_handoff;
|
unsigned old_handoff;
|
||||||
|
|
||||||
trace_qemu_co_mutex_lock_entry(mutex, self);
|
trace_qemu_co_mutex_lock_entry(mutex, self);
|
||||||
w.co = self;
|
|
||||||
push_waiter(mutex, &w);
|
push_waiter(mutex, &w);
|
||||||
|
|
||||||
/* This is the "Responsibility Hand-Off" protocol; a lock() picks from
|
/* This is the "Responsibility Hand-Off" protocol; a lock() picks from
|
||||||
|
Loading…
Reference in New Issue
Block a user