From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ronald Rojas Subject: [PATCH RFC 28/59] controller: Handle worker early death Date: Wed, 28 Dec 2016 20:14:21 -0500 Message-ID: <1482974092-15891-28-git-send-email-ronladred@gmail.com> References: <1482974092-15891-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: <1482974092-15891-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" To: xen-devel , Ian Jackson , Wei Liu , George Dunlap , George Dunlap List-Id: xen-devel@lists.xenproject.org RnJvbTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgoKTG9nIHJhdyB3 b3JrZXIgb3V0cHV0LiAgSW4gdGhlIGV2ZW50IG9mIGFuIHVuZXhwZWN0ZWQgd29ya2VyIGRlYXRo LApkdW1wIHRoZSBvdXRwdXQgYW5kIHN0b3AgZnVydGhlciBwcm9jZXNzaW5nLgoKQWxzbyBmaXgg YW4gYXNzZXJ0IHRoYXQgY2F1c2VkIHdvcmtlcnMgdG8gZGllIGlmIHRoZSB0aW1lciB3YXMgdG9v CmV4YWN0LgoKU2lnbmVkLW9mZi1ieTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRy aXguY29tPgotLS0KIGJlbmNobWFyay5nbyAgICAgfCAgNyAtLS0tLS0tCiBwcm9jZXNzd29ya2Vy LmdvIHwgMTggKysrKysrKysrKysrKysrKy0tCiBydW4uZ28gICAgICAgICAgIHwgMjQgKysrKysr KysrKysrKysrKysrLS0tLS0tCiB4ZW53b3JrZXIuZ28gICAgIHwgMjEgKysrKysrKysrKysrKysr KysrKy0tCiA0IGZpbGVzIGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2JlbmNobWFyay5nbyBiL2JlbmNobWFyay5nbwppbmRleCA1ZTM1OTk3 Li5kZTFmNjUwIDEwMDY0NAotLS0gYS9iZW5jaG1hcmsuZ28KKysrIGIvYmVuY2htYXJrLmdvCkBA IC03NCwxMyArNzQsNiBAQCB0eXBlIFdvcmtlclNldCBzdHJ1Y3QgewogCUNvdW50IGludAogfQog Ci10eXBlIFdvcmtlciBpbnRlcmZhY2UgewotCVNldElkKFdvcmtlcklkKQotCUluaXQoV29ya2Vy UGFyYW1zLCBXb3JrZXJDb25maWcpIGVycm9yCi0JU2h1dGRvd24oKQotCVByb2Nlc3MoY2hhbiBX b3JrZXJSZXBvcnQsIGNoYW4gYm9vbCkKLX0KLQogY29uc3QgKAogCVVTRUMgPSAxMDAwCiAJTVNF QyA9IFVTRUMgKiAxMDAwCmRpZmYgLS1naXQgYS9wcm9jZXNzd29ya2VyLmdvIGIvcHJvY2Vzc3dv cmtlci5nbwppbmRleCBmNTE3MzIxLi45OTllNzZhIDEwMDY0NAotLS0gYS9wcm9jZXNzd29ya2Vy LmdvCisrKyBiL3Byb2Nlc3N3b3JrZXIuZ28KQEAgLTMyLDYgKzMyLDcgQEAgdHlwZSBQcm9jZXNz V29ya2VyIHN0cnVjdCB7CiAJYyAqZXhlYy5DbWQKIAlzdGRvdXQgaW8uUmVhZENsb3NlcgogCWpz b25TdGFydGVkIGJvb2wKKwlMb2cgW11zdHJpbmcKIH0KIAogZnVuYyAodyAqUHJvY2Vzc1dvcmtl cikgU2V0SWQoaSBXb3JrZXJJZCkgewpAQCAtNTQsNyArNTUsMTkgQEAgZnVuYyAodyAqUHJvY2Vz c1dvcmtlcikgU2h1dGRvd24oKSB7CiAJdy5jLlByb2Nlc3MuS2lsbCgpCiB9CiAKLWZ1bmMgKHcg KlByb2Nlc3NXb3JrZXIpIFByb2Nlc3MocmVwb3J0IGNoYW4gV29ya2VyUmVwb3J0LCBkb25lIGNo YW4gYm9vbCkgeworZnVuYyAodyAqUHJvY2Vzc1dvcmtlcikgRHVtcExvZyhmIGlvLldyaXRlcikg KGVyciBlcnJvcikgeworCWIgOj0gYnVmaW8uTmV3V3JpdGVyKGYpCisJZGVmZXIgYi5GbHVzaCgp CisJZm9yIF8sIGxpbmUgOj0gcmFuZ2Ugdy5Mb2cgeworCQlfLCBlcnIgPSBmbXQuUHJpbnRsbihi LCBsaW5lKQorCQlpZiBlcnIgIT0gbmlsIHsKKwkJCXJldHVybgorCQl9CisJfQorCXJldHVybgor fQorCitmdW5jICh3ICpQcm9jZXNzV29ya2VyKSBQcm9jZXNzKHJlcG9ydCBjaGFuIFdvcmtlclJl cG9ydCwgZG9uZSBjaGFuIFdvcmtlcklkKSB7CiAJdy5jLlN0YXJ0KCkKIAogCXNjYW5uZXIgOj0g YnVmaW8uTmV3U2Nhbm5lcih3LnN0ZG91dCkKQEAgLTYzLDYgKzc2LDcgQEAgZnVuYyAodyAqUHJv Y2Vzc1dvcmtlcikgUHJvY2VzcyhyZXBvcnQgY2hhbiBXb3JrZXJSZXBvcnQsIGRvbmUgY2hhbiBi b29sKSB7CiAJCXMgOj0gc2Nhbm5lci5UZXh0KCkKIAkJCiAJCS8vZm10LlByaW50bG4oIkdvdCB0 aGVzZSBieXRlczogIiwgcyk7CisJCXcuTG9nID0gYXBwZW5kKHcuTG9nLCBzKQogCiAJCWlmIHcu anNvblN0YXJ0ZWQgewogCQkJdmFyIHIgV29ya2VyUmVwb3J0CkBAIC03Nyw3ICs5MSw3IEBAIGZ1 bmMgKHcgKlByb2Nlc3NXb3JrZXIpIFByb2Nlc3MocmVwb3J0IGNoYW4gV29ya2VyUmVwb3J0LCBk b25lIGNoYW4gYm9vbCkgewogCQl9CiAJfQogCi0JZG9uZSA8LSB0cnVlCisJZG9uZSA8LSB3Lmlk CiAKIAl3LmMuV2FpdCgpCiB9CmRpZmYgLS1naXQgYS9ydW4uZ28gYi9ydW4uZ28KaW5kZXggZWQx OTU3Yi4uMWIzOTczMCAxMDA2NDQKLS0tIGEvcnVuLmdvCisrKyBiL3J1bi5nbwpAQCAtMjYsNiAr MjYsNyBAQCBpbXBvcnQgKAogCSJyZWdleHAiCiAJInN0cmNvbnYiCiAJImJ1ZmlvIgorCSJpbyIK ICkKIAogdHlwZSBXb3JrZXJTdGF0ZSBzdHJ1Y3QgewpAQCAtMzMsNiArMzQsMTQgQEAgdHlwZSBX b3JrZXJTdGF0ZSBzdHJ1Y3QgewogCUxhc3RSZXBvcnQgV29ya2VyUmVwb3J0CiB9CiAKK3R5cGUg V29ya2VyIGludGVyZmFjZSB7CisJU2V0SWQoV29ya2VySWQpCisJSW5pdChXb3JrZXJQYXJhbXMs IFdvcmtlckNvbmZpZykgZXJyb3IKKwlTaHV0ZG93bigpCisJUHJvY2VzcyhjaGFuIFdvcmtlclJl cG9ydCwgY2hhbiBXb3JrZXJJZCkKKwlEdW1wTG9nKGlvLldyaXRlcikgZXJyb3IKK30KKwogZnVu YyBSZXBvcnQod3MgKldvcmtlclN0YXRlLCByIFdvcmtlclJlcG9ydCkgewogCS8vZm10LlByaW50 bG4ocikKIApAQCAtNTcsNyArNjYsNyBAQCBmdW5jIFJlcG9ydCh3cyAqV29ya2VyU3RhdGUsIHIg V29ya2VyUmVwb3J0KSB7CiAKIHR5cGUgV29ya2VyTGlzdCBtYXBbV29ya2VySWRdKldvcmtlclN0 YXRlCiAKLWZ1bmMgKHdzICpXb3JrZXJMaXN0KSBTdGFydChyZXBvcnQgY2hhbiBXb3JrZXJSZXBv cnQsIGRvbmUgY2hhbiBib29sKSAoaSBpbnQpIHsKK2Z1bmMgKHdzICpXb3JrZXJMaXN0KSBTdGFy dChyZXBvcnQgY2hhbiBXb3JrZXJSZXBvcnQsIGRvbmUgY2hhbiBXb3JrZXJJZCkgKGkgaW50KSB7 CiAJaSA9IDAKIAlmb3IgaiA6PSByYW5nZSAqd3MgewogCQlnbyAoKndzKVtqXS53LlByb2Nlc3Mo cmVwb3J0LCBkb25lKQpAQCAtMTYwLDcgKzE2OSw3IEBAIGZ1bmMgKHJ1biAqQmVuY2htYXJrUnVu KSBSdW4oKSAoZXJyIGVycm9yKSB7CiAJfQogCQogCXJlcG9ydCA6PSBtYWtlKGNoYW4gV29ya2Vy UmVwb3J0KQotCWRvbmUgOj0gbWFrZShjaGFuIGJvb2wpCisJZG9uZSA6PSBtYWtlKGNoYW4gV29y a2VySWQpCiAJc2lnbmFscyA6PSBtYWtlKGNoYW4gb3MuU2lnbmFsLCAxKQogCiAJc2lnbmFsLk5v dGlmeShzaWduYWxzLCBvcy5JbnRlcnJ1cHQpCkBAIC0xNzksMTIgKzE4OCwxNiBAQCBmdW5jIChy dW4gKkJlbmNobWFya1J1bikgUnVuKCkgKGVyciBlcnJvcikgewogCQkJCXJ1bi5SZXN1bHRzLlJh dyA9IGFwcGVuZChydW4uUmVzdWx0cy5SYXcsIHIpCiAJCQkJUmVwb3J0KFdvcmtlcnNbci5JZF0s IHIpCiAJCQl9Ci0JCWNhc2UgPC1kb25lOgorCQljYXNlIGRpZCA6PSA8LWRvbmU6CiAJCQlpZiAh IHN0b3BwZWQgewotCQkJCWZtdC5QcmludGxuKCJXQVJOSU5HOiBXb3JrZXIgbGVmdCBlYXJseSIp CisJCQkJZm10LlByaW50bG4oIldBUk5JTkc6IFdvcmtlciIsIGRpZCwgImxlZnQgZWFybHksIHNo dXR0aW5nIGRvd24gd29ya2VycyIpCisJCQkJV29ya2Vycy5TdG9wKCkKKwkJCQlzdG9wcGVkID0g dHJ1ZQorCQkJCWVyciA9IGZtdC5FcnJvcmYoIldvcmtlciAldiBleGl0ZWQgZWFybHkiLCBkaWQp CisJCQkJV29ya2Vyc1tkaWRdLncuRHVtcExvZyhvcy5TdGRvdXQpCiAJCQl9CiAJCQlpLS07Ci0J CQlmbXQuUHJpbnRsbihpLCAid29ya2VycyBsZWZ0Iik7CisJCQlmbXQuUHJpbnRmKCJXb3JrZXIg JXYgZXhpdGVkOyAlZCB3b3JrZXJzIGxlZnRcbiIsIGRpZCwgaSk7CiAJCWNhc2UgPC10aW1lb3V0 OgogCQkJaWYgISBzdG9wcGVkIHsKIAkJCQlXb3JrZXJzLlN0b3AoKQpAQCAtMjAxLDcgKzIxNCw2 IEBAIGZ1bmMgKHJ1biAqQmVuY2htYXJrUnVuKSBSdW4oKSAoZXJyIGVycm9yKSB7CiAJCQkJfQog CQkJCWVyciA9IGZtdC5FcnJvcmYoIkludGVycnVwdGVkIikKIAkJCX0gZWxzZSB7Ci0JCQkJZXJy ID0gZm10LkVycm9yZigiSW50ZXJydXB0ZWQiKQogCQkJCWZtdC5QcmludGxuKCJTSUdJTlQgcmVj ZWl2ZWQgYWZ0ZXIgc3RvcCwgZXhpdGluZyB3aXRob3V0IGNsZWFuaW5nIHVwIikKIAkJCQlyZXR1 cm4KIAkJCX0KZGlmZiAtLWdpdCBhL3hlbndvcmtlci5nbyBiL3hlbndvcmtlci5nbwppbmRleCBl OThjOTcwLi40NWUwODc2IDEwMDY0NAotLS0gYS94ZW53b3JrZXIuZ28KKysrIGIveGVud29ya2Vy LmdvCkBAIC00Miw2ICs0Miw3IEBAIHR5cGUgWGVuV29ya2VyIHN0cnVjdCB7CiAJY29uc29sZUNt ZCAqZXhlYy5DbWQKIAljb25zb2xlIGlvLlJlYWRDbG9zZXIKIAlqc29uU3RhcnRlZCBib29sCisJ TG9nIFtdc3RyaW5nCiB9CiAKIC8vIFdlIGhhdmUgdG8gY2FwaXRhbGl6ZSB0aGUgZWxlbWVudCBu YW1lcyBzbyB0aGF0IHRoZSBqc29uIGNsYXNzIGNhbgpAQCAtMjMxLDggKzIzMiwyMiBAQCBmdW5j ICh3ICpYZW5Xb3JrZXIpIFNodXRkb3duKCkgewogCX0KIH0KIAorZnVuYyAodyAqWGVuV29ya2Vy KSBEdW1wTG9nKGYgaW8uV3JpdGVyKSAoZXJyIGVycm9yKSB7CisJYiA6PSBidWZpby5OZXdXcml0 ZXIoZikKKwlkZWZlciBiLkZsdXNoKCkKKwlmb3IgXywgbGluZSA6PSByYW5nZSB3LkxvZyB7CisJ CV8sIGVyciA9IGZtdC5GcHJpbnRsbihiLCBsaW5lKQorCQlpZiBlcnIgIT0gbmlsIHsKKwkJCXJl dHVybgorCQl9CisJfQorCXJldHVybgorfQorCisKKwogLy8gRklYTUU6IFJldHVybiBhbiBlcnJv cgotZnVuYyAodyAqWGVuV29ya2VyKSBQcm9jZXNzKHJlcG9ydCBjaGFuIFdvcmtlclJlcG9ydCwg ZG9uZSBjaGFuIGJvb2wpIHsKK2Z1bmMgKHcgKlhlbldvcmtlcikgUHJvY2VzcyhyZXBvcnQgY2hh biBXb3JrZXJSZXBvcnQsIGRvbmUgY2hhbiBXb3JrZXJJZCkgewogCS8vIC8vIHhsIHVucGF1c2Ug W3ZtbmFtZV0KIAllcnIgOj0geGcuQ3R4LkRvbWFpblVucGF1c2UoRG9taWQody5kb21pZCkpCiAJ aWYgZXJyICE9IG5pbCB7CkBAIC0yNDQsNiArMjU5LDggQEAgZnVuYyAodyAqWGVuV29ya2VyKSBQ cm9jZXNzKHJlcG9ydCBjaGFuIFdvcmtlclJlcG9ydCwgZG9uZSBjaGFuIGJvb2wpIHsKIAogCWZv ciBzY2FubmVyLlNjYW4oKSB7CiAJCXMgOj0gc2Nhbm5lci5UZXh0KCkKKworCQl3LkxvZyA9IGFw cGVuZCh3LkxvZywgcykKIAkJCiAJCS8vZm10LlByaW50bG4oIkdvdCB0aGVzZSBieXRlczogIiwg cyk7CiAKQEAgLTI2NSw3ICsyODIsNyBAQCBmdW5jICh3ICpYZW5Xb3JrZXIpIFByb2Nlc3MocmVw b3J0IGNoYW4gV29ya2VyUmVwb3J0LCBkb25lIGNoYW4gYm9vbCkgewogCQl9CiAJfQogCi0JZG9u ZSA8LSB0cnVlCisJZG9uZSA8LSB3LmlkCiAKIAl3LmNvbnNvbGVDbWQuV2FpdCgpCiB9Ci0tIAoy LjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=