On Tue, 2021-03-09 at 09:01 +0100, Paolo Bonzini wrote: > On 09/03/21 08:54, Jason Wang wrote: > > > + return; > > > + > > > + spin_lock(&ctx->wq.lock); > > > + wait_event_interruptible_exclusive_locked(ctx->wq, !ctx- > > > >busy); > > > > Any reason that a simple mutex_lock_interruptible() can't work > > here? > > Or alternatively why can't the callers just take the spinlock. > I'm not sure I understand your question. Do you mean why locked version of wait_event() is used? > Paolo > > > Thanks > > > > > > > + ctx->busy = true; > > > + spin_unlock(&ctx->wq.lock);