From: "Alex Züpke" <alexander.zuepke@hs-rm.de>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: QEMU Developers <qemu-devel@nongnu.org>
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 18:12:51 +0200 [thread overview]
Message-ID: <557EF983.1060708@hs-rm.de> (raw)
In-Reply-To: <CAFEAcA8miYNDCAUH=C261Z2H=GkpakLNQbYttOn7uiu-Cp31pw@mail.gmail.com>
Am 15.06.2015 um 17:49 schrieb Peter Maydell:
> On 15 June 2015 at 16:36, Alex Züpke <alexander.zuepke@hs-rm.de> 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...
OK.
Both the cpu_exit-after-sending-IPI or the YIELD patch would fix my issue, but I think the YIELD one fits better.
I updated my testcase to YIELD during polling:
http://www.cs.hs-rm.de/~zuepke/qemu/ipi_yield.elf
3174 bytes, md5sum e74897e6b6d70f472db9e9d657780035
> (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
>
Thanks for the hint!
Best regards
Alex
next prev parent reply other threads:[~2015-06-15 16:12 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-12 16:38 [Qemu-devel] QEMU ARM SMP: IPI delivery delayed until next main loop event // how to improve IPI latency? Alex Züpke
2015-06-12 18:03 ` Peter Maydell
2015-06-15 14:44 ` Alex Züpke
2015-06-15 14:51 ` Peter Maydell
2015-06-15 15:05 ` Alex Züpke
2015-06-15 18:41 ` Peter Maydell
2015-06-15 18:58 ` Peter Maydell
2015-06-15 20:03 ` Alex Zuepke
2015-06-16 10:33 ` Peter Maydell
2015-06-16 10:59 ` Peter Maydell
2015-06-16 11:11 ` Alex Züpke
2015-06-16 11:53 ` Peter Maydell
2015-06-16 12:21 ` Alex Züpke
2015-06-19 15:53 ` Peter Maydell
2015-06-23 7:31 ` Frederic Konrad
2015-06-23 8:09 ` Peter Maydell
2015-06-23 8:33 ` Frederic Konrad
2015-06-23 18:15 ` Peter Maydell
2015-06-25 17:13 ` Peter Maydell
2015-06-15 15:04 ` Peter Maydell
2015-06-15 15:07 ` Alex Züpke
2015-06-15 15:18 ` Peter Maydell
2015-06-15 15:36 ` Alex Züpke
2015-06-15 15:49 ` Peter Maydell
2015-06-15 16:12 ` Alex Züpke [this message]
2015-06-15 21:39 ` Peter Crosthwaite
2015-06-19 16:57 ` Paolo Bonzini
2015-06-19 17:25 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=557EF983.1060708@hs-rm.de \
--to=alexander.zuepke@hs-rm.de \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).