Re: [PATCH 4/5] qemuBuildNumaCommandLine: Separate out building of CPU list

2021-10-06 Thread Igor Mammedov
On Thu, 30 Sep 2021 13:33:24 +0200
Peter Krempa  wrote:

> On Tue, Sep 21, 2021 at 16:50:30 +0200, Michal Privoznik wrote:
> > Signed-off-by: Michal Privoznik 
> > ---
> >  src/qemu/qemu_command.c | 43 ++---
> >  1 file changed, 27 insertions(+), 16 deletions(-)  
> 
> Reviewed-by: Michal Privoznik 
   ^^^ copy past err :)



Re: [PATCH 4/5] qemuBuildNumaCommandLine: Separate out building of CPU list

2021-09-30 Thread Peter Krempa
On Tue, Sep 21, 2021 at 16:50:30 +0200, Michal Privoznik wrote:
> Signed-off-by: Michal Privoznik 
> ---
>  src/qemu/qemu_command.c | 43 ++---
>  1 file changed, 27 insertions(+), 16 deletions(-)

Reviewed-by: Michal Privoznik 



[PATCH 4/5] qemuBuildNumaCommandLine: Separate out building of CPU list

2021-09-21 Thread Michal Privoznik
Signed-off-by: Michal Privoznik 
---
 src/qemu/qemu_command.c | 43 ++---
 1 file changed, 27 insertions(+), 16 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 020cbfa214..f04ae1e311 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -7407,6 +7407,31 @@ qemuBuildNumaHMATCommandLine(virCommand *cmd,
 }
 
 
+static int
+qemuBuildNumaCPUs(virBuffer *buf,
+  virBitmap *cpu)
+{
+g_autofree char *cpumask = NULL;
+char *tmpmask = NULL;
+char *next = NULL;
+
+if (!cpu)
+return 0;
+
+if (!(cpumask = virBitmapFormat(cpu)))
+return -1;
+
+for (tmpmask = cpumask; tmpmask; tmpmask = next) {
+if ((next = strchr(tmpmask, ',')))
+*(next++) = '\0';
+virBufferAddLit(buf, ",cpus=");
+virBufferAdd(buf, tmpmask, -1);
+}
+
+return 0;
+}
+
+
 static int
 qemuBuildNumaCommandLine(virQEMUDriverConfig *cfg,
  virDomainDef *def,
@@ -7473,7 +7498,6 @@ qemuBuildNumaCommandLine(virQEMUDriverConfig *cfg,
 }
 
 for (i = 0; i < ncells; i++) {
-virBitmap *cpumask = virDomainNumaGetNodeCpumask(def->numa, i);
 ssize_t initiator = virDomainNumaGetNodeInitiator(def->numa, i);
 
 if (needBackend) {
@@ -7484,21 +7508,8 @@ qemuBuildNumaCommandLine(virQEMUDriverConfig *cfg,
 virCommandAddArg(cmd, "-numa");
 virBufferAsprintf(, "node,nodeid=%zu", i);
 
-if (cpumask) {
-g_autofree char *cpumaskStr = NULL;
-char *next = NULL;
-char *tmpmask;
-
-if (!(cpumaskStr = virBitmapFormat(cpumask)))
-goto cleanup;
-
-for (tmpmask = cpumaskStr; tmpmask; tmpmask = next) {
-if ((next = strchr(tmpmask, ',')))
-*(next++) = '\0';
-virBufferAddLit(, ",cpus=");
-virBufferAdd(, tmpmask, -1);
-}
-}
+if (qemuBuildNumaCPUs(, virDomainNumaGetNodeCpumask(def->numa, i)) 
< 0)
+goto cleanup;
 
 if (hmat) {
 if (initiator < 0)
-- 
2.32.0