于 2013/03/19/ 17:59, Daniel P. Berrange wrote:
On Tue, Mar 19, 2013 at 09:59:37AM +0800, Gao feng wrote:
> Intend to reduce the redundant code,use virNumaSetupMemoryPolicy
> to replace virLXCControllerSetupNUMAPolicy and
> qemuProcessInitNumaMemoryPolicy.
>
> This patch also moves the numa related codes to the
> file virnuma.c and virnuma.h
>
> Signed-off-by: Gao feng <gaofeng(a)cn.fujitsu.com>
> ---
> src/conf/domain_conf.c | 17 ++-----
> src/conf/domain_conf.h | 17 +------
> src/libvirt_private.syms | 5 +-
> src/lxc/lxc_controller.c | 114 +-----------------------------------------
> src/qemu/qemu_cgroup.c | 4 +-
> src/qemu/qemu_process.c | 121 +--------------------------------------------
> src/util/virnuma.c | 126 +++++++++++++++++++++++++++++++++++++++++++++++
> src/util/virnuma.h | 30 +++++++++++
> 8 files changed, 168 insertions(+), 266 deletions(-)
>
> diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
> index 96f11ba..98c4745 100644
> --- a/src/conf/domain_conf.h
> +++ b/src/conf/domain_conf.h
> @@ -47,6 +47,7 @@
> # include "device_conf.h"
> # include "virbitmap.h"
> # include "virstoragefile.h"
> +# include "virnuma.h"
>
> /* forward declarations of all device types, required by
> * virDomainDeviceDef
> @@ -1700,18 +1701,6 @@ virDomainVcpuPinDefPtr
virDomainVcpuPinFindByVcpu(virDomainVcpuPinDefPtr *def,
> int nvcpupin,
> int vcpu);
>
> -typedef struct _virDomainNumatuneDef virDomainNumatuneDef;
> -typedef virDomainNumatuneDef *virDomainNumatuneDefPtr;
> -struct _virDomainNumatuneDef {
> - struct {
> - virBitmapPtr nodemask;
> - int mode;
> - int placement_mode; /* enum virDomainNumatuneMemPlacementMode */
> - } memory;
> -
> - /* Future NUMA tuning related stuff should go here. */
> -};
> -
> typedef struct _virBlkioDeviceWeight virBlkioDeviceWeight;
> typedef virBlkioDeviceWeight *virBlkioDeviceWeightPtr;
> struct _virBlkioDeviceWeight {
> @@ -1801,7 +1790,7 @@ struct _virDomainDef {
> virDomainVcpuPinDefPtr emulatorpin;
> } cputune;
>
> - virDomainNumatuneDef numatune;
> + virNumatuneDef numatune;
>
> /* These 3 are based on virDomainLifeCycleAction enum flags */
> int onReboot;
> @@ -2396,8 +2385,6 @@ VIR_ENUM_DECL(virDomainGraphicsSpicePlaybackCompression)
> VIR_ENUM_DECL(virDomainGraphicsSpiceStreamingMode)
> VIR_ENUM_DECL(virDomainGraphicsSpiceClipboardCopypaste)
> VIR_ENUM_DECL(virDomainGraphicsSpiceMouseMode)
> -VIR_ENUM_DECL(virDomainNumatuneMemMode)
> -VIR_ENUM_DECL(virDomainNumatuneMemPlacementMode)
> VIR_ENUM_DECL(virDomainHyperv)
> VIR_ENUM_DECL(virDomainRNGModel)
> VIR_ENUM_DECL(virDomainRNGBackend)
> diff --git a/src/util/virnuma.h b/src/util/virnuma.h
> index d3d7d3e..ef201b9 100644
> --- a/src/util/virnuma.h
> +++ b/src/util/virnuma.h
> @@ -22,7 +22,37 @@
> #ifndef __VIR_NUMA_H__
> # define __VIR_NUMA_H__
>
> +# include "internal.h"
> +# include "virbitmap.h"
> +# include "virutil.h"
> +
> +enum virNumatuneMemPlacementMode {
> + VIR_NUMATUNE_MEM_PLACEMENT_MODE_DEFAULT = 0,
> + VIR_NUMATUNE_MEM_PLACEMENT_MODE_STATIC,
> + VIR_NUMATUNE_MEM_PLACEMENT_MODE_AUTO,
> +
> + VIR_NUMATUNE_MEM_PLACEMENT_MODE_LAST
> +};
This enum is previously defined in domain_conf.h, but you've
not removed it from there, so now we have 2 enums for the same
thing.
Oops,I forgot to remove it.
Also you've ignore my request to use virNumaTune as the
capatilization and VIR_NUMA_TUNE for enums
Get it,if I use virNumatune as the capatilization,I need to
change virnuma.[c|h] to virnumatune.[c|h]?
Thanks for your comments.
> +
> +VIR_ENUM_DECL(virNumatuneMemPlacementMode)
> +
> +VIR_ENUM_DECL(virDomainNumatuneMemMode)
> +
> +typedef struct _virNumatuneDef virNumatuneDef;
> +typedef virNumatuneDef *virNumatuneDefPtr;
> +struct _virNumatuneDef {
> + struct {
> + virBitmapPtr nodemask;
> + int mode;
> + int placement_mode; /* enum virNumatuneMemPlacementMode */
> + } memory;
> +
> + /* Future NUMA tuning related stuff should go here. */
> +};
Again virNumaTune should be the name prefix
NACK,
Daniel