qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC v3 10/56] ppc: convert to cpu_halted


From: Emilio G. Cota
Subject: Re: [Qemu-devel] [RFC v3 10/56] ppc: convert to cpu_halted
Date: Mon, 22 Oct 2018 17:12:13 -0400
User-agent: Mutt/1.9.4 (2018-02-28)

On Sun, Oct 21, 2018 at 13:56:59 +0100, Richard Henderson wrote:
> On 10/19/18 2:05 AM, Emilio G. Cota wrote:
> > @@ -1088,11 +1088,13 @@ static target_ulong h_cede(PowerPCCPU *cpu, 
> > sPAPRMachineState *spapr,
> >  
> >      env->msr |= (1ULL << MSR_EE);
> >      hreg_compute_hflags(env);
> > +    cpu_mutex_lock(cs);
> >      if (!cpu_has_work(cs)) {
> > -        cs->halted = 1;
> > +        cpu_halted_set(cs, 1);
> >          cs->exception_index = EXCP_HLT;
> >          cs->exit_request = 1;
> >      }
> > +    cpu_mutex_unlock(cs);
> >      return H_SUCCESS;
> 
> Why does this one get extra locking?

It's taking into account that later in the series we
expand the CPU lock to cpu_has_work. I've added the
following note to this patch's commit log:

> In hw/ppc/spapr_hcall.c, acquire the lock just once to
> update cpu->halted and call cpu_has_work, since later
> in the series we'll acquire the BQL (if not already held)
> from cpu_has_work.

Thanks,

                Emilio



reply via email to

[Prev in Thread] Current Thread [Next in Thread]