[libvirt] [PATCH v3 07/16] numatune: Encapsulate numatune configuration in order to unify results
Roman Bogorodskiy
bogorodskiy at gmail.com
Thu Jul 17 16:57:02 UTC 2014
Roman Bogorodskiy wrote:
> Martin Kletzander wrote:
>
> > There were numerous places where numatune configuration (and thus
> > domain config as well) was changed in different ways. On some
> > places this even resulted in persistent domain definition not to be
> > stable (it would change with daemon's restart).
> >
> > In order to uniformly change how numatune config is dealt with, all
> > the internals are now accessible directly only in numatune_conf.c and
> > outside this file accessors must be used.
> >
> > Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> > ---
> > po/POTFILES.in | 1 +
> > src/conf/domain_conf.c | 159 ++---------
> > src/conf/domain_conf.h | 8 +-
> > src/conf/numatune_conf.c | 318 +++++++++++++++++++++
> > src/conf/numatune_conf.h | 72 ++++-
> > src/libvirt_private.syms | 11 +
> > src/lxc/lxc_cgroup.c | 19 +-
> > src/lxc/lxc_controller.c | 5 +-
> > src/lxc/lxc_native.c | 15 +-
> > src/parallels/parallels_driver.c | 7 +-
> > src/qemu/qemu_cgroup.c | 23 +-
> > src/qemu/qemu_driver.c | 84 +++---
> > src/qemu/qemu_process.c | 8 +-
> > src/util/virnuma.c | 48 ++--
> > src/util/virnuma.h | 2 +-
> > .../qemuxml2argv-numatune-auto-prefer.xml | 29 ++
> > .../qemuxml2xmlout-numatune-auto-prefer.xml | 29 ++
> > tests/qemuxml2xmltest.c | 2 +
> > 18 files changed, 555 insertions(+), 285 deletions(-)
> > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-prefer.xml
> > create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-numatune-auto-prefer.xml
>
> Looks like this breaks build with clang:
>
> gmake[3]: Entering directory `/usr/home/novel/code/libvirt/src'
> CC util/libvirt_util_la-virclosecallbacks.lo
> In file included from util/virclosecallbacks.c:28:
> In file included from ../src/util/virclosecallbacks.h:28:
> ../src/conf/domain_conf.h:70:35: error: redefinition of typedef 'virDomainNumatune' is a C11 feature [-Werror,-Wtypedef-redefinition]
> typedef struct _virDomainNumatune virDomainNumatune;
> ^
> ../src/conf/numatune_conf.h:43:35: note: previous definition is here
> typedef struct _virDomainNumatune virDomainNumatune;
> ^
> In file included from util/virclosecallbacks.c:28:
> In file included from ../src/util/virclosecallbacks.h:28:
> ../src/conf/domain_conf.h:71:28: error: redefinition of typedef 'virDomainNumatunePtr' is a C11 feature [-Werror,-Wtypedef-redefinition]
> typedef virDomainNumatune *virDomainNumatunePtr;
> ^
> ../src/conf/numatune_conf.h:44:28: note: previous definition is here
> typedef virDomainNumatune *virDomainNumatunePtr;
> ^
> In file included from util/virclosecallbacks.c:28:
> In file included from ../src/util/virclosecallbacks.h:28:
> ../src/conf/domain_conf.h:1857:30: error: redefinition of typedef 'virDomainDef' is a C11 feature [-Werror,-Wtypedef-redefinition]
> typedef struct _virDomainDef virDomainDef;
> ^
> ../src/conf/numatune_conf.h:39:30: note: previous definition is here
> typedef struct _virDomainDef virDomainDef;
> ^
> In file included from util/virclosecallbacks.c:28:
> In file included from ../src/util/virclosecallbacks.h:28:
> ../src/conf/domain_conf.h:1858:23: error: redefinition of typedef 'virDomainDefPtr' is a C11 feature [-Werror,-Wtypedef-redefinition]
> typedef virDomainDef *virDomainDefPtr;
> ^
> ../src/conf/numatune_conf.h:40:23: note: previous definition is here
> typedef virDomainDef *virDomainDefPtr;
> ^
> 4 errors generated.
>
> Should we probably drop the repeating definitions from domain_conf.h as
> we're including numatune_conf.h anyway?
I got it fixed by the following diff:
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 4c9b7e8..e4d7988 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -67,9 +67,6 @@ typedef virDomainFSDef *virDomainFSDefPtr;
typedef struct _virDomainNetDef virDomainNetDef;
typedef virDomainNetDef *virDomainNetDefPtr;
-typedef struct _virDomainNumatune virDomainNumatune;
-typedef virDomainNumatune *virDomainNumatunePtr;
-
typedef struct _virDomainInputDef virDomainInputDef;
typedef virDomainInputDef *virDomainInputDefPtr;
@@ -1854,8 +1851,6 @@ struct _virDomainResourceDef {
* NB: if adding to this struct, virDomainDefCheckABIStability
* may well need an update
*/
-typedef struct _virDomainDef virDomainDef;
-typedef virDomainDef *virDomainDefPtr;
struct _virDomainDef {
int virtType;
int id;
I didn't check it beyond build and check/syntax-check though. Anyway, it
doesn't look quite clean to have typedefs in numatune_conf.h for the
struct declared in domain_conf.h.
Roman Bogorodskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140717/98533d1c/attachment-0001.sig>
More information about the libvir-list
mailing list