[libvirt] [PATCH v5 2/5] remote: Implement the plumbing for virDomainPinIOThread

John Ferlan jferlan at redhat.com
Fri Mar 6 14:05:42 UTC 2015


Implement the remote plumbing.

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/remote/remote_driver.c   |  1 +
 src/remote/remote_protocol.x | 17 ++++++++++++++++-
 src/remote_protocol-structs  | 10 ++++++++++
 src/rpc/gendispatch.pl       |  1 +
 4 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 42dab9d..6035631 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -8106,6 +8106,7 @@ static virHypervisorDriver hypervisor_driver = {
     .domainGetVcpus = remoteDomainGetVcpus, /* 0.3.0 */
     .domainGetMaxVcpus = remoteDomainGetMaxVcpus, /* 0.3.0 */
     .domainGetIOThreadsInfo = remoteDomainGetIOThreadsInfo, /* 1.2.14 */
+    .domainPinIOThread = remoteDomainPinIOThread, /* 1.2.14 */
     .domainGetSecurityLabel = remoteDomainGetSecurityLabel, /* 0.6.1 */
     .domainGetSecurityLabelList = remoteDomainGetSecurityLabelList, /* 0.10.0 */
     .nodeGetSecurityModel = remoteNodeGetSecurityModel, /* 0.6.1 */
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index 4ea535e..6beaa6e 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -1199,6 +1199,13 @@ struct remote_domain_get_iothreads_info_ret {
     unsigned int ret;
 };
 
+struct remote_domain_pin_iothread_args {
+    remote_nonnull_domain dom;
+    unsigned int iothreads_id;
+    opaque cpumap<REMOTE_CPUMAP_MAX>; /* (unsigned char *) */
+    unsigned int flags;
+};
+
 struct remote_domain_get_security_label_args {
     remote_nonnull_domain dom;
 };
@@ -5593,5 +5600,13 @@ enum remote_procedure {
      * @generate: none
      * @acl: domain:read
      */
-    REMOTE_PROC_DOMAIN_GET_IOTHREADS_INFO = 351
+    REMOTE_PROC_DOMAIN_GET_IOTHREADS_INFO = 351,
+
+    /**
+     * @generate: both
+     * @acl: domain:write
+     * @acl: domain:save:!VIR_DOMAIN_AFFECT_CONFIG|VIR_DOMAIN_AFFECT_LIVE
+     * @acl: domain:save:VIR_DOMAIN_AFFECT_CONFIG
+     */
+    REMOTE_PROC_DOMAIN_PIN_IOTHREAD = 352
 };
diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs
index 907bcd4..3d55304 100644
--- a/src/remote_protocol-structs
+++ b/src/remote_protocol-structs
@@ -825,6 +825,15 @@ struct remote_domain_get_iothreads_info_ret {
         } info;
         u_int                      ret;
 };
+struct remote_domain_pin_iothread_args {
+        remote_nonnull_domain      dom;
+        u_int                      iothreads_id;
+        struct {
+                u_int              cpumap_len;
+                char *             cpumap_val;
+        } cpumap;
+        u_int                      flags;
+};
 struct remote_domain_get_security_label_args {
         remote_nonnull_domain      dom;
 };
@@ -2982,4 +2991,5 @@ enum remote_procedure {
         REMOTE_PROC_DOMAIN_GET_FSINFO = 349,
         REMOTE_PROC_DOMAIN_DEFINE_XML_FLAGS = 350,
         REMOTE_PROC_DOMAIN_GET_IOTHREADS_INFO = 351,
+        REMOTE_PROC_DOMAIN_PIN_IOTHREAD = 352,
 };
diff --git a/src/rpc/gendispatch.pl b/src/rpc/gendispatch.pl
index 78cb415..8b488eb 100755
--- a/src/rpc/gendispatch.pl
+++ b/src/rpc/gendispatch.pl
@@ -68,6 +68,7 @@ sub fixup_name {
     $name =~ s/Fsthaw$/FSThaw/;
     $name =~ s/Fsinfo$/FSInfo/;
     $name =~ s/Iothreads$/IOThreads/;
+    $name =~ s/Iothread$/IOThread/;
     $name =~ s/Scsi/SCSI/;
     $name =~ s/Wwn$/WWN/;
     $name =~ s/Dhcp$/DHCP/;
-- 
2.1.0




More information about the libvir-list mailing list