From: Gautham R Shenoy <ego@linux.vnet.ibm.com>
To: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
Cc: Michael Neuling <mikey@neuling.org>,
Nicholas Piggin <npiggin@gmail.com>,
Bharata B Rao <bharata@linux.ibm.com>,
linuxppc-dev@ozlabs.org, kvm-ppc@vger.kernel.org,
Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org,
David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [RFC/PATCH 0/3] Add support for stop instruction inside KVM guest
Date: Tue, 31 Mar 2020 12:26:47 +0000 [thread overview]
Message-ID: <20200331121447.GA1996@in.ibm.com> (raw)
In-Reply-To: <1585656658-1838-1-git-send-email-ego@linux.vnet.ibm.com>
On Tue, Mar 31, 2020 at 05:40:55PM +0530, Gautham R. Shenoy wrote:
> From: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
>
>
> *** RFC Only. Not intended for inclusion ************
>
> Motivation
> ~~~~~~~~~~~~~~~
>
> The POWER ISA v3.0 allows stop instruction to be executed from a Guest
> Kernel (HV=0,PR=0) context. If the hypervisor has cleared
> PSSCR[ESL|EC] bits, then the stop instruction thus executed will cause
> the vCPU thread to "pause", thereby donating its cycles to the other
> threads in the core until the paused thread is woken up by an
> interrupt. If the hypervisor has set the PSSCR[ESL|EC] bits, then
> execution of the "stop" instruction will raise a Hypervisor Facility
> Unavailable exception.
>
> The stop idle state in the guest (henceforth referred to as stop0lite)
> when enabled
>
> * has a very small wakeup latency (1-3us) comparable to that of
> snooze and considerably better compared the Shared CEDE state
> (25-30us). Results are provided below for wakeup latency measured
> by waking up an idle CPU in a given state using a timer as well as
> using an IPI.
>
> ===================================
> Wakeup Latency measured using a timer (in ns) [Lower is better]
> ===================================
> Idle state | Nr samples | Min | Max | Median | Avg | Stddev|
> ===================================
> snooze | 60 | 787 | 1059 | 938 | 937.4 | 42.27 |
> ===================================
> stop0lite | 60 | 770 | 1182 | 948 | 946.4 | 67.41 |
> ===================================
> Shared CEDE| 60 | 9550 | 36694 | 29219 |28564.1|3545.9 |
> ===================================
>
Posted two copies of Wakeup latency measured by timer. Here is the
wakeup latency measured using an IPI.
===================================
Wakeup latency measured using an IPI (in ns) [Lower is better]
===================================
Idle state | Nr | Min | Max | Median | Avg | Stddev |
|samples | | | | | |
----------------------------------------------------------------------
snooze | 60 | 2089| 4228| 2259| 2342.31| 316.56|
----------------------------------------------------------------------
stop0lite | 60 | 1947| 3674| 2653| 2610.57| 266.73|
----------------------------------------------------------------------
Shared CEDE| 60 | 20147| 36305| 21827| 26762.65| 6875.01|
===================================
--
Thanks and Regards
gautham.
WARNING: multiple messages have this Message-ID (diff)
From: Gautham R Shenoy <ego@linux.vnet.ibm.com>
To: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
Cc: Michael Neuling <mikey@neuling.org>,
Nicholas Piggin <npiggin@gmail.com>,
Bharata B Rao <bharata@linux.ibm.com>,
linuxppc-dev@ozlabs.org, kvm-ppc@vger.kernel.org,
Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org,
David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [RFC/PATCH 0/3] Add support for stop instruction inside KVM guest
Date: Tue, 31 Mar 2020 17:44:47 +0530 [thread overview]
Message-ID: <20200331121447.GA1996@in.ibm.com> (raw)
In-Reply-To: <1585656658-1838-1-git-send-email-ego@linux.vnet.ibm.com>
On Tue, Mar 31, 2020 at 05:40:55PM +0530, Gautham R. Shenoy wrote:
> From: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
>
>
> *** RFC Only. Not intended for inclusion ************
>
> Motivation
> ~~~~~~~~~~~~~~~
>
> The POWER ISA v3.0 allows stop instruction to be executed from a Guest
> Kernel (HV=0,PR=0) context. If the hypervisor has cleared
> PSSCR[ESL|EC] bits, then the stop instruction thus executed will cause
> the vCPU thread to "pause", thereby donating its cycles to the other
> threads in the core until the paused thread is woken up by an
> interrupt. If the hypervisor has set the PSSCR[ESL|EC] bits, then
> execution of the "stop" instruction will raise a Hypervisor Facility
> Unavailable exception.
>
> The stop idle state in the guest (henceforth referred to as stop0lite)
> when enabled
>
> * has a very small wakeup latency (1-3us) comparable to that of
> snooze and considerably better compared the Shared CEDE state
> (25-30us). Results are provided below for wakeup latency measured
> by waking up an idle CPU in a given state using a timer as well as
> using an IPI.
>
> ======================================================================
> Wakeup Latency measured using a timer (in ns) [Lower is better]
> ======================================================================
> Idle state | Nr samples | Min | Max | Median | Avg | Stddev|
> ======================================================================
> snooze | 60 | 787 | 1059 | 938 | 937.4 | 42.27 |
> ======================================================================
> stop0lite | 60 | 770 | 1182 | 948 | 946.4 | 67.41 |
> ======================================================================
> Shared CEDE| 60 | 9550 | 36694 | 29219 |28564.1|3545.9 |
> ======================================================================
>
Posted two copies of Wakeup latency measured by timer. Here is the
wakeup latency measured using an IPI.
======================================================================
Wakeup latency measured using an IPI (in ns) [Lower is better]
======================================================================
Idle state | Nr | Min | Max | Median | Avg | Stddev |
|samples | | | | | |
----------------------------------------------------------------------
snooze | 60 | 2089| 4228| 2259| 2342.31| 316.56|
----------------------------------------------------------------------
stop0lite | 60 | 1947| 3674| 2653| 2610.57| 266.73|
----------------------------------------------------------------------
Shared CEDE| 60 | 20147| 36305| 21827| 26762.65| 6875.01|
======================================================================
--
Thanks and Regards
gautham.
next prev parent reply other threads:[~2020-03-31 12:26 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-31 12:10 [RFC/PATCH 0/3] Add support for stop instruction inside KVM guest Gautham R. Shenoy
2020-03-31 12:22 ` Gautham R. Shenoy
2020-03-31 12:10 ` [RFC/PATCH 1/3] powerpc/kvm: Handle H_FAC_UNAVAIL when guest executes stop Gautham R. Shenoy
2020-03-31 12:22 ` Gautham R. Shenoy
2020-04-03 2:15 ` Nicholas Piggin
2020-04-03 2:15 ` Nicholas Piggin
2020-03-31 12:10 ` [RFC/PATCH 2/3] pseries/kvm: Clear PSSCR[ESL|EC] bits before guest entry Gautham R. Shenoy
2020-03-31 12:22 ` Gautham R. Shenoy
2020-04-03 2:20 ` Nicholas Piggin
2020-04-03 2:20 ` Nicholas Piggin
2020-04-03 9:31 ` Gautham R Shenoy
2020-04-03 9:43 ` Gautham R Shenoy
2020-04-06 9:58 ` David Gibson
2020-04-06 9:58 ` David Gibson
2020-04-07 13:25 ` Gautham R Shenoy
2020-04-07 13:37 ` Gautham R Shenoy
2020-04-08 2:29 ` David Gibson
2020-04-08 2:29 ` David Gibson
2020-04-13 10:25 ` Gautham R Shenoy
2020-04-13 10:37 ` Gautham R Shenoy
2020-04-14 2:17 ` David Gibson
2020-04-14 2:17 ` David Gibson
2020-04-07 12:33 ` Gautham R Shenoy
2020-04-07 12:45 ` Gautham R Shenoy
2020-03-31 12:10 ` [RFC/PATCH 3/3] cpuidle/pseries: Add stop0lite state Gautham R. Shenoy
2020-03-31 12:22 ` Gautham R. Shenoy
2020-03-31 12:14 ` Gautham R Shenoy [this message]
2020-03-31 12:26 ` [RFC/PATCH 0/3] Add support for stop instruction inside KVM guest Gautham R Shenoy
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=20200331121447.GA1996@in.ibm.com \
--to=ego@linux.vnet.ibm.com \
--cc=bharata@linux.ibm.com \
--cc=david@gibson.dropbear.id.au \
--cc=kvm-ppc@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=mikey@neuling.org \
--cc=npiggin@gmail.com \
--cc=svaidy@linux.vnet.ibm.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.