60 lines
2.1 KiB
Diff
60 lines
2.1 KiB
Diff
From f4052d25199bfce8ce29a173934a805fe1cf7e3e Mon Sep 17 00:00:00 2001
|
|
From: David Hildenbrand <david@redhat.com>
|
|
Date: Tue, 10 Sep 2024 18:34:33 +0200
|
|
Subject: [PATCH 25/26] virtio-mem: don't warn about THP sizes on a kernel
|
|
without THP support
|
|
|
|
RH-Author: Thomas Huth <thuth@redhat.com>
|
|
RH-MergeRequest: 351: Enable virtio-mem support on s390x
|
|
RH-Jira: RHEL-72977
|
|
RH-Acked-by: David Hildenbrand <david@redhat.com>
|
|
RH-Acked-by: Juraj Marcin <None>
|
|
RH-Commit: [25/26] 5dff17ef818722db8f1fa87cff5b7777afc3c814 (thuth/qemu-kvm-cs)
|
|
|
|
If the config directory in sysfs does not exist at all, we are dealing
|
|
with a system that does not support THPs. Simply use 1 MiB block size
|
|
then, instead of warning "Could not detect THP size, falling back to
|
|
..." and falling back to the default THP size.
|
|
|
|
Cc: "Michael S. Tsirkin" <mst@redhat.com>
|
|
Cc: Gavin Shan <gshan@redhat.com>
|
|
Cc: Juraj Marcin <jmarcin@redhat.com>
|
|
Signed-off-by: David Hildenbrand <david@redhat.com>
|
|
Message-Id: <20240910163433.2100295-1-david@redhat.com>
|
|
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
(cherry picked from commit 95b717a8154b955de2782305f305b63f357b0576)
|
|
Signed-off-by: Thomas Huth <thuth@redhat.com>
|
|
---
|
|
hw/virtio/virtio-mem.c | 7 +++++++
|
|
1 file changed, 7 insertions(+)
|
|
|
|
diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c
|
|
index c9f8a23bbc..4977658312 100644
|
|
--- a/hw/virtio/virtio-mem.c
|
|
+++ b/hw/virtio/virtio-mem.c
|
|
@@ -90,6 +90,7 @@ static uint32_t virtio_mem_default_thp_size(void)
|
|
static uint32_t thp_size;
|
|
|
|
#define HPAGE_PMD_SIZE_PATH "/sys/kernel/mm/transparent_hugepage/hpage_pmd_size"
|
|
+#define HPAGE_PATH "/sys/kernel/mm/transparent_hugepage/"
|
|
static uint32_t virtio_mem_thp_size(void)
|
|
{
|
|
gchar *content = NULL;
|
|
@@ -100,6 +101,12 @@ static uint32_t virtio_mem_thp_size(void)
|
|
return thp_size;
|
|
}
|
|
|
|
+ /* No THP -> no restrictions. */
|
|
+ if (!g_file_test(HPAGE_PATH, G_FILE_TEST_EXISTS)) {
|
|
+ thp_size = VIRTIO_MEM_MIN_BLOCK_SIZE;
|
|
+ return thp_size;
|
|
+ }
|
|
+
|
|
/*
|
|
* Try to probe the actual THP size, fallback to (sane but eventually
|
|
* incorrect) default sizes.
|
|
--
|
|
2.48.1
|
|
|