[libvirt] [PATCH v3 RESEND 3/4] NUMA: cleanup for numa related codes

Daniel P. Berrange berrange at redhat.com
Tue Mar 19 09:59:39 UTC 2013


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 at 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.

Also you've ignore my request to use virNumaTune as the
capatilization and VIR_NUMA_TUNE for enums

> +
> +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
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list