2015-08-24 12:53:43

by Wanpeng Li

[permalink] [raw]
Subject: [PATCH 1/3] KVM: make halt_poll_ns per-VCPU

Change halt_poll_ns into per-VCPU variable, seeded from module parameter,
to allow greater flexibility.

Signed-off-by: Wanpeng Li <[email protected]>
---
include/linux/kvm_host.h | 1 +
virt/kvm/kvm_main.c | 1 +
2 files changed, 2 insertions(+)

diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 81089cf..1bef9e2 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -242,6 +242,7 @@ struct kvm_vcpu {
int sigset_active;
sigset_t sigset;
struct kvm_vcpu_stat stat;
+ unsigned int halt_poll_ns;

#ifdef CONFIG_HAS_IOMEM
int mmio_needed;
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index d8db2f8f..a122b52 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -217,6 +217,7 @@ int kvm_vcpu_init(struct kvm_vcpu *vcpu, struct kvm *kvm, unsigned id)
vcpu->kvm = kvm;
vcpu->vcpu_id = id;
vcpu->pid = NULL;
+ vcpu->halt_poll_ns = halt_poll_ns;
init_waitqueue_head(&vcpu->wq);
kvm_async_pf_vcpu_init(vcpu);

--
1.9.1


2015-08-24 16:59:26

by David Matlack

[permalink] [raw]
Subject: Re: [PATCH 1/3] KVM: make halt_poll_ns per-VCPU

On Mon, Aug 24, 2015 at 5:53 AM, Wanpeng Li <[email protected]> wrote:
> Change halt_poll_ns into per-VCPU variable, seeded from module parameter,
> to allow greater flexibility.

You should also change kvm_vcpu_block to read halt_poll_ns from
the vcpu instead of the module parameter.

>
> Signed-off-by: Wanpeng Li <[email protected]>
> ---
> include/linux/kvm_host.h | 1 +
> virt/kvm/kvm_main.c | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
> index 81089cf..1bef9e2 100644
> --- a/include/linux/kvm_host.h
> +++ b/include/linux/kvm_host.h
> @@ -242,6 +242,7 @@ struct kvm_vcpu {
> int sigset_active;
> sigset_t sigset;
> struct kvm_vcpu_stat stat;
> + unsigned int halt_poll_ns;
>
> #ifdef CONFIG_HAS_IOMEM
> int mmio_needed;
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index d8db2f8f..a122b52 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -217,6 +217,7 @@ int kvm_vcpu_init(struct kvm_vcpu *vcpu, struct kvm *kvm, unsigned id)
> vcpu->kvm = kvm;
> vcpu->vcpu_id = id;
> vcpu->pid = NULL;
> + vcpu->halt_poll_ns = halt_poll_ns;
> init_waitqueue_head(&vcpu->wq);
> kvm_async_pf_vcpu_init(vcpu);
>
> --
> 1.9.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2015-08-24 22:35:16

by Wanpeng Li

[permalink] [raw]
Subject: Re: [PATCH 1/3] KVM: make halt_poll_ns per-VCPU

On 8/25/15 12:59 AM, David Matlack wrote:
> On Mon, Aug 24, 2015 at 5:53 AM, Wanpeng Li <[email protected]> wrote:
>> Change halt_poll_ns into per-VCPU variable, seeded from module parameter,
>> to allow greater flexibility.
> You should also change kvm_vcpu_block to read halt_poll_ns from
> the vcpu instead of the module parameter.

Indeed, thanks for your review. :-)

Regards,
Wanpeng Li

>
>> Signed-off-by: Wanpeng Li <[email protected]>
>> ---
>> include/linux/kvm_host.h | 1 +
>> virt/kvm/kvm_main.c | 1 +
>> 2 files changed, 2 insertions(+)
>>
>> diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
>> index 81089cf..1bef9e2 100644
>> --- a/include/linux/kvm_host.h
>> +++ b/include/linux/kvm_host.h
>> @@ -242,6 +242,7 @@ struct kvm_vcpu {
>> int sigset_active;
>> sigset_t sigset;
>> struct kvm_vcpu_stat stat;
>> + unsigned int halt_poll_ns;
>>
>> #ifdef CONFIG_HAS_IOMEM
>> int mmio_needed;
>> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
>> index d8db2f8f..a122b52 100644
>> --- a/virt/kvm/kvm_main.c
>> +++ b/virt/kvm/kvm_main.c
>> @@ -217,6 +217,7 @@ int kvm_vcpu_init(struct kvm_vcpu *vcpu, struct kvm *kvm, unsigned id)
>> vcpu->kvm = kvm;
>> vcpu->vcpu_id = id;
>> vcpu->pid = NULL;
>> + vcpu->halt_poll_ns = halt_poll_ns;
>> init_waitqueue_head(&vcpu->wq);
>> kvm_async_pf_vcpu_init(vcpu);
>>
>> --
>> 1.9.1
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/