* [Qemu-devel] [PATCH 0/2] kvm: add kvm_pv_unhalt
@ 2013-09-18 14:41 Andrew Jones
2013-09-18 14:41 ` [Qemu-devel] [PATCH 1/2] linux-headers: update to 3.12-rc1 Andrew Jones
2013-09-18 14:41 ` [Qemu-devel] [PATCH 2/2] qemu-kvm: paravirt: add feature kvm_pv_unhalt Andrew Jones
0 siblings, 2 replies; 7+ messages in thread
From: Andrew Jones @ 2013-09-18 14:41 UTC (permalink / raw)
To: qemu-devel; +Cc: afaerber, ehabkost
pvticketlocks are in v3.12-rc1, teach qemu-kvm about it.
Benchmarking is still in progress to determine if we can turn it
on by default. So leaving it off for now.
Andrew Jones (2):
linux-headers: update to 3.12-rc1
qemu-kvm: paravirt: add feature kvm_pv_unhalt
linux-headers/asm-x86/kvm_para.h | 1 +
linux-headers/linux/kvm.h | 1 +
linux-headers/linux/kvm_para.h | 1 +
linux-headers/linux/vfio.h | 38 ++++++++++++++++++++++++++++++++++++++
target-i386/cpu.c | 2 +-
5 files changed, 42 insertions(+), 1 deletion(-)
--
1.8.1.4
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 1/2] linux-headers: update to 3.12-rc1
2013-09-18 14:41 [Qemu-devel] [PATCH 0/2] kvm: add kvm_pv_unhalt Andrew Jones
@ 2013-09-18 14:41 ` Andrew Jones
2013-09-18 18:05 ` Eduardo Habkost
2013-09-18 14:41 ` [Qemu-devel] [PATCH 2/2] qemu-kvm: paravirt: add feature kvm_pv_unhalt Andrew Jones
1 sibling, 1 reply; 7+ messages in thread
From: Andrew Jones @ 2013-09-18 14:41 UTC (permalink / raw)
To: qemu-devel; +Cc: afaerber, ehabkost
Signed-off-by: Andrew Jones <drjones@redhat.com>
---
| 1 +
| 1 +
| 1 +
| 38 ++++++++++++++++++++++++++++++++++++++
4 files changed, 41 insertions(+)
--git a/linux-headers/asm-x86/kvm_para.h b/linux-headers/asm-x86/kvm_para.h
index a1c3d72acd0eb..e41c5c1a28dae 100644
--- a/linux-headers/asm-x86/kvm_para.h
+++ b/linux-headers/asm-x86/kvm_para.h
@@ -23,6 +23,7 @@
#define KVM_FEATURE_ASYNC_PF 4
#define KVM_FEATURE_STEAL_TIME 5
#define KVM_FEATURE_PV_EOI 6
+#define KVM_FEATURE_PV_UNHALT 7
/* The last 8 bits are used to indicate how to interpret the flags field
* in pvclock structure. If no bits are set, all flags are ignored.
--git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
index 56fce1c400b14..13e890c53b110 100644
--- a/linux-headers/linux/kvm.h
+++ b/linux-headers/linux/kvm.h
@@ -667,6 +667,7 @@ struct kvm_ppc_smmu_info {
#define KVM_CAP_PPC_RTAS 91
#define KVM_CAP_IRQ_XICS 92
#define KVM_CAP_ARM_EL1_32BIT 93
+#define KVM_CAP_SPAPR_MULTITCE 94
#ifdef KVM_CAP_IRQ_ROUTING
--git a/linux-headers/linux/kvm_para.h b/linux-headers/linux/kvm_para.h
index 7bdcf93c1dba4..2dff7838b4398 100644
--- a/linux-headers/linux/kvm_para.h
+++ b/linux-headers/linux/kvm_para.h
@@ -19,6 +19,7 @@
#define KVM_HC_MMU_OP 2
#define KVM_HC_FEATURES 3
#define KVM_HC_PPC_MAP_MAGIC_PAGE 4
+#define KVM_HC_KICK_CPU 5
/*
* hypercalls use architecture specific
--git a/linux-headers/linux/vfio.h b/linux-headers/linux/vfio.h
index b42b9abd0e05a..17c58e0ede420 100644
--- a/linux-headers/linux/vfio.h
+++ b/linux-headers/linux/vfio.h
@@ -324,6 +324,44 @@ enum {
VFIO_PCI_NUM_IRQS
};
+/**
+ * VFIO_DEVICE_GET_PCI_HOT_RESET_INFO - _IORW(VFIO_TYPE, VFIO_BASE + 12,
+ * struct vfio_pci_hot_reset_info)
+ *
+ * Return: 0 on success, -errno on failure:
+ * -enospc = insufficient buffer, -enodev = unsupported for device.
+ */
+struct vfio_pci_dependent_device {
+ __u32 group_id;
+ __u16 segment;
+ __u8 bus;
+ __u8 devfn; /* Use PCI_SLOT/PCI_FUNC */
+};
+
+struct vfio_pci_hot_reset_info {
+ __u32 argsz;
+ __u32 flags;
+ __u32 count;
+ struct vfio_pci_dependent_device devices[];
+};
+
+#define VFIO_DEVICE_GET_PCI_HOT_RESET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
+
+/**
+ * VFIO_DEVICE_PCI_HOT_RESET - _IOW(VFIO_TYPE, VFIO_BASE + 13,
+ * struct vfio_pci_hot_reset)
+ *
+ * Return: 0 on success, -errno on failure.
+ */
+struct vfio_pci_hot_reset {
+ __u32 argsz;
+ __u32 flags;
+ __u32 count;
+ __s32 group_fds[];
+};
+
+#define VFIO_DEVICE_PCI_HOT_RESET _IO(VFIO_TYPE, VFIO_BASE + 13)
+
/* -------- API for Type1 VFIO IOMMU -------- */
/**
--
1.8.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 2/2] qemu-kvm: paravirt: add feature kvm_pv_unhalt
2013-09-18 14:41 [Qemu-devel] [PATCH 0/2] kvm: add kvm_pv_unhalt Andrew Jones
2013-09-18 14:41 ` [Qemu-devel] [PATCH 1/2] linux-headers: update to 3.12-rc1 Andrew Jones
@ 2013-09-18 14:41 ` Andrew Jones
2013-09-18 17:24 ` Eduardo Habkost
2013-09-18 17:35 ` Andreas Färber
1 sibling, 2 replies; 7+ messages in thread
From: Andrew Jones @ 2013-09-18 14:41 UTC (permalink / raw)
To: qemu-devel; +Cc: afaerber, ehabkost
I don't know yet if want this feature on by default, so for now I'm
just adding support for "-cpu ...,+kvm_pv_unhalt".
Signed-off-by: Andrew Jones <drjones@redhat.com>
---
target-i386/cpu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 42c5de034ecc8..89491e7b1fba1 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -123,7 +123,7 @@ static const char *ext4_feature_name[] = {
static const char *kvm_feature_name[] = {
"kvmclock", "kvm_nopiodelay", "kvm_mmu", "kvmclock",
- "kvm_asyncpf", "kvm_steal_time", "kvm_pv_eoi", NULL,
+ "kvm_asyncpf", "kvm_steal_time", "kvm_pv_eoi", "kvm_pv_unhalt",
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
--
1.8.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] qemu-kvm: paravirt: add feature kvm_pv_unhalt
2013-09-18 14:41 ` [Qemu-devel] [PATCH 2/2] qemu-kvm: paravirt: add feature kvm_pv_unhalt Andrew Jones
@ 2013-09-18 17:24 ` Eduardo Habkost
2013-09-18 17:35 ` Andreas Färber
1 sibling, 0 replies; 7+ messages in thread
From: Eduardo Habkost @ 2013-09-18 17:24 UTC (permalink / raw)
To: Andrew Jones; +Cc: qemu-devel, afaerber
On Wed, Sep 18, 2013 at 04:41:45PM +0200, Andrew Jones wrote:
> I don't know yet if want this feature on by default, so for now I'm
> just adding support for "-cpu ...,+kvm_pv_unhalt".
>
> Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> target-i386/cpu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index 42c5de034ecc8..89491e7b1fba1 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -123,7 +123,7 @@ static const char *ext4_feature_name[] = {
>
> static const char *kvm_feature_name[] = {
> "kvmclock", "kvm_nopiodelay", "kvm_mmu", "kvmclock",
> - "kvm_asyncpf", "kvm_steal_time", "kvm_pv_eoi", NULL,
> + "kvm_asyncpf", "kvm_steal_time", "kvm_pv_eoi", "kvm_pv_unhalt",
> NULL, NULL, NULL, NULL,
> NULL, NULL, NULL, NULL,
> NULL, NULL, NULL, NULL,
> --
> 1.8.1.4
>
--
Eduardo
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] qemu-kvm: paravirt: add feature kvm_pv_unhalt
2013-09-18 14:41 ` [Qemu-devel] [PATCH 2/2] qemu-kvm: paravirt: add feature kvm_pv_unhalt Andrew Jones
2013-09-18 17:24 ` Eduardo Habkost
@ 2013-09-18 17:35 ` Andreas Färber
2013-09-19 17:35 ` Paolo Bonzini
1 sibling, 1 reply; 7+ messages in thread
From: Andreas Färber @ 2013-09-18 17:35 UTC (permalink / raw)
To: Andrew Jones; +Cc: Paolo Bonzini, qemu-devel, ehabkost
Am 18.09.2013 16:41, schrieb Andrew Jones:
> I don't know yet if want this feature on by default, so for now I'm
> just adding support for "-cpu ...,+kvm_pv_unhalt".
>
> Signed-off-by: Andrew Jones <drjones@redhat.com>
> ---
> target-i386/cpu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index 42c5de034ecc8..89491e7b1fba1 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -123,7 +123,7 @@ static const char *ext4_feature_name[] = {
>
> static const char *kvm_feature_name[] = {
> "kvmclock", "kvm_nopiodelay", "kvm_mmu", "kvmclock",
> - "kvm_asyncpf", "kvm_steal_time", "kvm_pv_eoi", NULL,
> + "kvm_asyncpf", "kvm_steal_time", "kvm_pv_eoi", "kvm_pv_unhalt",
> NULL, NULL, NULL, NULL,
> NULL, NULL, NULL, NULL,
> NULL, NULL, NULL, NULL,
Since there's linux-headers updates involved I can't take it through my
qom-cpu queue. If Paolo can tweak the subject to "target-i386: Add
paravirt CPU feature kvm_pv_unhalt" or so I'd be happy for this to go
through his uq/master queue. (qemu-kvm no longer exists, all QEMU
patches are about QEMU anyway and there's no discrete "paravirt"
subsystem or precedent in qemu.git history.)
Patch itself is
Reviewed-by: Andreas Färber <afaerber@suse.de>
Regards,
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] linux-headers: update to 3.12-rc1
2013-09-18 14:41 ` [Qemu-devel] [PATCH 1/2] linux-headers: update to 3.12-rc1 Andrew Jones
@ 2013-09-18 18:05 ` Eduardo Habkost
0 siblings, 0 replies; 7+ messages in thread
From: Eduardo Habkost @ 2013-09-18 18:05 UTC (permalink / raw)
To: Andrew Jones; +Cc: qemu-devel, afaerber
On Wed, Sep 18, 2013 at 04:41:44PM +0200, Andrew Jones wrote:
> Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> linux-headers/asm-x86/kvm_para.h | 1 +
> linux-headers/linux/kvm.h | 1 +
> linux-headers/linux/kvm_para.h | 1 +
> linux-headers/linux/vfio.h | 38 ++++++++++++++++++++++++++++++++++++++
> 4 files changed, 41 insertions(+)
>
> diff --git a/linux-headers/asm-x86/kvm_para.h b/linux-headers/asm-x86/kvm_para.h
> index a1c3d72acd0eb..e41c5c1a28dae 100644
> --- a/linux-headers/asm-x86/kvm_para.h
> +++ b/linux-headers/asm-x86/kvm_para.h
> @@ -23,6 +23,7 @@
> #define KVM_FEATURE_ASYNC_PF 4
> #define KVM_FEATURE_STEAL_TIME 5
> #define KVM_FEATURE_PV_EOI 6
> +#define KVM_FEATURE_PV_UNHALT 7
>
> /* The last 8 bits are used to indicate how to interpret the flags field
> * in pvclock structure. If no bits are set, all flags are ignored.
> diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
> index 56fce1c400b14..13e890c53b110 100644
> --- a/linux-headers/linux/kvm.h
> +++ b/linux-headers/linux/kvm.h
> @@ -667,6 +667,7 @@ struct kvm_ppc_smmu_info {
> #define KVM_CAP_PPC_RTAS 91
> #define KVM_CAP_IRQ_XICS 92
> #define KVM_CAP_ARM_EL1_32BIT 93
> +#define KVM_CAP_SPAPR_MULTITCE 94
>
> #ifdef KVM_CAP_IRQ_ROUTING
>
> diff --git a/linux-headers/linux/kvm_para.h b/linux-headers/linux/kvm_para.h
> index 7bdcf93c1dba4..2dff7838b4398 100644
> --- a/linux-headers/linux/kvm_para.h
> +++ b/linux-headers/linux/kvm_para.h
> @@ -19,6 +19,7 @@
> #define KVM_HC_MMU_OP 2
> #define KVM_HC_FEATURES 3
> #define KVM_HC_PPC_MAP_MAGIC_PAGE 4
> +#define KVM_HC_KICK_CPU 5
>
> /*
> * hypercalls use architecture specific
> diff --git a/linux-headers/linux/vfio.h b/linux-headers/linux/vfio.h
> index b42b9abd0e05a..17c58e0ede420 100644
> --- a/linux-headers/linux/vfio.h
> +++ b/linux-headers/linux/vfio.h
> @@ -324,6 +324,44 @@ enum {
> VFIO_PCI_NUM_IRQS
> };
>
> +/**
> + * VFIO_DEVICE_GET_PCI_HOT_RESET_INFO - _IORW(VFIO_TYPE, VFIO_BASE + 12,
> + * struct vfio_pci_hot_reset_info)
> + *
> + * Return: 0 on success, -errno on failure:
> + * -enospc = insufficient buffer, -enodev = unsupported for device.
> + */
> +struct vfio_pci_dependent_device {
> + __u32 group_id;
> + __u16 segment;
> + __u8 bus;
> + __u8 devfn; /* Use PCI_SLOT/PCI_FUNC */
> +};
> +
> +struct vfio_pci_hot_reset_info {
> + __u32 argsz;
> + __u32 flags;
> + __u32 count;
> + struct vfio_pci_dependent_device devices[];
> +};
> +
> +#define VFIO_DEVICE_GET_PCI_HOT_RESET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
> +
> +/**
> + * VFIO_DEVICE_PCI_HOT_RESET - _IOW(VFIO_TYPE, VFIO_BASE + 13,
> + * struct vfio_pci_hot_reset)
> + *
> + * Return: 0 on success, -errno on failure.
> + */
> +struct vfio_pci_hot_reset {
> + __u32 argsz;
> + __u32 flags;
> + __u32 count;
> + __s32 group_fds[];
> +};
> +
> +#define VFIO_DEVICE_PCI_HOT_RESET _IO(VFIO_TYPE, VFIO_BASE + 13)
> +
> /* -------- API for Type1 VFIO IOMMU -------- */
>
> /**
> --
> 1.8.1.4
>
>
--
Eduardo
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] qemu-kvm: paravirt: add feature kvm_pv_unhalt
2013-09-18 17:35 ` Andreas Färber
@ 2013-09-19 17:35 ` Paolo Bonzini
0 siblings, 0 replies; 7+ messages in thread
From: Paolo Bonzini @ 2013-09-19 17:35 UTC (permalink / raw)
To: Andreas Färber; +Cc: Andrew Jones, qemu-devel, ehabkost
Il 18/09/2013 19:35, Andreas Färber ha scritto:
> Am 18.09.2013 16:41, schrieb Andrew Jones:
>> I don't know yet if want this feature on by default, so for now I'm
>> just adding support for "-cpu ...,+kvm_pv_unhalt".
>>
>> Signed-off-by: Andrew Jones <drjones@redhat.com>
>> ---
>> target-i386/cpu.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
>> index 42c5de034ecc8..89491e7b1fba1 100644
>> --- a/target-i386/cpu.c
>> +++ b/target-i386/cpu.c
>> @@ -123,7 +123,7 @@ static const char *ext4_feature_name[] = {
>>
>> static const char *kvm_feature_name[] = {
>> "kvmclock", "kvm_nopiodelay", "kvm_mmu", "kvmclock",
>> - "kvm_asyncpf", "kvm_steal_time", "kvm_pv_eoi", NULL,
>> + "kvm_asyncpf", "kvm_steal_time", "kvm_pv_eoi", "kvm_pv_unhalt",
>> NULL, NULL, NULL, NULL,
>> NULL, NULL, NULL, NULL,
>> NULL, NULL, NULL, NULL,
>
> Since there's linux-headers updates involved I can't take it through my
> qom-cpu queue. If Paolo can tweak the subject to "target-i386: Add
> paravirt CPU feature kvm_pv_unhalt" or so I'd be happy for this to go
> through his uq/master queue. (qemu-kvm no longer exists, all QEMU
> patches are about QEMU anyway and there's no discrete "paravirt"
> subsystem or precedent in qemu.git history.)
>
> Patch itself is
>
> Reviewed-by: Andreas Färber <afaerber@suse.de>
>
> Regards,
> Andreas
>
Will do.
Paolo
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-09-19 17:35 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-18 14:41 [Qemu-devel] [PATCH 0/2] kvm: add kvm_pv_unhalt Andrew Jones
2013-09-18 14:41 ` [Qemu-devel] [PATCH 1/2] linux-headers: update to 3.12-rc1 Andrew Jones
2013-09-18 18:05 ` Eduardo Habkost
2013-09-18 14:41 ` [Qemu-devel] [PATCH 2/2] qemu-kvm: paravirt: add feature kvm_pv_unhalt Andrew Jones
2013-09-18 17:24 ` Eduardo Habkost
2013-09-18 17:35 ` Andreas Färber
2013-09-19 17:35 ` Paolo Bonzini
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).