2020-09-16 09:07:17

by Vitaly Kuznetsov

[permalink] [raw]
Subject: [PATCH] Revert "KVM: Check the allocation of pv cpu mask"

The commit 0f990222108d ("KVM: Check the allocation of pv cpu mask") we
have in 5.9-rc5 has two issue:
1) Compilation fails for !CONFIG_SMP, see:
https://bugzilla.kernel.org/show_bug.cgi?id=209285

2) This commit completely disables PV TLB flush, see
https://lore.kernel.org/kvm/[email protected]/

The allocation problem is likely a theoretical one, if we don't
have memory that early in boot process we're likely doomed anyway.
Let's solve it properly later.

This reverts commit 0f990222108d214a0924d920e6095b58107d7b59.

Signed-off-by: Vitaly Kuznetsov <[email protected]>
---
arch/x86/kernel/kvm.c | 22 +++-------------------
1 file changed, 3 insertions(+), 19 deletions(-)

diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 1b51b727b140..9663ba31347c 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -652,6 +652,7 @@ static void __init kvm_guest_init(void)
}

if (pv_tlb_flush_supported()) {
+ pv_ops.mmu.flush_tlb_others = kvm_flush_tlb_others;
pv_ops.mmu.tlb_remove_table = tlb_remove_table;
pr_info("KVM setup pv remote TLB flush\n");
}
@@ -764,14 +765,6 @@ static __init int activate_jump_labels(void)
}
arch_initcall(activate_jump_labels);

-static void kvm_free_pv_cpu_mask(void)
-{
- unsigned int cpu;
-
- for_each_possible_cpu(cpu)
- free_cpumask_var(per_cpu(__pv_cpu_mask, cpu));
-}
-
static __init int kvm_alloc_cpumask(void)
{
int cpu;
@@ -790,20 +783,11 @@ static __init int kvm_alloc_cpumask(void)

if (alloc)
for_each_possible_cpu(cpu) {
- if (!zalloc_cpumask_var_node(
- per_cpu_ptr(&__pv_cpu_mask, cpu),
- GFP_KERNEL, cpu_to_node(cpu))) {
- goto zalloc_cpumask_fail;
- }
+ zalloc_cpumask_var_node(per_cpu_ptr(&__pv_cpu_mask, cpu),
+ GFP_KERNEL, cpu_to_node(cpu));
}

- apic->send_IPI_mask_allbutself = kvm_send_ipi_mask_allbutself;
- pv_ops.mmu.flush_tlb_others = kvm_flush_tlb_others;
return 0;
-
-zalloc_cpumask_fail:
- kvm_free_pv_cpu_mask();
- return -ENOMEM;
}
arch_initcall(kvm_alloc_cpumask);

--
2.25.4


2020-09-16 09:31:36

by Haiwei Li

[permalink] [raw]
Subject: Re: [PATCH] Revert "KVM: Check the allocation of pv cpu mask"

On 20/9/16 17:03, Vitaly Kuznetsov wrote:
> The commit 0f990222108d ("KVM: Check the allocation of pv cpu mask") we
> have in 5.9-rc5 has two issue:
> 1) Compilation fails for !CONFIG_SMP, see:
> https://bugzilla.kernel.org/show_bug.cgi?id=209285
>
> 2) This commit completely disables PV TLB flush, see
> https://lore.kernel.org/kvm/[email protected]/
>
> The allocation problem is likely a theoretical one, if we don't
> have memory that early in boot process we're likely doomed anyway.
> Let's solve it properly later.

Hi, i have sent a patchset to fix this commit.

https://lore.kernel.org/kvm/[email protected]/T/#m6c27184012ee5438e5d91c09b1ba1b6a3ee30ee4

What do you think?

Haiwei Li

2020-09-16 19:04:36

by Haiwei Li

[permalink] [raw]
Subject: Re: [PATCH] Revert "KVM: Check the allocation of pv cpu mask"

Vitaly Kuznetsov <[email protected]> 于2020年9月16日周三 下午7:04写道:
>
> Haiwei Li <[email protected]> writes:
>
> > On 20/9/16 17:03, Vitaly Kuznetsov wrote:
> >> The commit 0f990222108d ("KVM: Check the allocation of pv cpu mask") we
> >> have in 5.9-rc5 has two issue:
> >> 1) Compilation fails for !CONFIG_SMP, see:
> >> https://bugzilla.kernel.org/show_bug.cgi?id=209285
> >>
> >> 2) This commit completely disables PV TLB flush, see
> >> https://lore.kernel.org/kvm/[email protected]/
> >>
> >> The allocation problem is likely a theoretical one, if we don't
> >> have memory that early in boot process we're likely doomed anyway.
> >> Let's solve it properly later.
> >
> > Hi, i have sent a patchset to fix this commit.
> >
> > https://lore.kernel.org/kvm/[email protected]/T/#m6c27184012ee5438e5d91c09b1ba1b6a3ee30ee4
> >
> > What do you think?
>
> Saw it, looks good to me. We are, however, already very, very late in 5.9
> release cycle and the original issue you were addressing (allocation
> failure) is likely a theoretical only I suggest we just revert it before
> 5.9 is released. For 5.9 we can certainly take your PATCH2 merged with
> 0f99022210.
>
> This Paolo's call anyway)

I see. Thank you.

Haiwei Li

2020-09-16 19:08:17

by Vitaly Kuznetsov

[permalink] [raw]
Subject: Re: [PATCH] Revert "KVM: Check the allocation of pv cpu mask"

Haiwei Li <[email protected]> writes:

> On 20/9/16 17:03, Vitaly Kuznetsov wrote:
>> The commit 0f990222108d ("KVM: Check the allocation of pv cpu mask") we
>> have in 5.9-rc5 has two issue:
>> 1) Compilation fails for !CONFIG_SMP, see:
>> https://bugzilla.kernel.org/show_bug.cgi?id=209285
>>
>> 2) This commit completely disables PV TLB flush, see
>> https://lore.kernel.org/kvm/[email protected]/
>>
>> The allocation problem is likely a theoretical one, if we don't
>> have memory that early in boot process we're likely doomed anyway.
>> Let's solve it properly later.
>
> Hi, i have sent a patchset to fix this commit.
>
> https://lore.kernel.org/kvm/[email protected]/T/#m6c27184012ee5438e5d91c09b1ba1b6a3ee30ee4
>
> What do you think?

Saw it, looks good to me. We are, however, already very, very late in 5.9
release cycle and the original issue you were addressing (allocation
failure) is likely a theoretical only I suggest we just revert it before
5.9 is released. For 5.9 we can certainly take your PATCH2 merged with
0f99022210.

This Paolo's call anyway)

--
Vitaly