* [PATCH v2 0/2] ppc/pnv.c: add a friendly warning when accel=kvm is used
@ 2021-11-30 13:31 Daniel Henrique Barboza
2021-11-30 13:31 ` [PATCH v2 1/2] " Daniel Henrique Barboza
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Daniel Henrique Barboza @ 2021-11-30 13:31 UTC (permalink / raw)
To: qemu-devel; +Cc: Daniel Henrique Barboza, qemu-ppc, clg, david
Hi,
In this version a documentation patch was added to explain
our motivations to officially disable KVM accel in the powernv
machine.
Changes from v1:
- added a doc patch
- v1 link: https://lists.gnu.org/archive/html/qemu-devel/2021-11/msg05207.html
Daniel Henrique Barboza (2):
ppc/pnv.c: add a friendly warning when accel=kvm is used
docs/system/ppc/powernv.rst: document KVM support status
docs/system/ppc/powernv.rst | 13 +++++++++++++
hw/ppc/pnv.c | 5 +++++
2 files changed, 18 insertions(+)
--
2.31.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 1/2] ppc/pnv.c: add a friendly warning when accel=kvm is used
2021-11-30 13:31 [PATCH v2 0/2] ppc/pnv.c: add a friendly warning when accel=kvm is used Daniel Henrique Barboza
@ 2021-11-30 13:31 ` Daniel Henrique Barboza
2021-11-30 23:43 ` David Gibson
2021-11-30 13:31 ` [PATCH v2 2/2] docs/system/ppc/powernv.rst: document KVM support status Daniel Henrique Barboza
2021-12-15 16:38 ` [PATCH v2 0/2] ppc/pnv.c: add a friendly warning when accel=kvm is used Cédric Le Goater
2 siblings, 1 reply; 5+ messages in thread
From: Daniel Henrique Barboza @ 2021-11-30 13:31 UTC (permalink / raw)
To: qemu-devel; +Cc: Daniel Henrique Barboza, qemu-ppc, clg, david
If one tries to use -machine powernv9,accel=kvm in a Power9 host, a
cryptic error will be shown:
qemu-system-ppc64: Register sync failed... If you're using kvm-hv.ko, only "-cpu host" is possible
qemu-system-ppc64: kvm_init_vcpu: kvm_arch_init_vcpu failed (0): Invalid argument
Appending '-cpu host' will throw another error:
qemu-system-ppc64: invalid chip model 'host' for powernv9 machine
The root cause is that in IBM PowerPC we have different specs for the bare-metal
and the guests. The bare-metal follows OPAL, the guests follow PAPR. The kernel
KVM modules presented in the ppc kernels implements PAPR. This means that we
can't use KVM accel when using the powernv machine, which is the emulation of
the bare-metal host.
All that said, let's give a more informative error in this case.
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
hw/ppc/pnv.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 71e45515f1..e5b87e8730 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -742,6 +742,11 @@ static void pnv_init(MachineState *machine)
DriveInfo *pnor = drive_get(IF_MTD, 0, 0);
DeviceState *dev;
+ if (kvm_enabled()) {
+ error_report("The powernv machine does not work with KVM acceleration");
+ exit(EXIT_FAILURE);
+ }
+
/* allocate RAM */
if (machine->ram_size < mc->default_ram_size) {
char *sz = size_to_str(mc->default_ram_size);
--
2.31.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/2] docs/system/ppc/powernv.rst: document KVM support status
2021-11-30 13:31 [PATCH v2 0/2] ppc/pnv.c: add a friendly warning when accel=kvm is used Daniel Henrique Barboza
2021-11-30 13:31 ` [PATCH v2 1/2] " Daniel Henrique Barboza
@ 2021-11-30 13:31 ` Daniel Henrique Barboza
2021-12-15 16:38 ` [PATCH v2 0/2] ppc/pnv.c: add a friendly warning when accel=kvm is used Cédric Le Goater
2 siblings, 0 replies; 5+ messages in thread
From: Daniel Henrique Barboza @ 2021-11-30 13:31 UTC (permalink / raw)
To: qemu-devel; +Cc: Daniel Henrique Barboza, qemu-ppc, clg, david
Put in a more accessible place the reasoning behind our decision
to officially drop KVM support in the powernv machine.
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
docs/system/ppc/powernv.rst | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/docs/system/ppc/powernv.rst b/docs/system/ppc/powernv.rst
index 86186b7d2c..8304e85c51 100644
--- a/docs/system/ppc/powernv.rst
+++ b/docs/system/ppc/powernv.rst
@@ -58,6 +58,19 @@ Prebuilt images of ``skiboot`` and ``skiroot`` are made available on the `OpenPO
QEMU includes a prebuilt image of ``skiboot`` which is updated when a
more recent version is required by the models.
+Current acceleration status
+---------------------------
+
+KVM acceleration in Linux Power hosts is provided by the kvm-hv and
+kvm-pr modules. kvm-hv is adherent to PAPR and it's not compliant with
+powernv. kvm-pr in theory could be used as a valid accel option but
+this isn't supported by kvm-pr at this moment.
+
+To spare users from dealing with not so informative errors when attempting
+to use accel=kvm, the powernv machine will throw an error informing that
+KVM is not supported. This can be revisited in the future if kvm-pr (or
+any other KVM alternative) is usable as KVM accel for this machine.
+
Boot options
------------
--
2.31.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] ppc/pnv.c: add a friendly warning when accel=kvm is used
2021-11-30 13:31 ` [PATCH v2 1/2] " Daniel Henrique Barboza
@ 2021-11-30 23:43 ` David Gibson
0 siblings, 0 replies; 5+ messages in thread
From: David Gibson @ 2021-11-30 23:43 UTC (permalink / raw)
To: Daniel Henrique Barboza; +Cc: qemu-ppc, qemu-devel, clg
[-- Attachment #1: Type: text/plain, Size: 1904 bytes --]
On Tue, Nov 30, 2021 at 10:31:52AM -0300, Daniel Henrique Barboza wrote:
> If one tries to use -machine powernv9,accel=kvm in a Power9 host, a
> cryptic error will be shown:
>
> qemu-system-ppc64: Register sync failed... If you're using kvm-hv.ko, only "-cpu host" is possible
> qemu-system-ppc64: kvm_init_vcpu: kvm_arch_init_vcpu failed (0): Invalid argument
>
> Appending '-cpu host' will throw another error:
>
> qemu-system-ppc64: invalid chip model 'host' for powernv9 machine
>
> The root cause is that in IBM PowerPC we have different specs for the bare-metal
> and the guests. The bare-metal follows OPAL, the guests follow PAPR. The kernel
> KVM modules presented in the ppc kernels implements PAPR. This means that we
> can't use KVM accel when using the powernv machine, which is the emulation of
> the bare-metal host.
>
> All that said, let's give a more informative error in this case.
>
> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
> ---
> hw/ppc/pnv.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> index 71e45515f1..e5b87e8730 100644
> --- a/hw/ppc/pnv.c
> +++ b/hw/ppc/pnv.c
> @@ -742,6 +742,11 @@ static void pnv_init(MachineState *machine)
> DriveInfo *pnor = drive_get(IF_MTD, 0, 0);
> DeviceState *dev;
>
> + if (kvm_enabled()) {
> + error_report("The powernv machine does not work with KVM acceleration");
> + exit(EXIT_FAILURE);
> + }
> +
> /* allocate RAM */
> if (machine->ram_size < mc->default_ram_size) {
> char *sz = size_to_str(mc->default_ram_size);
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 0/2] ppc/pnv.c: add a friendly warning when accel=kvm is used
2021-11-30 13:31 [PATCH v2 0/2] ppc/pnv.c: add a friendly warning when accel=kvm is used Daniel Henrique Barboza
2021-11-30 13:31 ` [PATCH v2 1/2] " Daniel Henrique Barboza
2021-11-30 13:31 ` [PATCH v2 2/2] docs/system/ppc/powernv.rst: document KVM support status Daniel Henrique Barboza
@ 2021-12-15 16:38 ` Cédric Le Goater
2 siblings, 0 replies; 5+ messages in thread
From: Cédric Le Goater @ 2021-12-15 16:38 UTC (permalink / raw)
To: Daniel Henrique Barboza, qemu-devel; +Cc: qemu-ppc, david
On 11/30/21 14:31, Daniel Henrique Barboza wrote:
> Hi,
>
> In this version a documentation patch was added to explain
> our motivations to officially disable KVM accel in the powernv
> machine.
Applied to ppc-next.
Thanks,
C.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-12-15 16:43 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-30 13:31 [PATCH v2 0/2] ppc/pnv.c: add a friendly warning when accel=kvm is used Daniel Henrique Barboza
2021-11-30 13:31 ` [PATCH v2 1/2] " Daniel Henrique Barboza
2021-11-30 23:43 ` David Gibson
2021-11-30 13:31 ` [PATCH v2 2/2] docs/system/ppc/powernv.rst: document KVM support status Daniel Henrique Barboza
2021-12-15 16:38 ` [PATCH v2 0/2] ppc/pnv.c: add a friendly warning when accel=kvm is used Cédric Le Goater
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).