forked from rpms/qemu-kvm
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.9 KiB
91 lines
2.9 KiB
1 month ago
|
From 891fb13363d168760cd21d0c57368e1a413cad27 Mon Sep 17 00:00:00 2001
|
||
|
From: Peter Xu <peterx@redhat.com>
|
||
|
Date: Tue, 17 Sep 2024 12:38:35 -0400
|
||
|
Subject: [PATCH 8/9] KVM: Rename KVMState->nr_slots to nr_slots_max
|
||
|
|
||
|
RH-Author: Peter Xu <peterx@redhat.com>
|
||
|
RH-MergeRequest: 285: KVM: Dynamic sized kvm memslots array
|
||
|
RH-Jira: RHEL-57685
|
||
|
RH-Acked-by: Juraj Marcin <None>
|
||
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||
|
RH-Commit: [7/7] 7a1b28f04ee6a2c80b07db241fc88cb40f54e376 (peterx/qemu-kvm)
|
||
|
|
||
|
This value used to reflect the maximum supported memslots from KVM kernel.
|
||
|
Rename it to be clearer.
|
||
|
|
||
|
Reviewed-by: David Hildenbrand <david@redhat.com>
|
||
|
Signed-off-by: Peter Xu <peterx@redhat.com>
|
||
|
Link: https://lore.kernel.org/r/20240917163835.194664-5-peterx@redhat.com
|
||
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||
|
(cherry picked from commit 943c742868c739c0b14fd996bad3adf744156fec)
|
||
|
Signed-off-by: Peter Xu <peterx@redhat.com>
|
||
|
---
|
||
|
accel/kvm/kvm-all.c | 12 ++++++------
|
||
|
include/sysemu/kvm_int.h | 4 ++--
|
||
|
2 files changed, 8 insertions(+), 8 deletions(-)
|
||
|
|
||
|
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
|
||
|
index e99aaba486..dc6253895d 100644
|
||
|
--- a/accel/kvm/kvm-all.c
|
||
|
+++ b/accel/kvm/kvm-all.c
|
||
|
@@ -183,8 +183,8 @@ static bool kvm_slots_grow(KVMMemoryListener *kml, unsigned int nr_slots_new)
|
||
|
unsigned int i, cur = kml->nr_slots_allocated;
|
||
|
KVMSlot *slots;
|
||
|
|
||
|
- if (nr_slots_new > kvm_state->nr_slots) {
|
||
|
- nr_slots_new = kvm_state->nr_slots;
|
||
|
+ if (nr_slots_new > kvm_state->nr_slots_max) {
|
||
|
+ nr_slots_new = kvm_state->nr_slots_max;
|
||
|
}
|
||
|
|
||
|
if (cur >= nr_slots_new) {
|
||
|
@@ -225,7 +225,7 @@ unsigned int kvm_get_max_memslots(void)
|
||
|
{
|
||
|
KVMState *s = KVM_STATE(current_accel());
|
||
|
|
||
|
- return s->nr_slots;
|
||
|
+ return s->nr_slots_max;
|
||
|
}
|
||
|
|
||
|
unsigned int kvm_get_free_memslots(void)
|
||
|
@@ -243,7 +243,7 @@ unsigned int kvm_get_free_memslots(void)
|
||
|
}
|
||
|
kvm_slots_unlock();
|
||
|
|
||
|
- return s->nr_slots - used_slots;
|
||
|
+ return s->nr_slots_max - used_slots;
|
||
|
}
|
||
|
|
||
|
/* Called with KVMMemoryListener.slots_lock held */
|
||
|
@@ -2615,10 +2615,10 @@ static int kvm_init(MachineState *ms)
|
||
|
(kvm_supported_memory_attributes & KVM_MEMORY_ATTRIBUTE_PRIVATE);
|
||
|
|
||
|
kvm_immediate_exit = kvm_check_extension(s, KVM_CAP_IMMEDIATE_EXIT);
|
||
|
- s->nr_slots = kvm_check_extension(s, KVM_CAP_NR_MEMSLOTS);
|
||
|
+ s->nr_slots_max = kvm_check_extension(s, KVM_CAP_NR_MEMSLOTS);
|
||
|
|
||
|
/* If unspecified, use the default value */
|
||
|
- if (!s->nr_slots) {
|
||
|
+ if (!s->nr_slots_max) {
|
||
|
s->nr_slots_max = KVM_MEMSLOTS_NR_MAX_DEFAULT;
|
||
|
}
|
||
|
|
||
|
diff --git a/include/sysemu/kvm_int.h b/include/sysemu/kvm_int.h
|
||
|
index b705dfc9b4..2c57194b6b 100644
|
||
|
--- a/include/sysemu/kvm_int.h
|
||
|
+++ b/include/sysemu/kvm_int.h
|
||
|
@@ -103,8 +103,8 @@ struct KVMDirtyRingReaper {
|
||
|
struct KVMState
|
||
|
{
|
||
|
AccelState parent_obj;
|
||
|
-
|
||
|
- int nr_slots;
|
||
|
+ /* Max number of KVM slots supported */
|
||
|
+ int nr_slots_max;
|
||
|
int fd;
|
||
|
int vmfd;
|
||
|
int coalesced_mmio;
|
||
|
--
|
||
|
2.39.3
|
||
|
|