From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: VM save/restore Date: Sat, 18 Aug 2012 08:34:49 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="B_3428123698_36200098" Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Junjie Wei , xen-devel@lists.xen.org Cc: Jan Beulich List-Id: xen-devel@lists.xenproject.org > This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --B_3428123698_36200098 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit On 18/08/2012 07:38, "Keir Fraser" wrote: > >> I think if a VM can be successfully started, then save/restore should >> also work. So I made a patch and did some testing. > > The check for 64 VCPUs is to cover the fact we only save/restore a 64-bit > vcpumap. That would need fixing too surely, ot CPUs > 64 would be offline > after restore I would imagine. How about the attached patch? It might actually work properly, unlike yours. ;) >> The above problem is gone but there are new ones. >> >> Let me summarize the result here. >> >> With the patch, save/restore works fine as long as it can be started, >> except two cases. >> >> 1) 32-bit guests can be configured with VCPUs > 32 and started, >> but the guest can only make use of 32 of them. HVM guest? I don't know why this is. You will have to investigate some more what has happened to the rest of your VCPUs! I think it should definitely work. Cc Jan in case he has any thoughts. >> 2) 32-bit PVM guests can be configured with VCPUs > 64 and started, >> but `xm save' does not work. That's because your changes to the save/restore code were wrong. Try my patch instead. -- Keir >> See the testing below for details.The limit of 128 VCPUs for HVM >> guests is already considered. >> >> Could you please review the patch and help with these two cases? >> >> >> Thanks, >> Junjie >> >> -= Test environment =- >> >> [root@ovs087 HVM_X86_64]# cat /etc/ovs-release >> Oracle VM server release 3.2.1 >> >> [root@ovs087 HVM_X86_64]# uname -a >> Linux ovs087 2.6.39-200.30.1.el5uek #1 SMP Thu Jul 12 21:47:09 EDT 2012 >> x86_64 x86_64 x86_64 GNU/Linux >> >> [root@ovs087 HVM_X86_64]# rpm -qa | grep xen >> xenpvboot-0.1-8.el5 >> xen-devel-4.1.2-39 >> xen-tools-4.1.2-39 >> xen-4.1.2-39 >> >> -= PVM x86_64, 128 VCPUs =- >> >> [root@ovs087 PVM_X86_64]# xm list >> Name ID Mem VCPUs State >> Time(s) >> Domain-0 0 511 8 r----- 6916.9 >> OVM_OL5U7_X86_64_PVM_10GB 9 2048 128 r----- 48.1 >> >> [root@ovs087 PVM_X86_64]# xm save 9 vm.save >> >> [root@ovs087 PVM_X86_64]# xm restore vm.save >> >> [root@ovs087 PVM_X86_64]# xm list >> Name ID Mem VCPUs State >> Time(s) >> Domain-0 0 511 8 r----- 7076.7 >> OVM_OL5U7_X86_64_PVM_10GB 10 2048 128 r----- 51.6 >> >> -= PVM x86_64, 256 VCPUs =- >> >> [root@ovs087 PVM_X86_64]# xm list >> Name ID Mem VCPUs State Time(s) >> Domain-0 0 511 8 r----- 10398.1 >> OVM_OL5U7_X86_64_PVM_10GB 35 2048 256 r----- 30.4 >> >> [root@ovs087 PVM_X86_64]# xm save 35 vm.save >> >> [root@ovs087 PVM_X86_64]# xm restore vm.save >> >> [root@ovs087 PVM_X86_64]# xm list >> Name ID Mem VCPUs State Time(s) >> Domain-0 0 511 8 r----- 10572.1 >> OVM_OL5U7_X86_64_PVM_10GB 36 2048 256 r----- 1466.9 >> >> -= HVM x86_64, 128 VCPUs =- >> >> [root@ovs087 HVM_X86_64]# xm list >> Name ID Mem VCPUs State >> Time(s) >> Domain-0 0 511 8 r----- 8017.4 >> OVM_OL5U7_X86_64_PVHVM_10GB 19 2048 128 r----- 343.7 >> >> [root@ovs087 HVM_X86_64]# xm save 19 vm.save >> >> [root@ovs087 HVM_X86_64]# xm restore vm.save >> >> [root@ovs087 HVM_X86_64]# xm list >> Name ID Mem VCPUs State >> Time(s) >> Domain-0 0 511 8 r----- 8241.1 >> OVM_OL5U7_X86_64_PVHVM_10GB 20 2048 128 r----- 121.7 >> >> -= PVM x86, 64 VCPUs =- >> >> [root@ovs087 PVM_X86]# xm list >> Name ID Mem VCPUs State >> Time(s) >> Domain-0 0 511 8 r----- 36798.0 >> OVM_OL5U7_X86_PVM_10GB 54 2048 32 r----- 92.8 >> >> [root@ovs087 PVM_X86]# xm vcpu-list 54 | grep OVM_OL5U7_X86_PVM_10GB | wc -l >> 64 >> >> [root@ovs087 PVM_X86]# xm save 54 vm.save >> >> [root@ovs087 PVM_X86]# xm restore vm.save >> >> [root@ovs087 PVM_X86]# xm list >> Name ID Mem VCPUs State >> Time(s) >> Domain-0 0 511 8 r----- 36959.3 >> OVM_OL5U7_X86_PVM_10GB 55 2048 32 r----- 51.0 >> >> [root@ovs087 PVM_X86]# xm vcpu-list 55 | grep OVM_OL5U7_X86_PVM_10GB | wc -l >> 64 >> >> 32-bit PVM, 65 VCPUs: >> >> [root@ovs087 PVM_X86]# xm list >> Name ID Mem VCPUs State >> Time(s) >> Domain-0 0 511 8 r----- 36975.9 >> OVM_OL5U7_X86_PVM_10GB 56 2048 32 r----- 8.6 >> >> [root@ovs087 PVM_X86]# xm vcpu-list 56 | grep OVM_OL5U7_X86_PVM_10GB | wc -l >> 65 >> >> [root@ovs087 PVM_X86]# xm list >> Name ID Mem VCPUs State >> Time(s) >> Domain-0 0 511 8 r----- 36977.7 >> OVM_OL5U7_X86_PVM_10GB 56 2048 32 r----- 24.8 >> >> [root@ovs087 PVM_X86]# xm vcpu-list 56 | grep OVM_OL5U7_X86_PVM_10GB | wc -l >> 65 >> >> [root@ovs087 PVM_X86]# xm save 56 vm.save >> Error: /usr/lib64/xen/bin/xc_save 26 56 0 0 0 failed >> >> /var/log/xen/xend.log: INFO (XendCheckpoint:416) >> xc: error: No context for VCPU64 (61 = No data available): Internal error >> >> -= HVM x86, 64 VCPUs =- >> >> [root@ovs087 HVM_X86]# xm list >> Name ID Mem VCPUs State >> Time(s) >> Domain-0 0 511 8 r----- 36506.1 >> OVM_OL5U7_X86_PVHVM_10GB 52 2048 32 r----- 68.6 >> >> [root@ovs087 HVM_X86]# xm vcpu-list 52 | grep OVM_OL5U7_X86_PVHVM_10GB | >> wc -l >> 64 >> >> [root@ovs087 HVM_X86]# xm save 52 vm.save >> >> [root@ovs087 HVM_X86]# xm restore vm.save >> >> [root@ovs087 HVM_X86]# xm list >> Name ID Mem VCPUs State >> Time(s) >> Domain-0 0 511 8 r----- 36730.5 >> OVM_OL5U7_X86_PVHVM_10GB 53 2048 32 r----- 19.8 >> >> [root@ovs087 HVM_X86]# xm vcpu-list 53 | grep OVM_OL5U7_X86_PVHVM_10GB | >> wc -l >> 64 >> >> -= HVM x86, 128 VCPUs =- >> >> [root@ovs087 HVM_X86]# xm list >> Name ID Mem VCPUs State >> Time(s) >> Domain-0 0 511 8 r----- 36261.1 >> OVM_OL5U7_X86_PVHVM_10GB 50 2048 32 r----- 34.9 >> >> [root@ovs087 HVM_X86]# xm vcpu-list 50 | grep OVM_OL5U7_X86_PVHVM_10GB | >> wc -l >> 128 >> >> [root@ovs087 HVM_X86]# xm save 50 vm.save >> >> [root@ovs087 HVM_X86]# xm restore vm.save >> >> [root@ovs087 HVM_X86]# xm list >> Name ID Mem VCPUs State >> Time(s) >> Domain-0 0 511 8 r----- 36480.5 >> OVM_OL5U7_X86_PVHVM_10GB 51 2048 32 r----- 20.3 >> >> [root@ovs087 HVM_X86]# xm vcpu-list 51 | grep OVM_OL5U7_X86_PVHVM_10GB | >> wc -l >> 128 >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xen.org >> http://lists.xen.org/xen-devel > > --B_3428123698_36200098 Content-type: application/octet-stream; name="00-sr-extend-vcpus" Content-disposition: attachment; filename="00-sr-extend-vcpus" Content-transfer-encoding: base64 ZGlmZiAtciA2NDAxN2Q0ZGY5ZGEgdG9vbHMvbGlieGMveGNfZG9tYWluX3Jlc3RvcmUuYwot LS0gYS90b29scy9saWJ4Yy94Y19kb21haW5fcmVzdG9yZS5jCUZyaSBBdWcgMTcgMTE6MzY6 MDggMjAxMiArMDIwMAorKysgYi90b29scy9saWJ4Yy94Y19kb21haW5fcmVzdG9yZS5jCVNh dCBBdWcgMTggMDg6MjU6NTIgMjAxMiArMDEwMApAQCAtNDYyLDcgKzQ2Miw3IEBAIHN0YXRp YyBpbnQgZHVtcF9xZW11KHhjX2ludGVyZmFjZSAqeGNoLCAKIAogc3RhdGljIGludCBidWZm ZXJfdGFpbF9odm0oeGNfaW50ZXJmYWNlICp4Y2gsIHN0cnVjdCByZXN0b3JlX2N0eCAqY3R4 LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHRhaWxidWZfaHZtICpidWYs IGludCBmZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtYXhf dmNwdV9pZCwgdWludDY0X3QgdmNwdW1hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCBtYXhfdmNwdV9pZCwgdWludDY0X3QgKnZjcHVtYXAsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQgZXh0X3ZjcHVjb250ZXh0LAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50IHZjcHVleHRzdGF0ZSwgdWludDMyX3QgdmNwdWV4dHN0YXRl X3NpemUpCiB7CkBAIC01MzAsNyArNTMwLDcgQEAgc3RhdGljIGludCBidWZmZXJfdGFpbF9o dm0oeGNfaW50ZXJmYWNlIAogCiBzdGF0aWMgaW50IGJ1ZmZlcl90YWlsX3B2KHhjX2ludGVy ZmFjZSAqeGNoLCBzdHJ1Y3QgcmVzdG9yZV9jdHggKmN0eCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHRhaWxidWZfcHYgKmJ1ZiwgaW50IGZkLAotICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbWF4X3ZjcHVfaWQsIHVpbnQ2NF90IHZjcHVt YXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtYXhfdmNwdV9p ZCwgdWludDY0X3QgKnZjcHVtYXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBl eHRfdmNwdWNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB2Y3B1ZXh0 c3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZjcHVleHRzdGF0 ZV9zaXplKQpAQCAtNTYzLDggKzU2Myw4IEBAIHN0YXRpYyBpbnQgYnVmZmVyX3RhaWxfcHYo eGNfaW50ZXJmYWNlICoKICAgICAvKiBWQ1BVIGNvbnRleHRzICovCiAgICAgYnVmLT52Y3B1 Y291bnQgPSAwOwogICAgIGZvciAoaSA9IDA7IGkgPD0gbWF4X3ZjcHVfaWQ7IGkrKykgewot ICAgICAgICAvLyBEUFJJTlRGKCJ2Y3B1bWFwOiAlbGx4LCBjcHU6ICVkLCBiaXQ6ICVsbHVc biIsIHZjcHVtYXAsIGksICh2Y3B1bWFwICUgKDFVTEwgPDwgaSkpKTsKLSAgICAgICAgaWYg KCAoISh2Y3B1bWFwICYgKDFVTEwgPDwgaSkpKSApCisgICAgICAgIC8vIERQUklOVEYoInZj cHVtYXA6ICVsbHgsIGNwdTogJWQsIGJpdDogJWxsdVxuIiwgdmNwdW1hcFtpLzY0XSwgaSwg KHZjcHVtYXBbaS82NF0gJiAoMVVMTCA8PCAoaSU2NCkpKSk7CisgICAgICAgIGlmICggKCEo dmNwdW1hcFtpLzY0XSAmICgxVUxMIDw8IChpJTY0KSkpKSApCiAgICAgICAgICAgICBjb250 aW51ZTsKICAgICAgICAgYnVmLT52Y3B1Y291bnQrKzsKICAgICB9CkBAIC02MTQsNyArNjE0 LDcgQEAgc3RhdGljIGludCBidWZmZXJfdGFpbF9wdih4Y19pbnRlcmZhY2UgKgogCiBzdGF0 aWMgaW50IGJ1ZmZlcl90YWlsKHhjX2ludGVyZmFjZSAqeGNoLCBzdHJ1Y3QgcmVzdG9yZV9j dHggKmN0eCwKICAgICAgICAgICAgICAgICAgICAgICAgdGFpbGJ1Zl90ICpidWYsIGludCBm ZCwgdW5zaWduZWQgaW50IG1heF92Y3B1X2lkLAotICAgICAgICAgICAgICAgICAgICAgICB1 aW50NjRfdCB2Y3B1bWFwLCBpbnQgZXh0X3ZjcHVjb250ZXh0LAorICAgICAgICAgICAgICAg ICAgICAgICB1aW50NjRfdCAqdmNwdW1hcCwgaW50IGV4dF92Y3B1Y29udGV4dCwKICAgICAg ICAgICAgICAgICAgICAgICAgaW50IHZjcHVleHRzdGF0ZSwgdWludDMyX3QgdmNwdWV4dHN0 YXRlX3NpemUpCiB7CiAgICAgaWYgKCBidWYtPmlzaHZtICkKQEAgLTY4MCw3ICs2ODAsNyBA QCB0eXBlZGVmIHN0cnVjdCB7CiAKICAgICBpbnQgbmV3X2N0eHRfZm9ybWF0OwogICAgIGlu dCBtYXhfdmNwdV9pZDsKLSAgICB1aW50NjRfdCB2Y3B1bWFwOworICAgIHVpbnQ2NF90IHZj cHVtYXBbWENfU1JfTUFYX1ZDUFVTLzY0XTsKICAgICB1aW50NjRfdCBpZGVudHB0OwogICAg IHVpbnQ2NF90IHBhZ2luZ19yaW5nX3BmbjsKICAgICB1aW50NjRfdCBhY2Nlc3NfcmluZ19w Zm47CkBAIC03NDUsMTIgKzc0NSwxMiBAQCBzdGF0aWMgaW50IHBhZ2VidWZfZ2V0X29uZSh4 Y19pbnRlcmZhY2UgCiAgICAgY2FzZSBYQ19TQVZFX0lEX1ZDUFVfSU5GTzoKICAgICAgICAg YnVmLT5uZXdfY3R4dF9mb3JtYXQgPSAxOwogICAgICAgICBpZiAoIFJERVhBQ1QoZmQsICZi dWYtPm1heF92Y3B1X2lkLCBzaXplb2YoYnVmLT5tYXhfdmNwdV9pZCkpIHx8Ci0gICAgICAg ICAgICAgYnVmLT5tYXhfdmNwdV9pZCA+PSA2NCB8fCBSREVYQUNUKGZkLCAmYnVmLT52Y3B1 bWFwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz aXplb2YodWludDY0X3QpKSApIHsKKyAgICAgICAgICAgICBidWYtPm1heF92Y3B1X2lkID49 IFhDX1NSX01BWF9WQ1BVUyB8fAorICAgICAgICAgICAgIFJERVhBQ1QoZmQsIGJ1Zi0+dmNw dW1hcCwgdmNwdW1hcF9zeihidWYtPm1heF92Y3B1X2lkKSkgKSB7CiAgICAgICAgICAgICBQ RVJST1IoIkVycm9yIHdoZW4gcmVhZGluZyBtYXhfdmNwdV9pZCIpOwogICAgICAgICAgICAg cmV0dXJuIC0xOwogICAgICAgICB9Ci0gICAgICAgIC8vIERQUklOVEYoIk1heCBWQ1BVIElE OiAlZCwgdmNwdW1hcDogJWxseFxuIiwgYnVmLT5tYXhfdmNwdV9pZCwgYnVmLT52Y3B1bWFw KTsKKyAgICAgICAgLy8gRFBSSU5URigiTWF4IFZDUFUgSUQ6ICVkLCB2Y3B1bWFwOiAlbGx4 XG4iLCBidWYtPm1heF92Y3B1X2lkLCBidWYtPnZjcHVtYXBbMF0pOwogICAgICAgICByZXR1 cm4gcGFnZWJ1Zl9nZXRfb25lKHhjaCwgY3R4LCBidWYsIGZkLCBkb20pOwogCiAgICAgY2Fz ZSBYQ19TQVZFX0lEX0hWTV9JREVOVF9QVDoKQEAgLTEzNjYsNyArMTM2Niw3IEBAIGludCB4 Y19kb21haW5fcmVzdG9yZSh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICBzdHJ1Y3QgbW11ZXh0 X29wIHBpbltNQVhfUElOX0JBVENIXTsKICAgICB1bnNpZ25lZCBpbnQgbnJfcGluczsKIAot ICAgIHVpbnQ2NF90IHZjcHVtYXAgPSAxVUxMOworICAgIHVpbnQ2NF90IHZjcHVtYXBbWENf U1JfTUFYX1ZDUFVTLzY0XSA9IHsgMVVMTCB9OwogICAgIHVuc2lnbmVkIGludCBtYXhfdmNw dV9pZCA9IDA7CiAgICAgaW50IG5ld19jdHh0X2Zvcm1hdCA9IDA7CiAKQEAgLTE1MTcsOCAr MTUxNyw4IEBAIGludCB4Y19kb21haW5fcmVzdG9yZSh4Y19pbnRlcmZhY2UgKnhjaCwKICAg ICAgICAgaWYgKCBqID09IDAgKSB7CiAgICAgICAgICAgICAvKiBjYXRjaCB2Y3B1IHVwZGF0 ZXMgKi8KICAgICAgICAgICAgIGlmIChwYWdlYnVmLm5ld19jdHh0X2Zvcm1hdCkgewotICAg ICAgICAgICAgICAgIHZjcHVtYXAgPSBwYWdlYnVmLnZjcHVtYXA7CiAgICAgICAgICAgICAg ICAgbWF4X3ZjcHVfaWQgPSBwYWdlYnVmLm1heF92Y3B1X2lkOworICAgICAgICAgICAgICAg IG1lbWNweSh2Y3B1bWFwLCBwYWdlYnVmLnZjcHVtYXAsIHZjcHVtYXBfc3oobWF4X3ZjcHVf aWQpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC8qIHNob3VsZCB0aGlzIGJlIGRl ZmVycmVkPyBkb2VzIGl0IGNoYW5nZT8gKi8KICAgICAgICAgICAgIGlmICggcGFnZWJ1Zi5p ZGVudHB0ICkKQEAgLTE4ODAsNyArMTg4MCw3IEBAIGludCB4Y19kb21haW5fcmVzdG9yZSh4 Y19pbnRlcmZhY2UgKnhjaCwKICAgICB2Y3B1cCA9IHRhaWxidWYudS5wdi52Y3B1YnVmOwog ICAgIGZvciAoIGkgPSAwOyBpIDw9IG1heF92Y3B1X2lkOyBpKysgKQogICAgIHsKLSAgICAg ICAgaWYgKCAhKHZjcHVtYXAgJiAoMVVMTCA8PCBpKSkgKQorICAgICAgICBpZiAoICEodmNw dW1hcFtpLzY0XSAmICgxVUxMIDw8IChpJTY0KSkpICkKICAgICAgICAgICAgIGNvbnRpbnVl OwogCiAgICAgICAgIG1lbWNweShjdHh0LCB2Y3B1cCwgKChkaW5mby0+Z3Vlc3Rfd2lkdGgg PT0gOCkgPyBzaXplb2YoY3R4dC0+eDY0KQpkaWZmIC1yIDY0MDE3ZDRkZjlkYSB0b29scy9s aWJ4Yy94Y19kb21haW5fc2F2ZS5jCi0tLSBhL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbl9zYXZl LmMJRnJpIEF1ZyAxNyAxMTozNjowOCAyMDEyICswMjAwCisrKyBiL3Rvb2xzL2xpYnhjL3hj X2RvbWFpbl9zYXZlLmMJU2F0IEF1ZyAxOCAwODoyNTo1MiAyMDEyICswMTAwCkBAIC04NTUs NyArODU1LDcgQEAgaW50IHhjX2RvbWFpbl9zYXZlKHhjX2ludGVyZmFjZSAqeGNoLCBpbgog ICAgIHVuc2lnbmVkIGxvbmcgbmVlZGVkX3RvX2ZpeCA9IDA7CiAgICAgdW5zaWduZWQgbG9u ZyB0b3RhbF9zZW50ICAgID0gMDsKIAotICAgIHVpbnQ2NF90IHZjcHVtYXAgPSAxVUxMOwor ICAgIHVpbnQ2NF90IHZjcHVtYXBbWENfU1JfTUFYX1ZDUFVTLzY0XSA9IHsgMVVMTCB9Owog CiAgICAgLyogSFZNOiBhIGJ1ZmZlciBmb3IgaG9sZGluZyBIVk0gY29udGV4dCAqLwogICAg IHVpbnQzMl90IGh2bV9idWZfc2l6ZSA9IDA7CkBAIC0xNTgxLDEzICsxNTgxLDEzIEBAIGlu dCB4Y19kb21haW5fc2F2ZSh4Y19pbnRlcmZhY2UgKnhjaCwgaW4KICAgICB9CiAKICAgICB7 Ci0gICAgICAgIHN0cnVjdCB7CisgICAgICAgIHN0cnVjdCBjaHVuayB7CiAgICAgICAgICAg ICBpbnQgaWQ7CiAgICAgICAgICAgICBpbnQgbWF4X3ZjcHVfaWQ7Ci0gICAgICAgICAgICB1 aW50NjRfdCB2Y3B1bWFwOworICAgICAgICAgICAgdWludDY0X3QgdmNwdW1hcFtYQ19TUl9N QVhfVkNQVVMvNjRdOwogICAgICAgICB9IGNodW5rID0geyBYQ19TQVZFX0lEX1ZDUFVfSU5G TywgaW5mby5tYXhfdmNwdV9pZCB9OwogCi0gICAgICAgIGlmICggaW5mby5tYXhfdmNwdV9p ZCA+PSA2NCApCisgICAgICAgIGlmICggaW5mby5tYXhfdmNwdV9pZCA+PSBYQ19TUl9NQVhf VkNQVVMgKQogICAgICAgICB7CiAgICAgICAgICAgICBFUlJPUigiVG9vIG1hbnkgVkNQVVMg aW4gZ3Vlc3QhIik7CiAgICAgICAgICAgICBnb3RvIG91dDsKQEAgLTE1OTgsMTEgKzE1OTgs MTIgQEAgaW50IHhjX2RvbWFpbl9zYXZlKHhjX2ludGVyZmFjZSAqeGNoLCBpbgogICAgICAg ICAgICAgeGNfdmNwdWluZm9fdCB2aW5mbzsKICAgICAgICAgICAgIGlmICggKHhjX3ZjcHVf Z2V0aW5mbyh4Y2gsIGRvbSwgaSwgJnZpbmZvKSA9PSAwKSAmJgogICAgICAgICAgICAgICAg ICB2aW5mby5vbmxpbmUgKQotICAgICAgICAgICAgICAgIHZjcHVtYXAgfD0gMVVMTCA8PCBp OworICAgICAgICAgICAgICAgIHZjcHVtYXBbaS82NF0gfD0gMVVMTCA8PCAoaSU2NCk7CiAg ICAgICAgIH0KIAotICAgICAgICBjaHVuay52Y3B1bWFwID0gdmNwdW1hcDsKLSAgICAgICAg aWYgKCB3cmV4YWN0KGlvX2ZkLCAmY2h1bmssIHNpemVvZihjaHVuaykpICkKKyAgICAgICAg bWVtY3B5KGNodW5rLnZjcHVtYXAsIHZjcHVtYXAsIHZjcHVtYXBfc3ooaW5mby5tYXhfdmNw dV9pZCkpOworICAgICAgICBpZiAoIHdyZXhhY3QoaW9fZmQsICZjaHVuaywgb2Zmc2V0b2Yo c3RydWN0IGNodW5rLCB2Y3B1bWFwKQorICAgICAgICAgICAgICAgICAgICAgKyB2Y3B1bWFw X3N6KGluZm8ubWF4X3ZjcHVfaWQpKSApCiAgICAgICAgIHsKICAgICAgICAgICAgIFBFUlJP UigiRXJyb3Igd2hlbiB3cml0aW5nIHRvIHN0YXRlIGZpbGUiKTsKICAgICAgICAgICAgIGdv dG8gb3V0OwpAQCAtMTg3OCw3ICsxODc5LDcgQEAgaW50IHhjX2RvbWFpbl9zYXZlKHhjX2lu dGVyZmFjZSAqeGNoLCBpbgogCiAgICAgZm9yICggaSA9IDA7IGkgPD0gaW5mby5tYXhfdmNw dV9pZDsgaSsrICkKICAgICB7Ci0gICAgICAgIGlmICggISh2Y3B1bWFwICYgKDFVTEwgPDwg aSkpICkKKyAgICAgICAgaWYgKCAhKHZjcHVtYXBbaS82NF0gJiAoMVVMTCA8PCAoaSU2NCkp KSApCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBpZiAoIChpICE9IDApICYm IHhjX3ZjcHVfZ2V0Y29udGV4dCh4Y2gsIGRvbSwgaSwgJmN0eHQpICkKZGlmZiAtciA2NDAx N2Q0ZGY5ZGEgdG9vbHMvbGlieGMveGdfc2F2ZV9yZXN0b3JlLmgKLS0tIGEvdG9vbHMvbGli eGMveGdfc2F2ZV9yZXN0b3JlLmgJRnJpIEF1ZyAxNyAxMTozNjowOCAyMDEyICswMjAwCisr KyBiL3Rvb2xzL2xpYnhjL3hnX3NhdmVfcmVzdG9yZS5oCVNhdCBBdWcgMTggMDg6MjU6NTIg MjAxMiArMDEwMApAQCAtMjY5LDYgKzI2OSw5IEBACiAvKiBXaGVuIHBpbm5pbmcgcGFnZSB0 YWJsZXMgYXQgdGhlIGVuZCBvZiByZXN0b3JlLCB3ZSBhbHNvIHVzZSBiYXRjaGluZy4gKi8K ICNkZWZpbmUgTUFYX1BJTl9CQVRDSCAgMTAyNAogCisvKiBNYXhpbXVtICNWQ1BVcyBjdXJy ZW50bHkgc3VwcG9ydGVkIGZvciBzYXZlL3Jlc3RvcmUuICovCisjZGVmaW5lIFhDX1NSX01B WF9WQ1BVUyA0MDk2CisjZGVmaW5lIHZjcHVtYXBfc3oobWF4X2lkKSAoKChtYXhfaWQpLzY0 KzEpKnNpemVvZih1aW50NjRfdCkpCiAKIAogLyoK --B_3428123698_36200098 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.xen.org http://lists.xen.org/xen-devel --B_3428123698_36200098--