qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2] target/s390x/kvm: Officially require at least kernel 3.15
@ 2019-09-13  9:14 Thomas Huth
  2019-09-13  9:15 ` David Hildenbrand
  2019-09-16 17:11 ` Cornelia Huck
  0 siblings, 2 replies; 3+ messages in thread
From: Thomas Huth @ 2019-09-13  9:14 UTC (permalink / raw)
  To: Cornelia Huck, Halil Pasic, Christian Borntraeger, qemu-s390x
  Cc: qemu-devel, David Hildenbrand

Since QEMU v2.10, the KVM acceleration does not work on older kernels
anymore since the code accidentally requires the KVM_CAP_DEVICE_CTRL
capability now - it should have been optional instead.
Instead of fixing the bug, we asked in the ChangeLog of QEMU 2.11 - 3.0
that people should speak up if they still need support of QEMU running
with KVM on older kernels, but seems like nobody really complained.
Thus let's make this official now and turn it into a proper error
message, telling the users to use at least kernel 3.15 now.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 v2: Remove also the entry in trace-events

 hw/intc/s390_flic_kvm.c | 6 ------
 hw/intc/trace-events    | 1 -
 target/s390x/kvm.c      | 7 +++++++
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/hw/intc/s390_flic_kvm.c b/hw/intc/s390_flic_kvm.c
index 819aa5e198..cedccba8a9 100644
--- a/hw/intc/s390_flic_kvm.c
+++ b/hw/intc/s390_flic_kvm.c
@@ -589,12 +589,6 @@ static void kvm_s390_flic_realize(DeviceState *dev, Error **errp)
         goto fail;
     }
     flic_state->fd = -1;
-    if (!kvm_check_extension(kvm_state, KVM_CAP_DEVICE_CTRL)) {
-        error_setg_errno(&errp_local, errno, "KVM is missing capability"
-                         " KVM_CAP_DEVICE_CTRL");
-        trace_flic_no_device_api(errno);
-        goto fail;
-    }
 
     cd.type = KVM_DEV_TYPE_FLIC;
     ret = kvm_vm_ioctl(kvm_state, KVM_CREATE_DEVICE, &cd);
diff --git a/hw/intc/trace-events b/hw/intc/trace-events
index 90c9d07c1a..719f46b516 100644
--- a/hw/intc/trace-events
+++ b/hw/intc/trace-events
@@ -75,7 +75,6 @@ xics_ics_simple_eoi(int nr) "ics_eoi: irq 0x%x"
 
 # s390_flic_kvm.c
 flic_create_device(int err) "flic: create device failed %d"
-flic_no_device_api(int err) "flic: no Device Contral API support %d"
 flic_reset_failed(int err) "flic: reset failed %d"
 
 # s390_flic.c
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index cea71ac7c3..97a662ad0e 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -316,6 +316,13 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
     MachineClass *mc = MACHINE_GET_CLASS(ms);
 
     mc->default_cpu_type = S390_CPU_TYPE_NAME("host");
+
+    if (!kvm_check_extension(kvm_state, KVM_CAP_DEVICE_CTRL)) {
+        error_report("KVM is missing capability KVM_CAP_DEVICE_CTRL - "
+                     "please use kernel 3.15 or newer");
+        return -1;
+    }
+
     cap_sync_regs = kvm_check_extension(s, KVM_CAP_SYNC_REGS);
     cap_async_pf = kvm_check_extension(s, KVM_CAP_ASYNC_PF);
     cap_mem_op = kvm_check_extension(s, KVM_CAP_S390_MEM_OP);
-- 
2.18.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH v2] target/s390x/kvm: Officially require at least kernel 3.15
  2019-09-13  9:14 [Qemu-devel] [PATCH v2] target/s390x/kvm: Officially require at least kernel 3.15 Thomas Huth
@ 2019-09-13  9:15 ` David Hildenbrand
  2019-09-16 17:11 ` Cornelia Huck
  1 sibling, 0 replies; 3+ messages in thread
From: David Hildenbrand @ 2019-09-13  9:15 UTC (permalink / raw)
  To: Thomas Huth, Cornelia Huck, Halil Pasic, Christian Borntraeger,
	qemu-s390x
  Cc: qemu-devel

I'd use the title "s390x/kvm: ..."

Reviewed-by: David Hildenbrand <david@redhat.com>

On 13.09.19 11:14, Thomas Huth wrote:
> Since QEMU v2.10, the KVM acceleration does not work on older kernels
> anymore since the code accidentally requires the KVM_CAP_DEVICE_CTRL
> capability now - it should have been optional instead.
> Instead of fixing the bug, we asked in the ChangeLog of QEMU 2.11 - 3.0
> that people should speak up if they still need support of QEMU running
> with KVM on older kernels, but seems like nobody really complained.
> Thus let's make this official now and turn it into a proper error
> message, telling the users to use at least kernel 3.15 now.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  v2: Remove also the entry in trace-events
> 
>  hw/intc/s390_flic_kvm.c | 6 ------
>  hw/intc/trace-events    | 1 -
>  target/s390x/kvm.c      | 7 +++++++
>  3 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/hw/intc/s390_flic_kvm.c b/hw/intc/s390_flic_kvm.c
> index 819aa5e198..cedccba8a9 100644
> --- a/hw/intc/s390_flic_kvm.c
> +++ b/hw/intc/s390_flic_kvm.c
> @@ -589,12 +589,6 @@ static void kvm_s390_flic_realize(DeviceState *dev, Error **errp)
>          goto fail;
>      }
>      flic_state->fd = -1;
> -    if (!kvm_check_extension(kvm_state, KVM_CAP_DEVICE_CTRL)) {
> -        error_setg_errno(&errp_local, errno, "KVM is missing capability"
> -                         " KVM_CAP_DEVICE_CTRL");
> -        trace_flic_no_device_api(errno);
> -        goto fail;
> -    }
>  
>      cd.type = KVM_DEV_TYPE_FLIC;
>      ret = kvm_vm_ioctl(kvm_state, KVM_CREATE_DEVICE, &cd);
> diff --git a/hw/intc/trace-events b/hw/intc/trace-events
> index 90c9d07c1a..719f46b516 100644
> --- a/hw/intc/trace-events
> +++ b/hw/intc/trace-events
> @@ -75,7 +75,6 @@ xics_ics_simple_eoi(int nr) "ics_eoi: irq 0x%x"
>  
>  # s390_flic_kvm.c
>  flic_create_device(int err) "flic: create device failed %d"
> -flic_no_device_api(int err) "flic: no Device Contral API support %d"
>  flic_reset_failed(int err) "flic: reset failed %d"
>  
>  # s390_flic.c
> diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
> index cea71ac7c3..97a662ad0e 100644
> --- a/target/s390x/kvm.c
> +++ b/target/s390x/kvm.c
> @@ -316,6 +316,13 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
>      MachineClass *mc = MACHINE_GET_CLASS(ms);
>  
>      mc->default_cpu_type = S390_CPU_TYPE_NAME("host");
> +
> +    if (!kvm_check_extension(kvm_state, KVM_CAP_DEVICE_CTRL)) {
> +        error_report("KVM is missing capability KVM_CAP_DEVICE_CTRL - "
> +                     "please use kernel 3.15 or newer");
> +        return -1;
> +    }
> +
>      cap_sync_regs = kvm_check_extension(s, KVM_CAP_SYNC_REGS);
>      cap_async_pf = kvm_check_extension(s, KVM_CAP_ASYNC_PF);
>      cap_mem_op = kvm_check_extension(s, KVM_CAP_S390_MEM_OP);
> 


-- 

Thanks,

David / dhildenb


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH v2] target/s390x/kvm: Officially require at least kernel 3.15
  2019-09-13  9:14 [Qemu-devel] [PATCH v2] target/s390x/kvm: Officially require at least kernel 3.15 Thomas Huth
  2019-09-13  9:15 ` David Hildenbrand
@ 2019-09-16 17:11 ` Cornelia Huck
  1 sibling, 0 replies; 3+ messages in thread
From: Cornelia Huck @ 2019-09-16 17:11 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Halil Pasic, Christian Borntraeger, qemu-s390x, qemu-devel,
	David Hildenbrand

On Fri, 13 Sep 2019 11:14:43 +0200
Thomas Huth <thuth@redhat.com> wrote:

Modified the subject, as suggested by David.

> Since QEMU v2.10, the KVM acceleration does not work on older kernels
> anymore since the code accidentally requires the KVM_CAP_DEVICE_CTRL
> capability now - it should have been optional instead.
> Instead of fixing the bug, we asked in the ChangeLog of QEMU 2.11 - 3.0
> that people should speak up if they still need support of QEMU running
> with KVM on older kernels, but seems like nobody really complained.
> Thus let's make this official now and turn it into a proper error
> message, telling the users to use at least kernel 3.15 now.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  v2: Remove also the entry in trace-events
> 
>  hw/intc/s390_flic_kvm.c | 6 ------
>  hw/intc/trace-events    | 1 -
>  target/s390x/kvm.c      | 7 +++++++
>  3 files changed, 7 insertions(+), 7 deletions(-)

(...)

> diff --git a/hw/intc/trace-events b/hw/intc/trace-events
> index 90c9d07c1a..719f46b516 100644
> --- a/hw/intc/trace-events
> +++ b/hw/intc/trace-events
> @@ -75,7 +75,6 @@ xics_ics_simple_eoi(int nr) "ics_eoi: irq 0x%x"
>  
>  # s390_flic_kvm.c
>  flic_create_device(int err) "flic: create device failed %d"
> -flic_no_device_api(int err) "flic: no Device Contral API support %d"

Nice, this also gets rid of a typo :)

>  flic_reset_failed(int err) "flic: reset failed %d"
>  
>  # s390_flic.c

(...)

Thanks, applied.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-09-16 17:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-13  9:14 [Qemu-devel] [PATCH v2] target/s390x/kvm: Officially require at least kernel 3.15 Thomas Huth
2019-09-13  9:15 ` David Hildenbrand
2019-09-16 17:11 ` Cornelia Huck

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).