From mboxrd@z Thu Jan 1 00:00:00 1970 From: aq Subject: [PATCH] enforce dom0 cpus and balloon out memory Date: Fri, 29 Jul 2005 12:04:27 +0900 Message-ID: <9cde8bff05072820043a496e14@mail.gmail.com> Reply-To: aq Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_5427_32691011.1122606267927" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel , Ian Pratt List-Id: xen-devel@lists.xenproject.org ------=_Part_5427_32691011.1122606267927 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline This patch does 2 jobs: - Enforce the number of CPUs dom0 will take. See the new variable "dom0-cpus" in xend-config.sxp (you will want to set this variable to 1 on SMP systems) - Balloon out dom0 memory when creating domU, if there is not enough free memory. The lowest level we will balloon out is configured via the new variable "dom0-min-mem" in xend-config.sxp I still have a doubt: where to put the code to enforce dom0-cpus. At the moment I put it into python/xen/xend/server/SrvDaemon.py, and hopefully that is resonable enough. Any comment? Signed-off-by: Nguyen Anh Quynh $ diffstat enforce_resource.patch=20 examples/xend-config.sxp | 8 +++++++ python/xen/xend/XendRoot.py | 10 +++++++++ python/xen/xend/server/SrvDaemon.py | 30 +++++++++++++++++++++++++++- python/xen/xm/create.py | 38 +++++++++++++++++++++++++++++++= +++++ 4 files changed, 85 insertions(+), 1 deletion(-) ------=_Part_5427_32691011.1122606267927 Content-Type: application/octet-stream; name="enforce_resource.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="enforce_resource.patch" ZGlmZiAtciA1MDFhNzBmM2FlOTYgdG9vbHMvZXhhbXBsZXMveGVuZC1jb25maWcuc3hwCi0tLSBh L3Rvb2xzL2V4YW1wbGVzL3hlbmQtY29uZmlnLnN4cAlUaHUgSnVsIDI4IDEyOjM0OjQ1IDIwMDUK KysrIGIvdG9vbHMvZXhhbXBsZXMveGVuZC1jb25maWcuc3hwCUZyaSBKdWwgMjkgMTE6NTU6Mzgg MjAwNQpAQCAtNDQsMyArNDQsMTEgQEAKICMgU2V0dXAgc2NyaXB0IGZvciBlbmJkLWJhY2tlZCBi bG9jayBkZXZpY2VzCiAoYmxvY2stZW5iZCBibG9jay1lbmJkKQogCisjIERvbTAgd2lsbCBiYWxs b29uIG91dCB3aGVuIG5lZWRlZCB0byBmcmVlIG1lbW9yeSBmb3IgZG9tVS4KKyMgZG9tMC1taW4t bWVtIGlzIHRoZSBsb3dlc3QgbWVtb3J5IGxldmVsIChpbiBNQikgZG9tMCB3aWxsIGdldCBkb3du IHRvLgorIyBJZiBkb20wLW1pbi1tZW09MCwgZG9tMCB3aWxsIG5ldmVyIGJhbGxvb24gb3V0Lgor KGRvbTAtbWluLW1lbSAwKQorCisjIEluIFNNUCBzeXN0ZW0sIGRvbTAgd2lsbCB1c2Ugb25seSBD UFVzIGluIHJhbmdlIFsxLGRvbTAtY3B1c10KKyMgSWYgZG9tMC1jcHVzID0gMCwgZG9tMCB3aWxs IHRha2UgYWxsIGNwdXMgYXZhaWxhYmxlCisoZG9tMC1jcHVzIDApCmRpZmYgLXIgNTAxYTcwZjNh ZTk2IHRvb2xzL3B5dGhvbi94ZW4veGVuZC9YZW5kUm9vdC5weQotLS0gYS90b29scy9weXRob24v eGVuL3hlbmQvWGVuZFJvb3QucHkJVGh1IEp1bCAyOCAxMjozNDo0NSAyMDA1CisrKyBiL3Rvb2xz L3B5dGhvbi94ZW4veGVuZC9YZW5kUm9vdC5weQlGcmkgSnVsIDI5IDExOjU1OjM4IDIwMDUKQEAg LTc1LDYgKzc1LDEwIEBACiAKICAgICAiIiJEZWZhdWx0IHBvcnQgeGVuZCBzZXJ2ZXMgY29uc29s ZXMgYXQuICIiIgogICAgIGNvbnNvbGVfcG9ydF9iYXNlX2RlZmF1bHQgPSAnOTYwMCcKKworICAg IGRvbTBfbWluX21lbV9kZWZhdWx0ID0gJzAnCisKKyAgICBkb20wX2NwdXNfZGVmYXVsdCA9ICcw JwogCiAgICAgY29tcG9uZW50cyA9IHt9CiAKQEAgLTMyOSw2ICszMzMsMTIgQEAKICAgICBkZWYg Z2V0X3ZpZl9hbnRpc3Bvb2Yoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLmdldF9jb25maWdf Ym9vbCgndmlmLWFudGlzcG9vZicsICd5ZXMnKQogCisgICAgZGVmIGdldF9kb20wX21pbl9tZW0o c2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmdldF9jb25maWdfaW50KCdkb20wLW1pbi1tZW0n LCBzZWxmLmRvbTBfbWluX21lbV9kZWZhdWx0KQorCisgICAgZGVmIGdldF9kb20wX2NwdXMoc2Vs Zik6CisgICAgICAgIHJldHVybiBzZWxmLmdldF9jb25maWdfaW50KCdkb20wLWNwdXMnLCBzZWxm LmRvbTBfY3B1c19kZWZhdWx0KQorCiBkZWYgaW5zdGFuY2UoKToKICAgICAiIiJHZXQgYW4gaW5z dGFuY2Ugb2YgWGVuZFJvb3QuCiAgICAgVXNlIHRoaXMgaW5zdGVhZCBvZiB0aGUgY29uc3RydWN0 b3IuCmRpZmYgLXIgNTAxYTcwZjNhZTk2IHRvb2xzL3B5dGhvbi94ZW4veGVuZC9zZXJ2ZXIvU3J2 RGFlbW9uLnB5Ci0tLSBhL3Rvb2xzL3B5dGhvbi94ZW4veGVuZC9zZXJ2ZXIvU3J2RGFlbW9uLnB5 CVRodSBKdWwgMjggMTI6MzQ6NDUgMjAwNQorKysgYi90b29scy9weXRob24veGVuL3hlbmQvc2Vy dmVyL1NydkRhZW1vbi5weQlGcmkgSnVsIDI5IDExOjU1OjM4IDIwMDUKQEAgLTUsNyArNSw2IEBA CiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwogCiBpbXBvcnQgb3MKLWltcG9ydCBvcy5wYXRoCiBpbXBvcnQgc2lnbmFsCiBpbXBvcnQg c3lzCiBpbXBvcnQgdGhyZWFkaW5nCkBAIC0xNiw2ICsxNSw3IEBACiBpbXBvcnQgU3RyaW5nSU8K IGltcG9ydCB0cmFjZWJhY2sKIGltcG9ydCB0aW1lCitpbXBvcnQgZ2xvYgogCiBmcm9tIHhlbi5s b3dsZXZlbCBpbXBvcnQgeHUKIApAQCAtMjUsNiArMjUsNyBAQAogZnJvbSB4ZW4ueGVuZC5YZW5k RXJyb3IgaW1wb3J0IFhlbmRFcnJvcgogZnJvbSB4ZW4ueGVuZC5zZXJ2ZXIgaW1wb3J0IFNydlNl cnZlcgogZnJvbSB4ZW4ueGVuZC5YZW5kTG9nZ2luZyBpbXBvcnQgbG9nCitmcm9tIHhlbi54ZW5k IGltcG9ydCBYZW5kUm9vdDsgeHJvb3QgPSBYZW5kUm9vdC5pbnN0YW5jZSgpCiAKIGltcG9ydCBj aGFubmVsCiBpbXBvcnQgY29udHJvbGxlcgpAQCAtMzI3LDYgKzMyOCw3IEBACiAgICAgICAgIHJl dHVybiBzZWxmLmNsZWFudXAoa2lsbD1UcnVlKQogCiAgICAgZGVmIHJ1bihzZWxmKToKKyAgICAg ICAgX2VuZm9yY2VfZG9tMF9jcHVzKCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbG9nLmlu Zm8oIlhlbmQgRGFlbW9uIHN0YXJ0ZWQiKQogICAgICAgICAgICAgc2VsZi5jcmVhdGVGYWN0b3Jp ZXMoKQpAQCAtMzYzLDYgKzM2NSwzMiBAQAogICAgICAgICAjc3lzLmV4aXQocmMpCiAgICAgICAg IG9zLl9leGl0KHJjKQogCitkZWYgX2VuZm9yY2VfZG9tMF9jcHVzKCk6CisgICAgZG4gPSB4cm9v dC5nZXRfZG9tMF9jcHVzKCkKKworICAgIGZvciBkIGluIGdsb2IuZ2xvYigiL3N5cy9kZXZpY2Vz L3N5c3RlbS9jcHUvY3B1KiIpOgorICAgICAgICBjcHUgPSBpbnQob3MucGF0aC5iYXNlbmFtZShk KVszOl0pCisgICAgICAgIGlmIChkbiA9PSAwKSBvciAoY3B1IDwgZG4pOgorICAgICAgICAgICAg diA9ICIxIgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgdiA9ICIwIgorICAgICAgICB0cnk6 CisgICAgICAgICAgICBmID0gb3BlbigiJXMvb25saW5lIiAlZCwgInIrIikKKyAgICAgICAgICAg IGMgPSBmLnJlYWQoMSkKKyAgICAgICAgICAgIGlmIChjICE9IHYpOgorICAgICAgICAgICAgICAg IGlmIHYgPT0gIjAiOgorICAgICAgICAgICAgICAgICAgICBsb2cuaW5mbygiZG9tMCBpcyB0cnlp bmcgdG8gZ2l2ZSBiYWNrIGNwdSAlZCIsIGNwdSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAg ICAgICAgICAgICAgICAgICBsb2cuaW5mbygiZG9tMCBpcyB0cnlpbmcgdG8gdGFrZSBjcHUgJWQi LCBjcHUpCisgICAgICAgICAgICAgICAgZi5zZWVrKDApCisgICAgICAgICAgICAgICAgZi53cml0 ZSh2KQorICAgICAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICAgICAgICAgIGxvZy5pbmZv KCJkb20wIHN1Y2Nlc3NmdWxseSBlbmZvcmNlZCBjcHUgJWQiLCBjcHUpCisgICAgICAgICAgICBl bHNlOgorICAgICAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICBleGNlcHQ6CisgICAgICAg ICAgICBwYXNzCisKIGRlZiBpbnN0YW5jZSgpOgogICAgIGdsb2JhbCBpbnN0CiAgICAgdHJ5Ogpk aWZmIC1yIDUwMWE3MGYzYWU5NiB0b29scy9weXRob24veGVuL3htL2NyZWF0ZS5weQotLS0gYS90 b29scy9weXRob24veGVuL3htL2NyZWF0ZS5weQlUaHUgSnVsIDI4IDEyOjM0OjQ1IDIwMDUKKysr IGIvdG9vbHMvcHl0aG9uL3hlbi94bS9jcmVhdGUucHkJRnJpIEp1bCAyOSAxMTo1NTozOCAyMDA1 CkBAIC0xLDQgKzEsNSBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMDQgTWlrZSBXcmF5IDxtaWtlLndy YXlAaHAuY29tPgorIyBDb3B5cmlnaHQgKEMpIDIwMDUgTmd1eWVuIEFuaCBRdXluaCA8YXF1eW5o QGdtYWlsLmNvbT4KIAogIiIiRG9tYWluIGNyZWF0aW9uLgogIiIiCkBAIC03LDEwICs4LDEzIEBA CiBpbXBvcnQgc3lzCiBpbXBvcnQgc29ja2V0CiAKK2ltcG9ydCB4ZW4ubG93bGV2ZWwueGMKKwog ZnJvbSB4ZW4ueGVuZCBpbXBvcnQgc3hwCiBmcm9tIHhlbi54ZW5kIGltcG9ydCBQcmV0dHlQcmlu dAogZnJvbSB4ZW4ueGVuZC5YZW5kQ2xpZW50IGltcG9ydCBzZXJ2ZXIsIFhlbmRFcnJvcgogZnJv bSB4ZW4ueGVuZC5YZW5kQm9vdGxvYWRlciBpbXBvcnQgYm9vdGxvYWRlcgorZnJvbSB4ZW4ueGVu ZCBpbXBvcnQgWGVuZFJvb3Q7IHhyb290ID0gWGVuZFJvb3QuaW5zdGFuY2UoKQogZnJvbSB4ZW4u dXRpbCBpbXBvcnQgYmxraWYKIAogZnJvbSB4ZW4udXRpbCBpbXBvcnQgY29uc29sZV9jbGllbnQK QEAgLTY0NCw2ICs2NDgsMzYgQEAKICAgICAgICAgICAgICAgJSAoZG9tLCBjb25zb2xlX3BvcnQp KQogICAgIHJldHVybiAoZG9tLCBjb25zb2xlX3BvcnQpCiAKK2RlZiBnZXRfZG9tMF9hbGxvYygp OgorICAgICIiIlJldHVybiBjdXJyZW50IGFsbG9jYXRpb24gbWVtb3J5IG9mIGRvbTAgKGluIE1C KS4gUmV0dXJuIDAgb24gZXJyb3IiIiIKKyAgICBQUk9DX1hFTl9CQUxMT09OID0gIi9wcm9jL3hl bi9iYWxsb29uIgorCisgICAgZiA9IG9wZW4oUFJPQ19YRU5fQkFMTE9PTiwgInIiKQorICAgIGxp bmUgPSBmLnJlYWRsaW5lKCkKKyAgICBmb3IgeCBpbiBsaW5lLnNwbGl0KCk6CisgICAgICAgIGZv ciBuIGluIHg6CisgICAgICAgICAgICBpZiBub3Qgbi5pc2RpZ2l0KCk6CisgICAgICAgICAgICAg ICAgYnJlYWsKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICAg ICAgcmV0dXJuIGludCh4KS8xMDI0CisgICAgZi5jbG9zZSgpCisgICAgcmV0dXJuIDAKKworZGVm IGJhbGxvb25fb3V0KGRvbTBfbWluX21lbSwgb3B0cyk6CisgICAgIiIiQmFsbG9vbiBvdXQgdG8g Z2V0IG1lbW9yeSBmb3IgZG9tVSwgaWYgbmVjZXNzYXJpbHkiIiIKKyAgICBTTEFDSyA9IDQKKwor ICAgIHhjID0geGVuLmxvd2xldmVsLnhjLm5ldygpCisgICAgcGluZm8gPSB4Yy5waHlzaW5mbygp CisgICAgZnJlZV9tZW0gPSBwaW5mb1snZnJlZV9wYWdlcyddLzI1NgorICAgIGlmIGZyZWVfbWVt IDwgb3B0cy52YWxzLm1lbW9yeSArIFNMQUNLOgorICAgICAgICBuZWVkX21lbSA9IG9wdHMudmFs cy5tZW1vcnkgKyBTTEFDSyAtIGZyZWVfbWVtCisgICAgICAgIGN1cl9hbGxvYyA9IGdldF9kb20w X2FsbG9jKCkKKyAgICAgICAgaWYgY3VyX2FsbG9jIC0gbmVlZF9tZW0gPj0gZG9tMF9taW5fbWVt OgorICAgICAgICAgICAgc2VydmVyLnhlbmRfZG9tYWluX21lbV90YXJnZXRfc2V0KDAsIGN1cl9h bGxvYyAtIG5lZWRfbWVtKQorICAgIGRlbCB4YworCiBkZWYgbWFpbihhcmd2KToKICAgICBvcHRz ID0gZ29wdHMKICAgICBhcmdzID0gb3B0cy5wYXJzZShhcmd2KQpAQCAtNjcxLDYgKzcwNSwxMCBA QAogICAgIGlmIG9wdHMudmFscy5kcnlydW46CiAgICAgICAgIFByZXR0eVByaW50LnByZXR0eXBy aW50KGNvbmZpZykKICAgICBlbHNlOgorICAgICAgICBkb20wX21pbl9tZW0gPSB4cm9vdC5nZXRf ZG9tMF9taW5fbWVtKCkKKyAgICAgICAgaWYgZG9tMF9taW5fbWVtICE9IDA6CisgICAgICAgICAg ICBiYWxsb29uX291dChkb20wX21pbl9tZW0sIG9wdHMpCisKICAgICAgICAgKGRvbSwgY29uc29s ZSkgPSBtYWtlX2RvbWFpbihvcHRzLCBjb25maWcpCiAgICAgICAgIGlmIG9wdHMudmFscy5jb25z b2xlX2F1dG9jb25uZWN0OgogICAgICAgICAgICAgcGF0aCA9ICIvdmFyL2xpYi94ZW5kL2NvbnNv bGUtJXMiICUgY29uc29sZQo= ------=_Part_5427_32691011.1122606267927 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ------=_Part_5427_32691011.1122606267927--