Skip to content

Commit 407fd8b

Browse files
committed
KVM: remove CONFIG_KVM_GENERIC_MMU_NOTIFIER
All architectures now use MMU notifier for KVM page table management. Remove the Kconfig symbol and the code that is used when it is disabled. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
1 parent 6de23f8 commit 407fd8b

File tree

11 files changed

+2
-42
lines changed

11 files changed

+2
-42
lines changed

arch/arm64/kvm/Kconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ menuconfig KVM
2121
bool "Kernel-based Virtual Machine (KVM) support"
2222
select KVM_COMMON
2323
select KVM_GENERIC_HARDWARE_ENABLING
24-
select KVM_GENERIC_MMU_NOTIFIER
2524
select HAVE_KVM_CPU_RELAX_INTERCEPT
2625
select KVM_MMIO
2726
select KVM_GENERIC_DIRTYLOG_READ_PROTECT

arch/loongarch/kvm/Kconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ config KVM
2828
select KVM_COMMON
2929
select KVM_GENERIC_DIRTYLOG_READ_PROTECT
3030
select KVM_GENERIC_HARDWARE_ENABLING
31-
select KVM_GENERIC_MMU_NOTIFIER
3231
select KVM_MMIO
3332
select VIRT_XFER_TO_GUEST_WORK
3433
select SCHED_INFO

arch/mips/kvm/Kconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ config KVM
2323
select KVM_COMMON
2424
select KVM_GENERIC_DIRTYLOG_READ_PROTECT
2525
select KVM_MMIO
26-
select KVM_GENERIC_MMU_NOTIFIER
2726
select KVM_GENERIC_HARDWARE_ENABLING
2827
select HAVE_KVM_READONLY_MEM
2928
help

arch/powerpc/kvm/Kconfig

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ config KVM_BOOK3S_64_HANDLER
3838
config KVM_BOOK3S_PR_POSSIBLE
3939
bool
4040
select KVM_MMIO
41-
select KVM_GENERIC_MMU_NOTIFIER
4241

4342
config KVM_BOOK3S_HV_POSSIBLE
4443
bool
@@ -81,7 +80,6 @@ config KVM_BOOK3S_64_HV
8180
tristate "KVM for POWER7 and later using hypervisor mode in host"
8281
depends on KVM_BOOK3S_64 && PPC_POWERNV
8382
select KVM_BOOK3S_HV_POSSIBLE
84-
select KVM_GENERIC_MMU_NOTIFIER
8583
select KVM_BOOK3S_HV_PMU
8684
select CMA
8785
help
@@ -203,7 +201,6 @@ config KVM_E500V2
203201
depends on !CONTEXT_TRACKING_USER
204202
select KVM
205203
select KVM_MMIO
206-
select KVM_GENERIC_MMU_NOTIFIER
207204
help
208205
Support running unmodified E500 guest kernels in virtual machines on
209206
E500v2 host processors.
@@ -220,7 +217,6 @@ config KVM_E500MC
220217
select KVM
221218
select KVM_MMIO
222219
select KVM_BOOKE_HV
223-
select KVM_GENERIC_MMU_NOTIFIER
224220
help
225221
Support running unmodified E500MC/E5500/E6500 guest kernels in
226222
virtual machines on E500MC/E5500/E6500 host processors.

arch/powerpc/kvm/powerpc.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,6 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
625625
break;
626626
#endif
627627
case KVM_CAP_SYNC_MMU:
628-
BUILD_BUG_ON(!IS_ENABLED(CONFIG_KVM_GENERIC_MMU_NOTIFIER));
629628
r = 1;
630629
break;
631630
#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE

arch/riscv/kvm/Kconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ config KVM
3030
select KVM_GENERIC_HARDWARE_ENABLING
3131
select KVM_MMIO
3232
select VIRT_XFER_TO_GUEST_WORK
33-
select KVM_GENERIC_MMU_NOTIFIER
3433
select SCHED_INFO
3534
select GUEST_PERF_EVENTS if PERF_EVENTS
3635
help

arch/s390/kvm/Kconfig

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,7 @@ config KVM
2828
select HAVE_KVM_INVALID_WAKEUPS
2929
select HAVE_KVM_NO_POLL
3030
select KVM_VFIO
31-
select MMU_NOTIFIER
3231
select VIRT_XFER_TO_GUEST_WORK
33-
select KVM_GENERIC_MMU_NOTIFIER
3432
select KVM_MMU_LOCKLESS_AGING
3533
help
3634
Support hosting paravirtualized guest machines using the SIE

arch/x86/kvm/Kconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ if VIRTUALIZATION
2020
config KVM_X86
2121
def_tristate KVM if (KVM_INTEL != n || KVM_AMD != n)
2222
select KVM_COMMON
23-
select KVM_GENERIC_MMU_NOTIFIER
2423
select KVM_ELIDE_TLB_FLUSH_IF_YOUNG
2524
select KVM_MMU_LOCKLESS_AGING
2625
select HAVE_KVM_IRQCHIP

include/linux/kvm_host.h

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,6 @@ bool kvm_setup_async_pf(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
253253
int kvm_async_pf_wakeup_all(struct kvm_vcpu *vcpu);
254254
#endif
255255

256-
#ifdef CONFIG_KVM_GENERIC_MMU_NOTIFIER
257256
union kvm_mmu_notifier_arg {
258257
unsigned long attributes;
259258
};
@@ -275,7 +274,6 @@ struct kvm_gfn_range {
275274
bool kvm_unmap_gfn_range(struct kvm *kvm, struct kvm_gfn_range *range);
276275
bool kvm_age_gfn(struct kvm *kvm, struct kvm_gfn_range *range);
277276
bool kvm_test_age_gfn(struct kvm *kvm, struct kvm_gfn_range *range);
278-
#endif
279277

280278
enum {
281279
OUTSIDE_GUEST_MODE,
@@ -849,13 +847,12 @@ struct kvm {
849847
struct hlist_head irq_ack_notifier_list;
850848
#endif
851849

852-
#ifdef CONFIG_KVM_GENERIC_MMU_NOTIFIER
853850
struct mmu_notifier mmu_notifier;
854851
unsigned long mmu_invalidate_seq;
855852
long mmu_invalidate_in_progress;
856853
gfn_t mmu_invalidate_range_start;
857854
gfn_t mmu_invalidate_range_end;
858-
#endif
855+
859856
struct list_head devices;
860857
u64 manual_dirty_log_protect;
861858
struct dentry *debugfs_dentry;
@@ -2118,7 +2115,6 @@ extern const struct _kvm_stats_desc kvm_vm_stats_desc[];
21182115
extern const struct kvm_stats_header kvm_vcpu_stats_header;
21192116
extern const struct _kvm_stats_desc kvm_vcpu_stats_desc[];
21202117

2121-
#ifdef CONFIG_KVM_GENERIC_MMU_NOTIFIER
21222118
static inline int mmu_invalidate_retry(struct kvm *kvm, unsigned long mmu_seq)
21232119
{
21242120
if (unlikely(kvm->mmu_invalidate_in_progress))
@@ -2196,7 +2192,6 @@ static inline bool mmu_invalidate_retry_gfn_unsafe(struct kvm *kvm,
21962192

21972193
return READ_ONCE(kvm->mmu_invalidate_seq) != mmu_seq;
21982194
}
2199-
#endif
22002195

22012196
#ifdef CONFIG_HAVE_KVM_IRQ_ROUTING
22022197

virt/kvm/Kconfig

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ config KVM_COMMON
55
bool
66
select EVENTFD
77
select INTERVAL_TREE
8+
select MMU_NOTIFIER
89
select PREEMPT_NOTIFIERS
910

1011
config HAVE_KVM_PFNCACHE
@@ -93,24 +94,16 @@ config HAVE_KVM_PM_NOTIFIER
9394
config KVM_GENERIC_HARDWARE_ENABLING
9495
bool
9596

96-
config KVM_GENERIC_MMU_NOTIFIER
97-
select MMU_NOTIFIER
98-
bool
99-
10097
config KVM_ELIDE_TLB_FLUSH_IF_YOUNG
101-
depends on KVM_GENERIC_MMU_NOTIFIER
10298
bool
10399

104100
config KVM_MMU_LOCKLESS_AGING
105-
depends on KVM_GENERIC_MMU_NOTIFIER
106101
bool
107102

108103
config KVM_GENERIC_MEMORY_ATTRIBUTES
109-
depends on KVM_GENERIC_MMU_NOTIFIER
110104
bool
111105

112106
config KVM_GUEST_MEMFD
113-
depends on KVM_GENERIC_MMU_NOTIFIER
114107
select XARRAY_MULTI
115108
bool
116109

0 commit comments

Comments
 (0)