[libvirt] [PATCH 0/3] qemuGetDomainHupageMemPath cleanups

Ján Tomko (3): qemu: rename function for getting the default hugepage size qemu: do not fill in default pagesize in qemuGetDomainHupageMemPath qemu: remove qemuGetDomainDefaultHugepath src/qemu/qemu_command.c | 14 +++++----- src/qemu/qemu_conf.c | 59 +++++++++-------------------------------- src/qemu/qemu_conf.h | 3 --- 3 files changed, 21 insertions(+), 55 deletions(-) -- 2.19.2

Use qemuBuildMemoryGetDefaultPagesize. Fixes: 6864d8f740e2502dc7625bdf18ffde4465b14f69 Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/qemu/qemu_command.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 029780fe86..aaca75900b 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3409,8 +3409,8 @@ qemuBuildMemoryBackendPropsShare(virJSONValuePtr props, static int -qemuqemuBuildMemoryBackendPropsGetPagesize(virQEMUDriverConfigPtr cfg, - unsigned long long *pagesize) +qemuBuildMemoryGetDefaultPagesize(virQEMUDriverConfigPtr cfg, + unsigned long long *pagesize) { virHugeTLBFSPtr p; @@ -3568,7 +3568,7 @@ qemuBuildMemoryBackendProps(virJSONValuePtr *backendProps, needHugepage = false; useHugepage = false; } else if (pagesize == 0) { - if (qemuqemuBuildMemoryBackendPropsGetPagesize(cfg, &pagesize) < 0) + if (qemuBuildMemoryGetDefaultPagesize(cfg, &pagesize) < 0) goto cleanup; } -- 2.19.2

Commit 6864d8f740e2502dc7625bdf18ffde4465b14f69 moved this one level up for qemuBuildMemoryBackendProps but left qemuBuildMemPathStr intact. Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/qemu/qemu_command.c | 8 +++++--- src/qemu/qemu_conf.c | 35 +++++++++++++---------------------- 2 files changed, 18 insertions(+), 25 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index aaca75900b..79b9a5d4f9 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7847,9 +7847,11 @@ qemuBuildMemPathStr(virQEMUDriverConfigPtr cfg, * if user requested file allocation. */ if (def->mem.nhugepages && def->mem.hugepages[0].size != system_page_size) { - if (qemuGetDomainHupageMemPath(def, cfg, - def->mem.hugepages[0].size, - &mem_path) < 0) + unsigned long long pagesize = def->mem.hugepages[0].size; + if (!pagesize && + qemuBuildMemoryGetDefaultPagesize(cfg, &pagesize) < 0) + return -1; + if (qemuGetDomainHupageMemPath(def, cfg, pagesize, &mem_path) < 0) return -1; } else if (def->mem.source == VIR_DOMAIN_MEMORY_SOURCE_FILE) { if (qemuGetMemoryBackingPath(def, cfg, "ram", &mem_path) < 0) diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index 41ce0a978d..4bec885c6b 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -1926,8 +1926,6 @@ qemuGetDomainDefaultHugepath(const virDomainDef *def, /** * qemuGetDomainHupageMemPath: Construct HP enabled memory backend path * - * If no specific hugepage size is requested (@pagesize is zero) - * the default hugepage size is used). * The resulting path is stored at @memPath. * * Returns 0 on success, @@ -1948,29 +1946,22 @@ qemuGetDomainHupageMemPath(const virDomainDef *def, return -1; } - if (!pagesize) { - if (!(*memPath = qemuGetDomainDefaultHugepath(def, - cfg->hugetlbfs, - cfg->nhugetlbfs))) - return -1; - } else { - for (i = 0; i < cfg->nhugetlbfs; i++) { - if (cfg->hugetlbfs[i].size == pagesize) - break; - } - - if (i == cfg->nhugetlbfs) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Unable to find any usable hugetlbfs " - "mount for %llu KiB"), - pagesize); - return -1; - } + for (i = 0; i < cfg->nhugetlbfs; i++) { + if (cfg->hugetlbfs[i].size == pagesize) + break; + } - if (!(*memPath = qemuGetDomainHugepagePath(def, &cfg->hugetlbfs[i]))) - return -1; + if (i == cfg->nhugetlbfs) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Unable to find any usable hugetlbfs " + "mount for %llu KiB"), + pagesize); + return -1; } + if (!(*memPath = qemuGetDomainHugepagePath(def, &cfg->hugetlbfs[i]))) + return -1; + return 0; } -- 2.19.2

It is no longer used. Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/qemu/qemu_conf.c | 24 ------------------------ src/qemu/qemu_conf.h | 3 --- 2 files changed, 27 deletions(-) diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index 4bec885c6b..daea11dacb 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -1899,30 +1899,6 @@ qemuGetDomainHugepagePath(const virDomainDef *def, } -/** - * qemuGetDomainDefaultHugepath: - * @def: domain definition - * @hugetlbfs: array of configured hugepages - * @nhugetlbfs: number of item in the array - * - * Callers must ensure that @hugetlbfs contains at least one entry. - * - * Returns 0 on success, -1 otherwise. - * */ -char * -qemuGetDomainDefaultHugepath(const virDomainDef *def, - virHugeTLBFSPtr hugetlbfs, - size_t nhugetlbfs) -{ - virHugeTLBFSPtr p; - - if (!(p = virFileGetDefaultHugepage(hugetlbfs, nhugetlbfs))) - p = &hugetlbfs[0]; - - return qemuGetDomainHugepagePath(def, p); -} - - /** * qemuGetDomainHupageMemPath: Construct HP enabled memory backend path * diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h index 14c9d15a72..983e74a3cf 100644 --- a/src/qemu/qemu_conf.h +++ b/src/qemu/qemu_conf.h @@ -374,9 +374,6 @@ int qemuTranslateSnapshotDiskSourcePool(virDomainSnapshotDiskDefPtr def); char * qemuGetBaseHugepagePath(virHugeTLBFSPtr hugepage); char * qemuGetDomainHugepagePath(const virDomainDef *def, virHugeTLBFSPtr hugepage); -char * qemuGetDomainDefaultHugepath(const virDomainDef *def, - virHugeTLBFSPtr hugetlbfs, - size_t nhugetlbfs); int qemuGetDomainHupageMemPath(const virDomainDef *def, virQEMUDriverConfigPtr cfg, -- 2.19.2

On 4/4/19 2:00 PM, Ján Tomko wrote:
Ján Tomko (3): qemu: rename function for getting the default hugepage size qemu: do not fill in default pagesize in qemuGetDomainHupageMemPath qemu: remove qemuGetDomainDefaultHugepath
src/qemu/qemu_command.c | 14 +++++----- src/qemu/qemu_conf.c | 59 +++++++++-------------------------------- src/qemu/qemu_conf.h | 3 --- 3 files changed, 21 insertions(+), 55 deletions(-)
ACK. Thanks for the cleanup. Michal
participants (2)
-
Ján Tomko
-
Michal Prívozník