[libvirt] [PATCH v2 2/6] conf: Format thread IDs optionally

Ján Tomko jtomko at redhat.com
Mon Apr 15 13:58:05 UTC 2019


On Mon, Apr 15, 2019 at 03:14:23PM +0200, Martin Kletzander wrote:
>This will be used later when we want to format emulator scheduler parameters
>which don't apply for multiple threads.
>
>Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
>
>squash! conf: Do not format negative thread IDs
>
>Signed-off-by: Martin Kletzander <mkletzan at redhat.com>

Rebase artifacts.

>---
> src/conf/domain_conf.c | 22 +++++++++++++---------
> 1 file changed, 13 insertions(+), 9 deletions(-)
>
>diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
>index 15838c2a23f5..e7b8b51aad0e 100644
>--- a/src/conf/domain_conf.c
>+++ b/src/conf/domain_conf.c
>@@ -27205,22 +27205,25 @@ static void
> virDomainSchedulerFormat(virBufferPtr buf,
>                          const char *name,
>                          virDomainThreadSchedParamPtr sched,
>-                         size_t id)
>+                         size_t id,
>+                         bool multiple_threads)
> {
>     switch (sched->policy) {
>         case VIR_PROC_POLICY_BATCH:
>         case VIR_PROC_POLICY_IDLE:
>-            virBufferAsprintf(buf, "<%ssched "
>-                              "%ss='%zu' scheduler='%s'/>\n",
>-                              name, name, id,
>+            virBufferAsprintf(buf, "<%ssched", name);
>+            if (multiple_threads)
>+                virBufferAsprintf(buf, " %ss='%zu'", name, id);
>+            virBufferAsprintf(buf, " scheduler='%s'/>\n",
>                               virProcessSchedPolicyTypeToString(sched->policy));
>             break;
>
>         case VIR_PROC_POLICY_RR:
>         case VIR_PROC_POLICY_FIFO:
>-            virBufferAsprintf(buf, "<%ssched "
>-                              "%ss='%zu' scheduler='%s' priority='%d'/>\n",
>-                              name, name, id,
>+            virBufferAsprintf(buf, "<%ssched", name);
>+            if (multiple_threads)
>+                virBufferAsprintf(buf, " %ss='%zu'", name, id);
>+            virBufferAsprintf(buf, " scheduler='%s' priority='%d'/>\n",
>                               virProcessSchedPolicyTypeToString(sched->policy),
>                               sched->priority);

This function would look nicer with a temporary attrBuf and a virXMLFormatElement
at the end.

Jano

>             break;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20190415/dd598394/attachment-0001.sig>


More information about the libvir-list mailing list