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@xxxxxxxxxxxxxx> > --- > 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 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list