From: Wang Huaqiang Date: Tue, 11 Jun 2019 03:31:11 +0000 (+0800) Subject: conf: Append 'resctrl' object according to number of monitor group directly X-Git-Tag: v5.7.0-rc1~405 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6d7d79856c1f2ee78995d3a3e276ee77cc8f18b1;p=thirdparty%2Flibvirt.git conf: Append 'resctrl' object according to number of monitor group directly 'virResctrlAllocIsEmpty' checks if cache allocation or memory bandwidth allocation settings are specified in configuration file. It is not proper to be used in checking memory bandwidth allocation is specified in XML settings because this function could not distinguish memory bandwidth allocations from cache allocations. Here using the local variable @n, which indicates the cache allocation groups or memory bandwidth groups depending on the context it is in, to decide if append a new @resctrl object. If @n is zero and no monitors groups specified in XML, then we should not append a new @resctrl object to @def->resctrls. This kind of replacement is also more efficient and avoiding a long function calling path. Signed-off-by: Wang Huaqiang Reviewed-by: Michal Privoznik --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index b9ce01cbbb..d37af9b3bb 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -19412,7 +19412,7 @@ virDomainCachetuneDefParse(virDomainDefPtr def, /* If no element or element in , do not * append any resctrl element */ - if (!resctrl->nmonitors && virResctrlAllocIsEmpty(alloc)) { + if (!resctrl->nmonitors && n == 0) { ret = 0; goto cleanup; } @@ -19601,7 +19601,7 @@ virDomainMemorytuneDefParse(virDomainDefPtr def, return -1; } - if (virResctrlAllocIsEmpty(alloc)) + if (n == 0) return 0; /*