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

Gao feng gaofeng at cn.fujitsu.com
Wed Mar 20 01:26:36 UTC 2013


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

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
> 





More information about the libvir-list mailing list