From: "Dan Magenheimer" Subject: [PATCH] add self-ballooning to balloon driver Date: Thu, 24 Apr 2008 16:47:35 -0600 Message-ID: <20080424164735890.00000007176@djm-pc> Reply-To: "dan.magenheimer@oracle.com" Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=-------2e9450ea2e9450ea 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 (E-mail)" List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format ---------2e9450ea2e9450ea Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 VGhlIGF0dGFjaGVkIHBhdGNoIGFkZHMgYSAic2VsZi1iYWxsb29uaW5nIiBmZWF0dXJlIHRv IHRoZSBiYWxsb29uDQpkcml2ZXIuICBDdXJyZW50bHkgaXQgb25seSB3b3JrcyB3aGVuIHRo ZSBiYWxsb29uIGRyaXZlciBpcw0KY29tcGlsZWQgaW50byB0aGUga2VybmVsIChlLmcuIG5v dCBhcyBhIHB2LW9uLWh2bSBkcml2ZXIpIGJlY2F1c2UsDQphbGFzLCB0aGUga2V5IGtlcm5l bCBnbG9iYWwgdmFyaWFibGUgaXMgbm90IGV4cG9ydGVkLg0KDQpJdCBjYW4gYmUgdHVybmVk IG9uIHdpdGggImVjaG8gMSA+IC9wcm9jL3hlbi9iYWxsb29uIiBhbmQNCm9mZiBhZ2FpbiB3 aXRoICJlY2hvIDAgPiAvcHJvYy94ZW4vYmFsbG9vbiIuICBJdCBkZWZhdWx0cyBvZmYuDQoN CkkndmUgdGVzdGVkIGl0IHdpdGggYSBwcm9ncmFtIHRoYXQgcmFuZG9tbHkgZWF0cyBtZW1v cnkgYW5kIGl0DQpzZWVtcyB0byB3b3JrIHByZXR0eSB3ZWxsIGJhbGFuY2luZyB0d28gZG9t YWlucyBhbmQgc3VycmVuZGVyaW5nDQpsb3RzIG9mIG1lbW9yeSAoYnV0IG5vdCB0b28gbXVj aCkgd2hlbiBhIGRvbWFpbiBpcyBpZGxlLiAgVGhlDQpvbmx5IGRlbGV0ZXJpb3VzIGVmZmVj dCBJJ3ZlIHNlZW4gaXMgdGhhdCBwZXJmb3JtYW5jZSBzdWZmZXJzDQpmb3IgYSBzZWNvbmQg b3Igc28gd2hlbiBhIGJpZyBtZW1vcnkgYXBwIGlzIGxhdW5jaGVkIG9uIGENCnByZXZpb3Vz bHkgYmFsbG9vbmVkLWRvd24gc3lzdGVtIChkdWUgdG8gc3dhcHBpbmcpLiAgQnV0IHRoaXMN CmlzIGEgc21hbGwgcHJpY2UgdG8gcGF5IGluIHNvbWUgcmVhbCB3b3JsZCBlbnZpcm9ubWVu dHMuDQoNCkl0IG9idmlvdXNseSBzaG91bGRuJ3QgYmUgdXNlZCBvbiBhIGRvbWFpbiB0aGF0 IGRvZXNuJ3QgaGF2ZQ0KYSAodmlydHVhbCkgc3dhcCBkaXNrIGNvbmZpZ3VyZWQuICBJZiB5 b3UgZm9yZXNlZSBvdGhlciBpc3N1ZXMsDQpwbGVhc2UgbGV0IG1lIGtub3cuDQoNCkkndmUg Z290IGxvdHMgb2YgaWRlYXMgZm9yIGJ1aWxkaW5nIG9uIHRoaXMgKGZvciBleGFtcGxlIHJh dGUtbGltaXRpbmcNCm1lbW9yeSBzdXJyZW5kZXJpbmcpIGJ1dCB0aG91Z2h0IEknZCBzdWJt aXQgdGhlIGJhc2ljIHBhdGNoDQpmb3Igb3RoZXJzIHRvIHRyeS90ZXN0Lg0KDQpEYW4NCg0K PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCklmIFhlbiBjb3VsZCBzYXZl IHRpbWUgaW4gYSBib3R0bGUgLyB0aGVuIGNsb2NrcyB3b3VsZG4ndCB2aXJ0dWFsbHkgc2tl dyAvDQpJdCB3b3VsZCBzYXZlIGV2ZXJ5IHRpY2sgLyBmb3IgVk1zIHRoYXQgYXJlbid0IHF1 aWNrIC8NCmFuZCBYZW4gdGhlbiB3b3VsZCBzZW5kIHRoZW0gYW5ldw0KKHdpdGggYXBvbG9n aWVzIHRvIHRoZSBsYXRlIGdyZWF0IEppbSBDcm9jZSk= ---------2e9450ea2e9450ea Content-Type: application/octet-stream; name="selfballoon.patch" Content-Disposition: attachment; filename="selfballoon.patch" Content-Transfer-Encoding: base64 ZGlmZiAtciA3ZjhiNTQ0MjM3YmYgZHJpdmVycy94ZW4vYmFsbG9vbi9iYWxsb29uLmMKLS0t IGEvZHJpdmVycy94ZW4vYmFsbG9vbi9iYWxsb29uLmMJVHVlIEFwciAxNSAxNToxODo1OCAy MDA4ICswMTAwCisrKyBiL2RyaXZlcnMveGVuL2JhbGxvb24vYmFsbG9vbi5jCVRodSBBcHIg MjQgMTY6MTI6NDMgMjAwOCAtMDYwMApAQCAtNiw2ICs2LDcgQEAKICAqIENvcHlyaWdodCAo YykgMjAwMywgQiBEcmFnb3ZpYwogICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDQsIE0gV2ls bGlhbXNvbiwgSyBGcmFzZXIKICAqIENvcHlyaWdodCAoYykgMjAwNSBEYW4gTS4gU21pdGgs IElCTSBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChjKSAyMDA4IERhbiBNYWdlbmhlaW1l ciwgT3JhY2xlIENvcnAgKGFkZGVkIHNlbGYtYmFsbG9vbmluZykKICAqIAogICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v cgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgdmVyc2lvbiAyCkBAIC03OCw2ICs3OSwxMyBAQCBERUZJTkVfU1BJTkxP Q0soYmFsbG9vbl9sb2NrKTsKIAogc3RydWN0IGJhbGxvb25fc3RhdHMgYmFsbG9vbl9zdGF0 czsKIAorLyoKKyAqIHVzZSB2bV9jb21taXR0ZWRfc3BhY2UgYXMgYW4gYXBwcm94aW1hdGlv biBmb3IgYmFsbG9vbiB0YXJnZXQsIHJlcGVhdGluZworICogZXZlcnkgc2Vjb25kLiAgRGlz YWJsZWQgaWYgY29tcGlsZWQgYXMgTU9EVUxFIGJlY2F1c2Uga2VybmVsIGRvZXNuJ3QKKyAq IGN1cnJlbnRseSBleHBvcnQgdm1fY29tbWl0dGVkX3NwYWNlCisgKi8KK3N0YXRpYyBpbnQg c2VsZmJhbGxvb24gPSAwOworCiAvKiBXZSBpbmNyZWFzZS9kZWNyZWFzZSBpbiBiYXRjaGVz IHdoaWNoIGZpdCBpbiBhIHBhZ2UgKi8KIHN0YXRpYyB1bnNpZ25lZCBsb25nIGZyYW1lX2xp c3RbUEFHRV9TSVpFIC8gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpXTsKIApAQCAtODYsMTEgKzk0 LDE0IEBAIGV4dGVybiB1bnNpZ25lZCBsb25nIHRvdGFscmFtX3BhZ2VzOwogCiAjaWZuZGVm IE1PRFVMRQogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdG90YWxoaWdoX3BhZ2VzOworZXh0ZXJu IGF0b21pY190IHZtX2NvbW1pdHRlZF9zcGFjZTsKICNkZWZpbmUgaW5jX3RvdGFsaGlnaF9w YWdlcygpICh0b3RhbGhpZ2hfcGFnZXMrKykKICNkZWZpbmUgZGVjX3RvdGFsaGlnaF9wYWdl cygpICh0b3RhbGhpZ2hfcGFnZXMtLSkKICNlbHNlCiAjZGVmaW5lIGluY190b3RhbGhpZ2hf cGFnZXMoKSAoKHZvaWQpMCkKICNkZWZpbmUgZGVjX3RvdGFsaGlnaF9wYWdlcygpICgodm9p ZCkwKQorI3VuZGVmIGF0b21pY19yZWFkCisjZGVmaW5lIGF0b21pY19yZWFkKHgpICgwKQog I2VuZGlmCiAKIC8qIExpc3Qgb2YgYmFsbG9vbmVkIHBhZ2VzLCB0aHJlYWRlZCB0aHJvdWdo IHRoZSBtZW1fbWFwIGFycmF5LiAqLwpAQCAtMzgxLDYgKzM5MiwxNiBAQCBzdGF0aWMgaW50 IGRlY3JlYXNlX3Jlc2VydmF0aW9uKHVuc2lnbmVkCiAJcmV0dXJuIG5lZWRfc2xlZXA7CiB9 CiAKKy8qIFJlc2V0cyB0aGUgWGVuIGxpbWl0IGFuZCBzZXRzIG5ldyB0YXJnZXQuICovCit2 b2lkIGJhbGxvb25fc2V0X25ld190YXJnZXQodW5zaWduZWQgbG9uZyB0YXJnZXQpCit7CisJ aWYgKCF0YXJnZXQpIHJldHVybjsgLyogY29tcGlsZWQgYXMgbW9kdWxlLCBzZWxmYmFsbG9v biBvbiAqLworCS8qIE5vIG5lZWQgZm9yIGxvY2suIE5vdCByZWFkLW1vZGlmeS13cml0ZSB1 cGRhdGVzLiAqLworCWJzLmhhcmRfbGltaXQgICA9IH4wVUw7CisJYnMudGFyZ2V0X3BhZ2Vz ID0gbWF4KHRhcmdldCwgbWluaW11bV90YXJnZXQoKSk7Cit9CisKKwogLyoKICAqIFdlIGF2 b2lkIG11bHRpcGxlIHdvcmtlciBwcm9jZXNzZXMgY29uZmxpY3RpbmcgdmlhIHRoZSBiYWxs b29uIG11dGV4LgogICogV2UgbWF5IG9mIGNvdXJzZSByYWNlIHVwZGF0ZXMgb2YgdGhlIHRh cmdldCBjb3VudHMgKHdoaWNoIGFyZSBwcm90ZWN0ZWQKQEAgLTM5MSw5ICs0MTIsMTYgQEAg c3RhdGljIHZvaWQgYmFsbG9vbl9wcm9jZXNzKHZvaWQgKnVudXNlZAogewogCWludCBuZWVk X3NsZWVwID0gMDsKIAlsb25nIGNyZWRpdDsKKwl1bnNpZ25lZCBsb25nIHRhcmdldF9wYWdl czsKIAogCW11dGV4X2xvY2soJmJhbGxvb25fbXV0ZXgpOwogCisJaWYgKHNlbGZiYWxsb29u KSB7CisJCXRhcmdldF9wYWdlcyA9IGF0b21pY19yZWFkKCZ2bV9jb21taXR0ZWRfc3BhY2Up OworCQliYWxsb29uX3NldF9uZXdfdGFyZ2V0KHRhcmdldF9wYWdlcyk7CisvLwkJSVBSSU5U Sygic2V0dGluZyBuZXcgc2VsZi1iYWxsb29uaW5nIHRhcmdldD0lbGQga0JcbiIsCisvLwkJ CXRhcmdldF9wYWdlcyA8PCAoUEFHRV9TSElGVCAtIDEwKSk7CisJfQogCWRvIHsKIAkJY3Jl ZGl0ID0gY3VycmVudF90YXJnZXQoKSAtIGJzLmN1cnJlbnRfcGFnZXM7CiAJCWlmIChjcmVk aXQgPiAwKQpAQCAtNDA4LDE4ICs0MzYsMTcgQEAgc3RhdGljIHZvaWQgYmFsbG9vbl9wcm9j ZXNzKHZvaWQgKnVudXNlZAogCX0gd2hpbGUgKChjcmVkaXQgIT0gMCkgJiYgIW5lZWRfc2xl ZXApOwogCiAJLyogU2NoZWR1bGUgbW9yZSB3b3JrIGlmIHRoZXJlIGlzIHNvbWUgc3RpbGwg dG8gYmUgZG9uZS4gKi8KLQlpZiAoY3VycmVudF90YXJnZXQoKSAhPSBicy5jdXJyZW50X3Bh Z2VzKQorCWlmICgoY3VycmVudF90YXJnZXQoKSAhPSBicy5jdXJyZW50X3BhZ2VzKSB8fCBz ZWxmYmFsbG9vbikgewogCQltb2RfdGltZXIoJmJhbGxvb25fdGltZXIsIGppZmZpZXMgKyBI Wik7CisJfQogCiAJbXV0ZXhfdW5sb2NrKCZiYWxsb29uX211dGV4KTsKIH0KIAogLyogUmVz ZXRzIHRoZSBYZW4gbGltaXQsIHNldHMgbmV3IHRhcmdldCwgYW5kIGtpY2tzIG9mZiBwcm9j ZXNzaW5nLiAqLwotdm9pZCBiYWxsb29uX3NldF9uZXdfdGFyZ2V0KHVuc2lnbmVkIGxvbmcg dGFyZ2V0KQordm9pZCBiYWxsb29uX3N0YXJ0X25ld190YXJnZXQodW5zaWduZWQgbG9uZyB0 YXJnZXQpCiB7Ci0JLyogTm8gbmVlZCBmb3IgbG9jay4gTm90IHJlYWQtbW9kaWZ5LXdyaXRl IHVwZGF0ZXMuICovCi0JYnMuaGFyZF9saW1pdCAgID0gfjBVTDsKLQlicy50YXJnZXRfcGFn ZXMgPSBtYXgodGFyZ2V0LCBtaW5pbXVtX3RhcmdldCgpKTsKKwliYWxsb29uX3NldF9uZXdf dGFyZ2V0KHRhcmdldCk7CiAJc2NoZWR1bGVfd29yaygmYmFsbG9vbl93b3JrZXIpOwogfQog CkBAIC00MzMsNyArNDYwLDcgQEAgc3RhdGljIHZvaWQgd2F0Y2hfdGFyZ2V0KHN0cnVjdCB4 ZW5idXNfdwogCQkJIGNvbnN0IGNoYXIgKip2ZWMsIHVuc2lnbmVkIGludCBsZW4pCiB7CiAJ dW5zaWduZWQgbG9uZyBsb25nIG5ld190YXJnZXQ7Ci0JaW50IGVycjsKKwlpbnQgZXJyID0g MTsKIAogCWVyciA9IHhlbmJ1c19zY2FuZihYQlRfTklMLCAibWVtb3J5IiwgInRhcmdldCIs ICIlbGx1IiwgJm5ld190YXJnZXQpOwogCWlmIChlcnIgIT0gMSkgewpAQCAtNDQ0LDcgKzQ3 MSw3IEBAIHN0YXRpYyB2b2lkIHdhdGNoX3RhcmdldChzdHJ1Y3QgeGVuYnVzX3cKIAkvKiBU aGUgZ2l2ZW4gbWVtb3J5L3RhcmdldCB2YWx1ZSBpcyBpbiBLaUIsIHNvIGl0IG5lZWRzIGNv bnZlcnRpbmcgdG8KIAkgKiBwYWdlcy4gUEFHRV9TSElGVCBjb252ZXJ0cyBieXRlcyB0byBw YWdlcywgaGVuY2UgUEFHRV9TSElGVCAtIDEwLgogCSAqLwotCWJhbGxvb25fc2V0X25ld190 YXJnZXQobmV3X3RhcmdldCA+PiAoUEFHRV9TSElGVCAtIDEwKSk7CisJYmFsbG9vbl9zdGFy dF9uZXdfdGFyZ2V0KG5ld190YXJnZXQgPj4gKFBBR0VfU0hJRlQgLSAxMCkpOwogfQogCiBz dGF0aWMgaW50IGJhbGxvb25faW5pdF93YXRjaGVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAq bm90aWZpZXIsCkBAIC00NjYsMTEgKzQ5MywxMiBAQCBzdGF0aWMgaW50IGJhbGxvb25fd3Jp dGUoc3RydWN0IGZpbGUgKmZpCiB7CiAJY2hhciBtZW1zdHJpbmdbNjRdLCAqZW5kY2hhcjsK IAl1bnNpZ25lZCBsb25nIGxvbmcgdGFyZ2V0X2J5dGVzOworCXVuc2lnbmVkIGxvbmcgdm1f cGFnZXM7CiAKIAlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCiAJCXJldHVybiAtRVBF Uk07CiAKLQlpZiAoY291bnQgPD0gMSkKKwlpZiAoIWNvdW50KQogCQlyZXR1cm4gLUVCQURN U0c7IC8qIHJ1bnQgKi8KIAlpZiAoY291bnQgPiBzaXplb2YobWVtc3RyaW5nKSkKIAkJcmV0 dXJuIC1FRkJJRzsgICAvKiB0b28gbG9uZyAqLwpAQCAtNDgwLDcgKzUwOCwxOSBAQCBzdGF0 aWMgaW50IGJhbGxvb25fd3JpdGUoc3RydWN0IGZpbGUgKmZpCiAJbWVtc3RyaW5nW3NpemVv ZihtZW1zdHJpbmcpLTFdID0gJ1wwJzsKIAogCXRhcmdldF9ieXRlcyA9IG1lbXBhcnNlKG1l bXN0cmluZywgJmVuZGNoYXIpOwotCWJhbGxvb25fc2V0X25ld190YXJnZXQodGFyZ2V0X2J5 dGVzID4+IFBBR0VfU0hJRlQpOworCWlmICghdGFyZ2V0X2J5dGVzKSB7CisJCXNlbGZiYWxs b29uID0gMDsKKwkJSVBSSU5USygic2VsZi1iYWxsb29uaW5nIGRpc2FibGVkXG4iKTsKKwl9 CisJZWxzZSBpZiAodGFyZ2V0X2J5dGVzID09IDEpIHsKKwkJc2VsZmJhbGxvb24gPSAxOwor CQl2bV9wYWdlcyA9IGF0b21pY19yZWFkKCZ2bV9jb21taXR0ZWRfc3BhY2UpOworCQlJUFJJ TlRLKCJzZWxmLWJhbGxvb25pbmcgZW5hYmxlZCwgbmV3IHRhcmdldD0lbGQga0JcbiIsCisJ CQl2bV9wYWdlcyA8PCAoUEFHRV9TSElGVCAtIDEwKSk7CisJCWJhbGxvb25fc3RhcnRfbmV3 X3RhcmdldCh2bV9wYWdlcyk7CisJfQorCWVsc2UKKwkJYmFsbG9vbl9zdGFydF9uZXdfdGFy Z2V0KHRhcmdldF9ieXRlcyA+PiBQQUdFX1NISUZUKTsKIAogCXJldHVybiBjb3VudDsKIH0K QEAgLTQ5MiwxMiArNTMyLDE0IEBAIHN0YXRpYyBpbnQgYmFsbG9vbl9yZWFkKGNoYXIgKnBh Z2UsIGNoYXIKIAogCWxlbiA9IHNwcmludGYoCiAJCXBhZ2UsCisJCSJTZWxmLWJhbGxvb25p bmc6ICAgICVzXG4iCiAJCSJDdXJyZW50IGFsbG9jYXRpb246ICU4bHUga0JcbiIKIAkJIlJl cXVlc3RlZCB0YXJnZXQ6ICAgJThsdSBrQlxuIgogCQkiTG93LW1lbSBiYWxsb29uOiAgICAl OGx1IGtCXG4iCiAJCSJIaWdoLW1lbSBiYWxsb29uOiAgICU4bHUga0JcbiIKIAkJIkRyaXZl ciBwYWdlczogICAgICAgJThsdSBrQlxuIgogCQkiWGVuIGhhcmQgbGltaXQ6ICAgICAiLAor CQkoc2VsZmJhbGxvb24/Im9uIjoib2ZmIiksCiAJCVBBR0VTMktCKGJzLmN1cnJlbnRfcGFn ZXMpLCBQQUdFUzJLQihicy50YXJnZXRfcGFnZXMpLCAKIAkJUEFHRVMyS0IoYnMuYmFsbG9v bl9sb3cpLCBQQUdFUzJLQihicy5iYWxsb29uX2hpZ2gpLAogCQlQQUdFUzJLQihicy5kcml2 ZXJfcGFnZXMpKTsK ---------2e9450ea2e9450ea 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 ---------2e9450ea2e9450ea--