From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42567) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4c6n-0004wS-Df for qemu-devel@nongnu.org; Mon, 15 Jun 2015 17:39:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z4c6i-0000j8-V2 for qemu-devel@nongnu.org; Mon, 15 Jun 2015 17:39:57 -0400 Received: from mail-yk0-f182.google.com ([209.85.160.182]:34894) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4c6i-0000iD-RO for qemu-devel@nongnu.org; Mon, 15 Jun 2015 17:39:52 -0400 Received: by ykar6 with SMTP id r6so41173383yka.2 for ; Mon, 15 Jun 2015 14:39:52 -0700 (PDT) MIME-Version: 1.0 Sender: peter.crosthwaite@petalogix.com In-Reply-To: References: <557B0B21.2030009@hs-rm.de> <557EEA46.10507@hs-rm.de> <557EF0EB.70601@hs-rm.de> Date: Mon, 15 Jun 2015 14:39:51 -0700 Message-ID: From: Peter Crosthwaite Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] QEMU ARM SMP: IPI delivery delayed until next main loop event // how to improve IPI latency? List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: QEMU Developers , =?UTF-8?Q?Alex_Z=C3=BCpke?= On Mon, Jun 15, 2015 at 8:49 AM, Peter Maydell w= rote: > On 15 June 2015 at 16:36, Alex Z=C3=BCpke wro= te: >> 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 =3D DISAS_WFI; >> break; >> + case 1: /* yield */ >> case 2: /* wfe */ >> gen_set_pc_im(s, s->pc); >> s->is_jmp =3D 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 >