From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ronald Rojas Subject: [PATCH v4 08/14] golang/xenlight: Implement cpupool operations Date: Thu, 16 Mar 2017 15:08:44 -0400 Message-ID: <1489691330-17695-8-git-send-email-ronladred@gmail.com> References: <1489691330-17695-1-git-send-email-ronladred@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1489691330-17695-1-git-send-email-ronladred@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" Cc: Ronald Rojas , wei.liu2@citrix.com, ian.jackson@eu.citrix.com, George Dunlap , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org SW5jbHVkZSBzb21lIHVzZWZ1bCAiVXRpbGl0eSIgZnVuY3Rpb25zOgotIENwdXBvb2xGaW5kQnlO YW1lCi0gQ3B1cG9vbE1ha2VGcmVlCgpTdGlsbCBuZWVkIHRvIGltcGxlbWVudCB0aGUgZm9sbG93 aW5nIGZ1bmN0aW9uczoKLSBsaWJ4bF9jcHVwb29sX3JlbmFtZQotIGxpYnhsX2NwdXBvb2xfY3B1 YWRkX25vZGUKLSBsaWJ4bF9jcHVwb29sX2NwdXJlbW92ZV9ub2RlCi0gbGlieGxfY3B1cG9vbF9t b3ZlZG9tYWluCgpTaWduZWQtb2ZmLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNp dHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IFJvbmFsZCBSb2phcyA8cm9ubGFkcmVkQGdtYWlsLmNv bT4KCi0tLQoKQ2hhbmdlcwoKLSBSZW5hbWVkIENUb0dvIGZ1bmN0aW9ucyBhcyB0b0dvCgpDQzog eGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKQ0M6IGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbQpDQzog aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbQpDQzogd2VpLmxpdTJAY2l0cml4LmNvbQotLS0KLS0t CiB0b29scy9nb2xhbmcveGVubGlnaHQveGVubGlnaHQuZ28gfCAyMzcgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyMzcgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2dvbGFuZy94ZW5saWdodC94ZW5saWdodC5nbyBiL3Rvb2xz L2dvbGFuZy94ZW5saWdodC94ZW5saWdodC5nbwppbmRleCBkNGE2YmMxLi44NWU0Yzc4IDEwMDY0 NAotLS0gYS90b29scy9nb2xhbmcveGVubGlnaHQveGVubGlnaHQuZ28KKysrIGIvdG9vbHMvZ29s YW5nL3hlbmxpZ2h0L3hlbmxpZ2h0LmdvCkBAIC0zNzMsNiArMzczLDI0MyBAQCBmdW5jIFNjaGVk dWxlckZyb21TdHJpbmcobmFtZSBzdHJpbmcpIChzIFNjaGVkdWxlciwgZXJyIGVycm9yKSB7CiAJ cmV0dXJuCiB9CiAKKy8vIGxpYnhsX2NwdXBvb2xpbmZvID0gU3RydWN0KCJjcHVwb29saW5mbyIs IFsKKy8vICAgICAoInBvb2xpZCIsICAgICAgdWludDMyKSwKKy8vICAgICAoInBvb2xfbmFtZSIs ICAgc3RyaW5nKSwKKy8vICAgICAoInNjaGVkIiwgICAgICAgbGlieGxfc2NoZWR1bGVyKSwKKy8v ICAgICAoIm5fZG9tIiwgICAgICAgdWludDMyKSwKKy8vICAgICAoImNwdW1hcCIsICAgICAgbGli eGxfYml0bWFwKQorLy8gICAgIF0sIGRpcj1ESVJfT1VUKQorCit0eXBlIENwdXBvb2xJbmZvIHN0 cnVjdCB7CisJUG9vbGlkICAgICAgdWludDMyCisJUG9vbE5hbWUgICAgc3RyaW5nCisJU2NoZWR1 bGVyICAgU2NoZWR1bGVyCisJRG9tYWluQ291bnQgaW50CisJQ3B1bWFwICAgICAgQml0bWFwCit9 CisKK2Z1bmMgKGNjaSBDLmxpYnhsX2NwdXBvb2xpbmZvKSB0b0dvKCkgKGdjaSBDcHVwb29sSW5m bykgeworCWdjaS5Qb29saWQgPSB1aW50MzIoY2NpLnBvb2xpZCkKKwlnY2kuUG9vbE5hbWUgPSBD LkdvU3RyaW5nKGNjaS5wb29sX25hbWUpCisJZ2NpLlNjaGVkdWxlciA9IFNjaGVkdWxlcihjY2ku c2NoZWQpCisJZ2NpLkRvbWFpbkNvdW50ID0gaW50KGNjaS5uX2RvbSkKKwlnY2kuQ3B1bWFwID0g Y2NpLmNwdW1hcC50b0dvKCkKKworCXJldHVybgorfQorCisvLyBsaWJ4bF9jcHVwb29saW5mbyAq IGxpYnhsX2xpc3RfY3B1cG9vbChsaWJ4bF9jdHgqLCBpbnQgKm5iX3Bvb2xfb3V0KTsKKy8vIHZv aWQgbGlieGxfY3B1cG9vbGluZm9fbGlzdF9mcmVlKGxpYnhsX2NwdXBvb2xpbmZvICpsaXN0LCBp bnQgbmJfcG9vbCk7CitmdW5jIChDdHggKkNvbnRleHQpIExpc3RDcHVwb29sKCkgKGxpc3QgW11D cHVwb29sSW5mbykgeworCWVyciA6PSBDdHguQ2hlY2tPcGVuKCkKKwlpZiBlcnIgIT0gbmlsIHsK KwkJcmV0dXJuCisJfQorCisJdmFyIG5iUG9vbCBDLmludAorCisJY19jcHVwb29sX2xpc3QgOj0g Qy5saWJ4bF9saXN0X2NwdXBvb2woQ3R4LmN0eCwgJm5iUG9vbCkKKworCWRlZmVyIEMubGlieGxf Y3B1cG9vbGluZm9fbGlzdF9mcmVlKGNfY3B1cG9vbF9saXN0LCBuYlBvb2wpCisKKwlpZiBpbnQo bmJQb29sKSA9PSAwIHsKKwkJcmV0dXJuCisJfQorCisJLy8gTWFnaWMKKwljcHVwb29sTGlzdFNs aWNlIDo9ICgqWzEgPDwgMzBdQy5saWJ4bF9jcHVwb29saW5mbykodW5zYWZlLlBvaW50ZXIoY19j cHVwb29sX2xpc3QpKVs6bmJQb29sOm5iUG9vbF0KKworCWZvciBpIDo9IHJhbmdlIGNwdXBvb2xM aXN0U2xpY2UgeworCQlpbmZvIDo9IGNwdXBvb2xMaXN0U2xpY2VbaV0udG9HbygpCisKKwkJbGlz dCA9IGFwcGVuZChsaXN0LCBpbmZvKQorCX0KKworCXJldHVybgorfQorCisvLyBpbnQgbGlieGxf Y3B1cG9vbF9pbmZvKGxpYnhsX2N0eCAqY3R4LCBsaWJ4bF9jcHVwb29saW5mbyAqaW5mbywgdWlu dDMyX3QgcG9vbGlkKTsKK2Z1bmMgKEN0eCAqQ29udGV4dCkgQ3B1cG9vbEluZm8oUG9vbGlkIHVp bnQzMikgKHBvb2wgQ3B1cG9vbEluZm8pIHsKKwllcnIgOj0gQ3R4LkNoZWNrT3BlbigpCisJaWYg ZXJyICE9IG5pbCB7CisJCXJldHVybgorCX0KKworCXZhciBjX2NwdXBvb2wgQy5saWJ4bF9jcHVw b29saW5mbworCisJcmV0IDo9IEMubGlieGxfY3B1cG9vbF9pbmZvKEN0eC5jdHgsICZjX2NwdXBv b2wsIEMudWludDMyX3QoUG9vbGlkKSkKKwlpZiByZXQgIT0gMCB7CisJCWVyciA9IEVycm9yKC1y ZXQpCisJCXJldHVybgorCX0KKwlkZWZlciBDLmxpYnhsX2NwdXBvb2xpbmZvX2Rpc3Bvc2UoJmNf Y3B1cG9vbCkKKworCXBvb2wgPSBjX2NwdXBvb2wudG9HbygpCisKKwlyZXR1cm4KK30KKworLy8g aW50IGxpYnhsX2NwdXBvb2xfY3JlYXRlKGxpYnhsX2N0eCAqY3R4LCBjb25zdCBjaGFyICpuYW1l LAorLy8gICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX3NjaGVkdWxlciBzY2hlZCwKKy8v ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9iaXRtYXAgY3B1bWFwLCBsaWJ4bF91dWlk ICp1dWlkLAorLy8gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpwb29saWQpOwor Ly8gRklYTUU6IHV1aWQKKy8vIEZJWE1FOiBTZXR0aW5nIHBvb2xpZAorZnVuYyAoQ3R4ICpDb250 ZXh0KSBDcHVwb29sQ3JlYXRlKE5hbWUgc3RyaW5nLCBTY2hlZHVsZXIgU2NoZWR1bGVyLCBDcHVt YXAgQml0bWFwKSAoZXJyIGVycm9yLCBQb29saWQgdWludDMyKSB7CisJZXJyID0gQ3R4LkNoZWNr T3BlbigpCisJaWYgZXJyICE9IG5pbCB7CisJCXJldHVybgorCX0KKworCXBvb2xpZCA6PSBDLnVp bnQzMl90KDApCisJbmFtZSA6PSBDLkNTdHJpbmcoTmFtZSkKKwlkZWZlciBDLmZyZWUodW5zYWZl LlBvaW50ZXIobmFtZSkpCisKKwkvLyBGb3Igbm93LCBqdXN0IGRvIHdoYXQgeGwgZG9lcywgYW5k IG1ha2UgYSBuZXcgdXVpZCBldmVyeSB0aW1lIHdlIGNyZWF0ZSB0aGUgcG9vbAorCXZhciB1dWlk IEMubGlieGxfdXVpZAorCUMubGlieGxfdXVpZF9nZW5lcmF0ZSgmdXVpZCkKKworCWNibSA6PSBD cHVtYXAudG9DKCkKKwlkZWZlciBDLmxpYnhsX2JpdG1hcF9kaXNwb3NlKCZjYm0pCisKKwlyZXQg Oj0gQy5saWJ4bF9jcHVwb29sX2NyZWF0ZShDdHguY3R4LCBuYW1lLCBDLmxpYnhsX3NjaGVkdWxl cihTY2hlZHVsZXIpLAorCQljYm0sICZ1dWlkLCAmcG9vbGlkKQorCWlmIHJldCAhPSAwIHsKKwkJ ZXJyID0gRXJyb3IoLXJldCkKKwkJcmV0dXJuCisJfQorCisJUG9vbGlkID0gdWludDMyKHBvb2xp ZCkKKworCXJldHVybgorfQorCisvLyBpbnQgbGlieGxfY3B1cG9vbF9kZXN0cm95KGxpYnhsX2N0 eCAqY3R4LCB1aW50MzJfdCBwb29saWQpOworZnVuYyAoQ3R4ICpDb250ZXh0KSBDcHVwb29sRGVz dHJveShQb29saWQgdWludDMyKSAoZXJyIGVycm9yKSB7CisJZXJyID0gQ3R4LkNoZWNrT3Blbigp CisJaWYgZXJyICE9IG5pbCB7CisJCXJldHVybgorCX0KKworCXJldCA6PSBDLmxpYnhsX2NwdXBv b2xfZGVzdHJveShDdHguY3R4LCBDLnVpbnQzMl90KFBvb2xpZCkpCisJaWYgcmV0ICE9IDAgewor CQllcnIgPSBFcnJvcigtcmV0KQorCQlyZXR1cm4KKwl9CisKKwlyZXR1cm4KK30KKworLy8gaW50 IGxpYnhsX2NwdXBvb2xfY3B1YWRkKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBwb29saWQsIGlu dCBjcHUpOworZnVuYyAoQ3R4ICpDb250ZXh0KSBDcHVwb29sQ3B1YWRkKFBvb2xpZCB1aW50MzIs IENwdSBpbnQpIChlcnIgZXJyb3IpIHsKKwllcnIgPSBDdHguQ2hlY2tPcGVuKCkKKwlpZiBlcnIg IT0gbmlsIHsKKwkJcmV0dXJuCisJfQorCisJcmV0IDo9IEMubGlieGxfY3B1cG9vbF9jcHVhZGQo Q3R4LmN0eCwgQy51aW50MzJfdChQb29saWQpLCBDLmludChDcHUpKQorCWlmIHJldCAhPSAwIHsK KwkJZXJyID0gRXJyb3IoLXJldCkKKwkJcmV0dXJuCisJfQorCisJcmV0dXJuCit9CisKKy8vIGlu dCBsaWJ4bF9jcHVwb29sX2NwdWFkZF9jcHVtYXAobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IHBv b2xpZCwKKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfYml0 bWFwICpjcHVtYXApOworZnVuYyAoQ3R4ICpDb250ZXh0KSBDcHVwb29sQ3B1YWRkQ3B1bWFwKFBv b2xpZCB1aW50MzIsIENwdW1hcCBCaXRtYXApIChlcnIgZXJyb3IpIHsKKwllcnIgPSBDdHguQ2hl Y2tPcGVuKCkKKwlpZiBlcnIgIT0gbmlsIHsKKwkJcmV0dXJuCisJfQorCisJY2JtIDo9IENwdW1h cC50b0MoKQorCWRlZmVyIEMubGlieGxfYml0bWFwX2Rpc3Bvc2UoJmNibSkKKworCXJldCA6PSBD LmxpYnhsX2NwdXBvb2xfY3B1YWRkX2NwdW1hcChDdHguY3R4LCBDLnVpbnQzMl90KFBvb2xpZCks ICZjYm0pCisJaWYgcmV0ICE9IDAgeworCQllcnIgPSBFcnJvcigtcmV0KQorCQlyZXR1cm4KKwl9 CisKKwlyZXR1cm4KK30KKworLy8gaW50IGxpYnhsX2NwdXBvb2xfY3B1cmVtb3ZlKGxpYnhsX2N0 eCAqY3R4LCB1aW50MzJfdCBwb29saWQsIGludCBjcHUpOworZnVuYyAoQ3R4ICpDb250ZXh0KSBD cHVwb29sQ3B1cmVtb3ZlKFBvb2xpZCB1aW50MzIsIENwdSBpbnQpIChlcnIgZXJyb3IpIHsKKwll cnIgPSBDdHguQ2hlY2tPcGVuKCkKKwlpZiBlcnIgIT0gbmlsIHsKKwkJcmV0dXJuCisJfQorCisJ cmV0IDo9IEMubGlieGxfY3B1cG9vbF9jcHVyZW1vdmUoQ3R4LmN0eCwgQy51aW50MzJfdChQb29s aWQpLCBDLmludChDcHUpKQorCWlmIHJldCAhPSAwIHsKKwkJZXJyID0gRXJyb3IoLXJldCkKKwkJ cmV0dXJuCisJfQorCisJcmV0dXJuCit9CisKKy8vIGludCBsaWJ4bF9jcHVwb29sX2NwdXJlbW92 ZV9jcHVtYXAobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IHBvb2xpZCwKKy8vICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfYml0bWFwICpjcHVtYXApOworZnVu YyAoQ3R4ICpDb250ZXh0KSBDcHVwb29sQ3B1cmVtb3ZlQ3B1bWFwKFBvb2xpZCB1aW50MzIsIENw dW1hcCBCaXRtYXApIChlcnIgZXJyb3IpIHsKKwllcnIgPSBDdHguQ2hlY2tPcGVuKCkKKwlpZiBl cnIgIT0gbmlsIHsKKwkJcmV0dXJuCisJfQorCisJY2JtIDo9IENwdW1hcC50b0MoKQorCWRlZmVy IEMubGlieGxfYml0bWFwX2Rpc3Bvc2UoJmNibSkKKworCXJldCA6PSBDLmxpYnhsX2NwdXBvb2xf Y3B1cmVtb3ZlX2NwdW1hcChDdHguY3R4LCBDLnVpbnQzMl90KFBvb2xpZCksICZjYm0pCisJaWYg cmV0ICE9IDAgeworCQllcnIgPSBFcnJvcigtcmV0KQorCQlyZXR1cm4KKwl9CisKKwlyZXR1cm4K K30KKworLy8gaW50IGxpYnhsX2NwdXBvb2xfcmVuYW1lKGxpYnhsX2N0eCAqY3R4LCBjb25zdCBj aGFyICpuYW1lLCB1aW50MzJfdCBwb29saWQpOworLy8gaW50IGxpYnhsX2NwdXBvb2xfY3B1YWRk X25vZGUobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IHBvb2xpZCwgaW50IG5vZGUsIGludCAqY3B1 cyk7CisvLyBpbnQgbGlieGxfY3B1cG9vbF9jcHVyZW1vdmVfbm9kZShsaWJ4bF9jdHggKmN0eCwg dWludDMyX3QgcG9vbGlkLCBpbnQgbm9kZSwgaW50ICpjcHVzKTsKKy8vIGludCBsaWJ4bF9jcHVw b29sX21vdmVkb21haW4obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IHBvb2xpZCwgdWludDMyX3Qg ZG9taWQpOworCisvLworLy8gVXRpbGl0eSBmdW5jdGlvbnMKKy8vCitmdW5jIChDdHggKkNvbnRl eHQpIENwdXBvb2xGaW5kQnlOYW1lKG5hbWUgc3RyaW5nKSAoaW5mbyBDcHVwb29sSW5mbywgZm91 bmQgYm9vbCkgeworCXBsaXN0IDo9IEN0eC5MaXN0Q3B1cG9vbCgpCisKKwlmb3IgaSA6PSByYW5n ZSBwbGlzdCB7CisJCWlmIHBsaXN0W2ldLlBvb2xOYW1lID09IG5hbWUgeworCQkJZm91bmQgPSB0 cnVlCisJCQlpbmZvID0gcGxpc3RbaV0KKwkJCXJldHVybgorCQl9CisJfQorCXJldHVybgorfQor CitmdW5jIChDdHggKkNvbnRleHQpIENwdXBvb2xNYWtlRnJlZShDcHVtYXAgQml0bWFwKSAoZXJy IGVycm9yKSB7CisJcGxpc3QgOj0gQ3R4Lkxpc3RDcHVwb29sKCkKKworCWZvciBpIDo9IHJhbmdl IHBsaXN0IHsKKwkJdmFyIEludGVyc2VjdGlvbiBCaXRtYXAKKwkJSW50ZXJzZWN0aW9uID0gQ3B1 bWFwLkFuZChwbGlzdFtpXS5DcHVtYXApCisJCWlmICFJbnRlcnNlY3Rpb24uSXNFbXB0eSgpIHsK KwkJCWVyciA9IEN0eC5DcHVwb29sQ3B1cmVtb3ZlQ3B1bWFwKHBsaXN0W2ldLlBvb2xpZCwgSW50 ZXJzZWN0aW9uKQorCQkJaWYgZXJyICE9IG5pbCB7CisJCQkJcmV0dXJuCisJCQl9CisJCX0KKwl9 CisJcmV0dXJuCit9CisKIC8qCiAgKiBCaXRtYXAgb3BlcmF0aW9ucwogICovCi0tIAoyLjcuMwoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=