[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



于 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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]