qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] QEMU ARM SMP: IPI delivery delayed until next main loop


From: Peter Crosthwaite
Subject: Re: [Qemu-devel] QEMU ARM SMP: IPI delivery delayed until next main loop event // how to improve IPI latency?
Date: Mon, 15 Jun 2015 14:39:51 -0700

On Mon, Jun 15, 2015 at 8:49 AM, Peter Maydell <address@hidden> wrote:
> On 15 June 2015 at 16:36, Alex Züpke <address@hidden> wrote:
>> So this is the way to go:
>>
>> --- a/target-arm/translate.c
>> +++ b/target-arm/translate.c
>> @@ -4084,6 +4084,7 @@ static void gen_nop_hint(DisasContext *s, int val)
>>          gen_set_pc_im(s, s->pc);
>>          s->is_jmp = DISAS_WFI;
>>          break;
>> +    case 1: /* yield */
>>      case 2: /* wfe */
>>          gen_set_pc_im(s, s->pc);
>>          s->is_jmp = DISAS_WFE;
>
> Actually I want to split out the yield code path from the wfe
> one, because some day we may actually implement WFE as WFE,
> at which point WFE has some trap-to-EL2 logic that YIELD
> doesn't. I was about to write a patch to do that...
>

If anything, the existing wfe code is the yield semantic, so the
correct way is probably the rename wfe helper as yield and make
comment that wfe is approximated as yield until that second code path
exists.

Regards,
Peter

> (If you plan to run your custom OS under a hypervisor you
> might prefer SEV/WFE over YIELD, because then if your custom OS
> is under heavy load the hypervisor has a chance to swap this
> vcpu out and run some other one.)
>
> thanks
> -- PMM
>



reply via email to

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