Re: [PATCH] numa: avoid failure in nodememstats on non-NUMA systems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ping...

and
Reviewed-by: Boris Fiuczynski <fiuczy@xxxxxxxxxxxxxxxxxx>

On 10/09/2017 02:57 PM, Boris Fiuczynski wrote:
Looks good to me.

On 09/22/2017 04:12 PM, Viktor Mihajlovski wrote:
libvirt reports a fake NUMA topology in virConnectGetCapabilities
even if built without numactl support. The fake NUMA topology consists
of a single cell representing the host's cpu and memory resources.
Currently this is the case for ARM and s390[x] RPM builds.

A client iterating over NUMA cells obtained via virConnectGetCapabilities
and invoking virNodeGetMemoryStats on them will see an internal failure
"NUMA isn't available on this host". An example for such a client is
VDSM.

Since the intention seems to be that libvirt always reports at least
a single cell it is necessary to return "fake" node memory statistics
matching the previously reported fake cell in case NUMA isn't supported
on the system.

Signed-off-by: Viktor Mihajlovski <mihajlov@xxxxxxxxxxxxxxxxxx>
---
  src/util/virhostmem.c | 8 ++++++++
  1 file changed, 8 insertions(+)

diff --git a/src/util/virhostmem.c b/src/util/virhostmem.c
index a9ba278..fa04a37 100644
--- a/src/util/virhostmem.c
+++ b/src/util/virhostmem.c
@@ -267,6 +267,14 @@ virHostMemGetStats(int cellNum ATTRIBUTE_UNUSED,
          FILE *meminfo;
          int max_node;

+        /*
+         * Even if built without numactl, libvirt claims
+         * to have a one-cells NUMA topology. In such a
+         * case return the statistics for the entire host.
+         */
+        if (!virNumaIsAvailable() && cellNum == 0)
+            cellNum = VIR_NODE_MEMORY_STATS_ALL_CELLS;
+
          if (cellNum == VIR_NODE_MEMORY_STATS_ALL_CELLS) {
              if (VIR_STRDUP(meminfo_path, MEMINFO_PATH) < 0)
                  return -1;





--
Mit freundlichen Grüßen/Kind regards
   Boris Fiuczynski

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martina Köderitz
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]
  Powered by Linux