From: Paul Mackerras <paulus@ozlabs.org>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: "Gautham R . Shenoy" <ego@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org, kvm-ppc@vger.kernel.org
Subject: Re: [PATCH v10 2/2] powerpc/64s: KVM update for reimplement book3s idle code in C
Date: Mon, 13 May 2019 06:42:07 +0000 [thread overview]
Message-ID: <20190513064207.GA11679@blackberry> (raw)
In-Reply-To: <20190428114515.32683-3-npiggin@gmail.com>
On Sun, Apr 28, 2019 at 09:45:15PM +1000, Nicholas Piggin wrote:
> This is the KVM update to the new idle code. A few improvements:
>
> - Idle sleepers now always return to caller rather than branch out
> to KVM first.
> - This allows optimisations like very fast return to caller when no
> state has been lost.
> - KVM no longer requires nap_state_lost because it controls NVGPR
> save/restore itself on the way in and out.
> - The heavy idle wakeup KVM request check can be moved out of the
> normal host idle code and into the not-performance-critical offline
> code.
> - KVM nap code now returns from where it is called, which makes the
> flow a bit easier to follow.
One question below...
> diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
> index 58d0f1ba845d..f66191d8f841 100644
> --- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S
> +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
...
> @@ -2656,6 +2662,9 @@ END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)
>
> lis r3, LPCR_PECEDP@h /* Do wake on privileged doorbell */
>
> + /* Go back to host stack */
> + ld r1, HSTATE_HOST_R1(r13)
At this point we are in kvmppc_h_cede, which we branched to from
hcall_try_real_mode, which came from the guest exit path, where we
have already loaded r1 from HSTATE_HOST_R1(r13). So if there is a
path to get here with r1 not already set to HSTATE_HOST_R1(r13), then
I missed it - please point it out to me. Otherwise this statement
seems superfluous.
Paul.
WARNING: multiple messages have this Message-ID (diff)
From: Paul Mackerras <paulus@ozlabs.org>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: "Gautham R . Shenoy" <ego@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org, kvm-ppc@vger.kernel.org
Subject: Re: [PATCH v10 2/2] powerpc/64s: KVM update for reimplement book3s idle code in C
Date: Mon, 13 May 2019 16:42:07 +1000 [thread overview]
Message-ID: <20190513064207.GA11679@blackberry> (raw)
In-Reply-To: <20190428114515.32683-3-npiggin@gmail.com>
On Sun, Apr 28, 2019 at 09:45:15PM +1000, Nicholas Piggin wrote:
> This is the KVM update to the new idle code. A few improvements:
>
> - Idle sleepers now always return to caller rather than branch out
> to KVM first.
> - This allows optimisations like very fast return to caller when no
> state has been lost.
> - KVM no longer requires nap_state_lost because it controls NVGPR
> save/restore itself on the way in and out.
> - The heavy idle wakeup KVM request check can be moved out of the
> normal host idle code and into the not-performance-critical offline
> code.
> - KVM nap code now returns from where it is called, which makes the
> flow a bit easier to follow.
One question below...
> diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
> index 58d0f1ba845d..f66191d8f841 100644
> --- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S
> +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
...
> @@ -2656,6 +2662,9 @@ END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)
>
> lis r3, LPCR_PECEDP@h /* Do wake on privileged doorbell */
>
> + /* Go back to host stack */
> + ld r1, HSTATE_HOST_R1(r13)
At this point we are in kvmppc_h_cede, which we branched to from
hcall_try_real_mode, which came from the guest exit path, where we
have already loaded r1 from HSTATE_HOST_R1(r13). So if there is a
path to get here with r1 not already set to HSTATE_HOST_R1(r13), then
I missed it - please point it out to me. Otherwise this statement
seems superfluous.
Paul.
next prev parent reply other threads:[~2019-05-13 6:42 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-28 11:45 [PATCH v10 0/2] powerpc/64s: reimplement book3s idle code in C Nicholas Piggin
2019-04-28 11:45 ` Nicholas Piggin
2019-04-28 11:45 ` [PATCH v10 1/2] " Nicholas Piggin
2019-04-28 11:45 ` Nicholas Piggin
2019-04-28 11:45 ` [PATCH v10 2/2] powerpc/64s: KVM update for " Nicholas Piggin
2019-04-28 11:45 ` Nicholas Piggin
2019-05-13 6:42 ` Paul Mackerras [this message]
2019-05-13 6:42 ` Paul Mackerras
2019-05-16 4:43 ` Nicholas Piggin
2019-05-16 4:43 ` Nicholas Piggin
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=20190513064207.GA11679@blackberry \
--to=paulus@ozlabs.org \
--cc=ego@linux.vnet.ibm.com \
--cc=kvm-ppc@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=npiggin@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.