[libvirt] [PATCH 3/8] cputune: Add data structures presenting cputune xml

Osier Yang jyang at redhat.com
Tue Mar 29 07:38:49 UTC 2011


于 2011年03月29日 15:35, Daniel Veillard 写道:
> On Tue, Mar 29, 2011 at 02:32:21PM +0800, Osier Yang wrote:
>> Also related new functions' declaration.
>> ---
>>   src/conf/domain_conf.h   |   26 ++++++++++++++++++++++++++
>>   src/libvirt_private.syms |    4 ++++
>>   2 files changed, 30 insertions(+), 0 deletions(-)
>>
>> diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
>> index 1e8223f..10e73cb 100644
>> --- a/src/conf/domain_conf.h
>> +++ b/src/conf/domain_conf.h
>> @@ -1029,6 +1029,21 @@ void virDomainSnapshotObjListRemove(virDomainSnapshotObjListPtr snapshots,
>>   int virDomainSnapshotHasChildren(virDomainSnapshotObjPtr snap,
>>                                   virDomainSnapshotObjListPtr snapshots);
>>
>> +typedef struct _virDomainVcpupinDef virDomainVcpupinDef;
>> +typedef virDomainVcpupinDef *virDomainVcpupinDefPtr;
>> +struct _virDomainVcpupinDef {
>> +    int vcpuid;
>> +    char *cpumask;
>> +};
>> +
>> +int virDomainVcpupinIsDuplicate(virDomainVcpupinDefPtr *def,
>> +                                int nvcpupin,
>> +                                int vcpu);
>> +
>> +virDomainVcpupinDefPtr virDomainVcpupinFindByVcpu(virDomainVcpupinDefPtr *def,
>> +                                                  int nvcpupin,
>> +                                                  int vcpu);
>> +
>>   /* Guest VM main configuration */
>>   typedef struct _virDomainDef virDomainDef;
>>   typedef virDomainDef *virDomainDefPtr;
>> @@ -1057,6 +1072,12 @@ struct _virDomainDef {
>>       int cpumasklen;
>>       char *cpumask;
>>
>> +    struct {
>> +        unsigned long shares;
>> +        int nvcpupin;
>> +        virDomainVcpupinDefPtr *vcpupin;
>> +    } cputune;
>> +
>>       /* These 3 are based on virDomainLifeCycleAction enum flags */
>>       int onReboot;
>>       int onPoweroff;
>> @@ -1256,6 +1277,11 @@ int virDomainCpuSetParse(const char **str,
>>   char *virDomainCpuSetFormat(char *cpuset,
>>                               int maxcpu);
>>
>> +int virDomainVcpupinAdd(virDomainDefPtr def,
>> +                        unsigned char *cpumap,
>> +                        int maplen,
>> +                        int vcpu);
>> +
>>   int virDomainDiskInsert(virDomainDefPtr def,
>>                           virDomainDiskDefPtr disk);
>>   void virDomainDiskInsertPreAlloced(virDomainDefPtr def,
>> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
>> index b1a357b..d32bd42 100644
>> --- a/src/libvirt_private.syms
>> +++ b/src/libvirt_private.syms
>> @@ -320,6 +320,9 @@ virDomainTimerTickpolicyTypeFromString;
>>   virDomainTimerTickpolicyTypeToString;
>>   virDomainTimerTrackTypeFromString;
>>   virDomainTimerTrackTypeToString;
>> +virDomainVcpupinAdd;
>> +virDomainVcpupinFindByVcpu;
>> +virDomainVcpupinIsDuplicate;
>>   virDomainVideoDefFree;
>>   virDomainVideoDefaultRAM;
>>   virDomainVideoDefaultType;
>
> Okay up to there, except my problem with shares,
>
>> @@ -576,6 +579,7 @@ virVMOperationTypeToString;
>>   # memory.h
>>   virAlloc;
>>   virAllocN;
>> +virAllocVar;
>>   virExpandN;
>>   virFree;
>>   virReallocN;
>
>    That looks unrelated and bogus :-)

Oh, I forget to explain this, I used "VIR_ALLOC_VAR" somewhere
in the patches. So expose it here, will update the patch
description to add explaination for it.

>
> Daniel
>




More information about the libvir-list mailing list