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