[libvirt] [PATCH 3/4] nodeinfo: Avoid forward declarations of static functions

Peter Krempa pkrempa at redhat.com
Thu Oct 17 16:46:02 UTC 2013


linuxNodeGetCPUStats() and linuxNodeGetMemoryStats() are static and
don't need a forward declaration. Forward declaration of
nodeGetCellMemory() can be avoided by moving the function to the right
place.
---
 src/nodeinfo.c | 113 +++++++++++++++++++++++++++------------------------------
 1 file changed, 54 insertions(+), 59 deletions(-)

diff --git a/src/nodeinfo.c b/src/nodeinfo.c
index d4bb792..8646a50 100644
--- a/src/nodeinfo.c
+++ b/src/nodeinfo.c
@@ -89,15 +89,6 @@ appleFreebsdNodeGetCPUCount(void)
 # define LINUX_NB_MEMORY_STATS_ALL 4
 # define LINUX_NB_MEMORY_STATS_CELL 2

-static int linuxNodeGetCPUStats(FILE *procstat,
-                                int cpuNum,
-                                virNodeCPUStatsPtr params,
-                                int *nparams);
-static int linuxNodeGetMemoryStats(FILE *meminfo,
-                                   int cellNum,
-                                   virNodeMemoryStatsPtr params,
-                                   int *nparams);
-
 /* Return the positive decimal contents of the given
  * DIR/cpu%u/FILE, or -1 on error.  If DEFAULT_VALUE is non-negative
  * and the file could not be found, return that instead of an error;
@@ -586,10 +577,11 @@ cleanup:

 # define TICK_TO_NSEC (1000ull * 1000ull * 1000ull / sysconf(_SC_CLK_TCK))

-int linuxNodeGetCPUStats(FILE *procstat,
-                         int cpuNum,
-                         virNodeCPUStatsPtr params,
-                         int *nparams)
+static int
+linuxNodeGetCPUStats(FILE *procstat,
+                     int cpuNum,
+                     virNodeCPUStatsPtr params,
+                     int *nparams)
 {
     int ret = -1;
     char line[1024];
@@ -689,10 +681,11 @@ cleanup:
     return ret;
 }

-int linuxNodeGetMemoryStats(FILE *meminfo,
-                            int cellNum,
-                            virNodeMemoryStatsPtr params,
-                            int *nparams)
+static int
+linuxNodeGetMemoryStats(FILE *meminfo,
+                        int cellNum,
+                        virNodeMemoryStatsPtr params,
+                        int *nparams)
 {
     int ret = -1;
     size_t i = 0, j = 0, k = 0;
@@ -1534,7 +1527,6 @@ nodeGetFreeMemoryFake(void)
 # define MASK_CPU_ISSET(mask, cpu) \
   (((mask)[((cpu) / n_bits(*(mask)))] >> ((cpu) % n_bits(*(mask)))) & 1)

-static unsigned long long nodeGetCellMemory(int cell);

 static virBitmapPtr
 virNodeGetSiblingsList(const char *dir, int cpu_id)
@@ -1584,6 +1576,50 @@ virNodeCapsFillCPUInfo(int cpu_id, virCapsHostNUMACellCPUPtr cpu)
     return 0;
 }

+
+/**
+ * nodeGetCellMemory
+ * @cell: The number of the numa cell to get memory info for.
+ *
+ * Will call the numa_node_size64() function from libnuma to get
+ * the amount of total memory in bytes. It is then converted to
+ * KiB and returned.
+ *
+ * Returns 0 if unavailable, amount of memory in KiB on success.
+ */
+static unsigned long long
+nodeGetCellMemory(int cell)
+{
+    long long mem;
+    unsigned long long memKiB = 0;
+    int maxCell;
+
+    /* Make sure the provided cell number is valid. */
+    maxCell = numa_max_node();
+    if (cell > maxCell) {
+        virReportError(VIR_ERR_INTERNAL_ERROR,
+                       _("cell %d out of range (0-%d)"),
+                       cell, maxCell);
+        goto cleanup;
+    }
+
+    /* Get the amount of memory(bytes) in the node */
+    mem = numa_node_size64(cell, NULL);
+    if (mem < 0) {
+        virReportError(VIR_ERR_INTERNAL_ERROR,
+                       _("Failed to query NUMA total memory for node: %d"),
+                       cell);
+        goto cleanup;
+    }
+
+    /* Convert the memory from bytes to KiB */
+    memKiB = mem >> 10;
+
+cleanup:
+    return memKiB;
+}
+
+
 int
 nodeCapsInitNUMA(virCapsPtr caps)
 {
@@ -1718,47 +1754,6 @@ nodeGetFreeMemory(void)
     return freeMem;
 }

-/**
- * nodeGetCellMemory
- * @cell: The number of the numa cell to get memory info for.
- *
- * Will call the numa_node_size64() function from libnuma to get
- * the amount of total memory in bytes. It is then converted to
- * KiB and returned.
- *
- * Returns 0 if unavailable, amount of memory in KiB on success.
- */
-static unsigned long long nodeGetCellMemory(int cell)
-{
-    long long mem;
-    unsigned long long memKiB = 0;
-    int maxCell;
-
-    /* Make sure the provided cell number is valid. */
-    maxCell = numa_max_node();
-    if (cell > maxCell) {
-        virReportError(VIR_ERR_INTERNAL_ERROR,
-                       _("cell %d out of range (0-%d)"),
-                       cell, maxCell);
-        goto cleanup;
-    }
-
-    /* Get the amount of memory(bytes) in the node */
-    mem = numa_node_size64(cell, NULL);
-    if (mem < 0) {
-        virReportError(VIR_ERR_INTERNAL_ERROR,
-                       _("Failed to query NUMA total memory for node: %d"),
-                       cell);
-        goto cleanup;
-    }
-
-    /* Convert the memory from bytes to KiB */
-    memKiB = mem >> 10;
-
-cleanup:
-    return memKiB;
-}
-

 #else
 int nodeCapsInitNUMA(virCapsPtr caps) {
-- 
1.8.3.2




More information about the libvir-list mailing list