From: Kamil Rytarowski <n54@gmx.com>
To: Maxime Villard <max@m00nbsd.net>, Paolo Bonzini <pbonzini@redhat.com>
Cc: peter.maydell@linaro.org, ehabkost@redhat.com, slp@redhat.com,
qemu-devel@nongnu.org, jmcneill@invisible.ca, philmd@redhat.com,
rth <rth@twiddle.net>
Subject: Re: [PATCH v4 3/4] Introduce the NVMM impl
Date: Wed, 11 Mar 2020 22:22:20 +0100 [thread overview]
Message-ID: <0b81483b-65ab-0c6a-72ff-080da10fccc3@gmx.com> (raw)
In-Reply-To: <cad16d05-13db-cb80-a049-84bb048def23@m00nbsd.net>
On 11.03.2020 22:21, Maxime Villard wrote:
> Le 11/03/2020 à 21:42, Paolo Bonzini a écrit :
>> On 11/03/20 21:14, Maxime Villard wrote:
>>>> The problem is that qcpu->stop is checked _before_ entering the
>>>> hypervisor and not after, so there is a small race window.
>>> Ok. I don't understand what's supposed to be the race here. If we get an
>>> IPI between the check and the call to nvmm_vcpu_run() then we'll just do
>>> one run and stop in the next iteration, because the IPI will have set
>>> qcpu->stop. Is this extra iteration undesired?
>>
>> Yes, you don't know how long that run would take. I don't know about
>> NVMM but for KVM it may even never leave if the guest is in HLT state.
>
> Ok, I see, thanks.
>
> In NVMM the runs are short, the syscalls are fast, and pending signals
> cause returns to userland. Therefore, in practice, it's not a big problem,
> because (1) the window is small and (2) if we have a miss it's not going
> to take long to come back to Qemu.
>
> I see a quick kernel change I can make to reduce 95% of the window
> already in the current state. The remaining 5% will need a new
> nvmm_vcpu_kick() function.
>
> For now this issue is unimportant and no Qemu change is required.
>
> Kamil, please also drop the XXX in
> /* XXX Needed, otherwise infinite loop. */
> It's not a bug.
>
OK. I will do it.
> Thanks,
> Maxime
>
next prev parent reply other threads:[~2020-03-11 21:27 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20200107124903.16505-1-n54@gmx.com>
2020-01-28 14:09 ` [PATCH v2 0/4] Implements the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-01-28 14:09 ` [PATCH v2 1/4] Add the NVMM vcpu API Kamil Rytarowski
2020-02-03 11:42 ` Philippe Mathieu-Daudé
2020-01-28 14:09 ` [PATCH v2 2/4] Add the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-02-03 11:41 ` Philippe Mathieu-Daudé
2020-02-03 11:56 ` Kamil Rytarowski
2020-02-03 12:10 ` Philippe Mathieu-Daudé
2020-03-02 17:12 ` Paolo Bonzini
2020-03-02 18:05 ` Kamil Rytarowski
2020-03-02 19:14 ` Maxime Villard
2020-03-02 19:40 ` Paolo Bonzini
2020-03-02 21:10 ` Kamil Rytarowski
2020-03-02 22:45 ` Paolo Bonzini
2020-03-02 17:11 ` Paolo Bonzini
2020-03-02 18:09 ` Kamil Rytarowski
2020-01-28 14:09 ` [PATCH v2 3/4] Introduce the NVMM impl Kamil Rytarowski
2020-02-03 11:51 ` Philippe Mathieu-Daudé
2020-02-05 17:22 ` Kamil Rytarowski
2020-02-05 17:47 ` Maxime Villard
2020-01-28 14:09 ` [PATCH v2 4/4] Add the NVMM acceleration enlightenments Kamil Rytarowski
2020-02-03 11:54 ` Philippe Mathieu-Daudé
2020-02-06 10:24 ` Kamil Rytarowski
2020-02-06 12:18 ` Philippe Mathieu-Daudé
2020-02-06 13:06 ` Markus Armbruster
2020-02-06 13:09 ` Philippe Mathieu-Daudé
2020-02-06 13:31 ` Kamil Rytarowski
2020-02-06 14:13 ` Markus Armbruster
2020-02-06 15:38 ` Kamil Rytarowski
2020-02-06 16:07 ` Philippe Mathieu-Daudé
2020-02-06 16:59 ` Kamil Rytarowski
2020-02-03 9:52 ` [PATCH v2 0/4] Implements the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-02-06 11:57 ` [PATCH v3 " Kamil Rytarowski
2020-02-06 11:57 ` [PATCH v3 1/4] Add the NVMM vcpu API Kamil Rytarowski
2020-02-06 21:06 ` Jared McNeill
2020-02-06 11:57 ` [PATCH v3 2/4] Add the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-02-06 21:06 ` Jared McNeill
2020-02-06 11:57 ` [PATCH v3 3/4] Introduce the NVMM impl Kamil Rytarowski
2020-02-06 21:07 ` Jared McNeill
2020-02-06 11:57 ` [PATCH v3 4/4] Add the NVMM acceleration enlightenments Kamil Rytarowski
2020-02-06 21:07 ` Jared McNeill
2020-02-06 13:13 ` [PATCH v3 0/4] Implements the NetBSD Virtual Machine Monitor accelerator no-reply
2020-02-06 13:21 ` Kamil Rytarowski
2020-02-06 16:01 ` Philippe Mathieu-Daudé
2020-02-06 21:32 ` [PATCH v4 " Kamil Rytarowski
2020-02-06 21:32 ` [PATCH v4 1/4] Add the NVMM vcpu API Kamil Rytarowski
2020-08-11 12:47 ` [PATCH v5 " Kamil Rytarowski
2020-08-11 12:47 ` [PATCH v5 2/4] Add the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-08-11 12:47 ` [PATCH v5 3/4] Introduce the NVMM impl Kamil Rytarowski
2020-08-11 12:47 ` [PATCH v5 4/4] Add the NVMM acceleration enlightenments Kamil Rytarowski
2020-08-11 13:01 ` [PATCH v5 1/4] Add the NVMM vcpu API Kamil Rytarowski
2020-08-11 13:01 ` [PATCH v5 2/4] Add the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-08-11 13:01 ` [PATCH v5 3/4] Introduce the NVMM impl Kamil Rytarowski
2020-08-11 13:01 ` [PATCH v5 4/4] Add the NVMM acceleration enlightenments Kamil Rytarowski
2020-09-04 23:28 ` [PATCH v5 1/4] Add the NVMM vcpu API Kamil Rytarowski
2020-02-06 21:32 ` [PATCH v4 2/4] Add the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-02-06 21:32 ` [PATCH v4 3/4] Introduce the NVMM impl Kamil Rytarowski
2020-02-06 23:28 ` [PATCH v4 3/4 FIXUP] " Kamil Rytarowski
2020-03-02 18:13 ` [PATCH v4 3/4] " Paolo Bonzini
2020-03-02 19:28 ` Maxime Villard
2020-03-02 19:35 ` Paolo Bonzini
2020-03-10 6:45 ` Maxime Villard
2020-03-10 10:15 ` Kamil Rytarowski
2020-03-10 10:58 ` Paolo Bonzini
2020-03-10 19:14 ` Maxime Villard
2020-03-11 18:03 ` Paolo Bonzini
2020-03-11 20:14 ` Maxime Villard
2020-03-11 20:42 ` Paolo Bonzini
2020-03-11 21:21 ` Maxime Villard
2020-03-11 21:22 ` Kamil Rytarowski [this message]
2020-03-11 21:44 ` Paolo Bonzini
2020-03-12 7:08 ` Maxime Villard
2020-07-21 13:42 ` Kamil Rytarowski
2020-02-06 21:32 ` [PATCH v4 4/4] Add the NVMM acceleration enlightenments Kamil Rytarowski
2020-02-17 9:07 ` [PATCH v4 0/4] Implements the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-02-24 15:17 ` Kamil Rytarowski
2020-03-02 17:02 ` Kamil Rytarowski
2020-03-02 17:10 ` Eduardo Habkost
2020-03-02 17:10 ` Kamil Rytarowski
2020-03-02 17:22 ` Eduardo Habkost
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=0b81483b-65ab-0c6a-72ff-080da10fccc3@gmx.com \
--to=n54@gmx.com \
--cc=ehabkost@redhat.com \
--cc=jmcneill@invisible.ca \
--cc=max@m00nbsd.net \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=slp@redhat.com \
/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).