From mboxrd@z Thu Jan 1 00:00:00 1970 From: Praveen Kumar Subject: [PATCH v2 16/20] rbtree: add __rb_change_child() helper function Date: Sat, 17 Jun 2017 15:02:49 +0530 Message-ID: <20170617093253.3990-17-kpraveen.lkml@gmail.com> References: <20170617093253.3990-1-kpraveen.lkml@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170617093253.3990-1-kpraveen.lkml@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, kpraveen.lkml@gmail.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org QWRkIF9fcmJfY2hhbmdlX2NoaWxkKCkgYXMgYW4gaW5saW5lIGhlbHBlciBmdW5jdGlvbiB0byBy ZXBsYWNlIGNvZGUgdGhhdAp3b3VsZCBvdGhlcndpc2UgYmUgZHVwbGljYXRlZCA0IHRpbWVzIGlu IHRoZSBzb3VyY2UuCgpObyBjaGFuZ2VzIHRvIGJpbmFyeSBzaXplIG9yIHNwZWVkLgoKU2lnbmVk LW9mZi1ieTogTWljaGVsIExlc3BpbmFzc2UgPHdhbGtlbkBnb29nbGUuY29tPgpSZXZpZXdlZC1i eTogUmlrIHZhbiBSaWVsIDxyaWVsQHJlZGhhdC5jb20+CkNjOiBQZXRlciBaaWpsc3RyYSA8YS5w LnppamxzdHJhQGNoZWxsby5ubD4KQ2M6IEFuZHJlYSBBcmNhbmdlbGkgPGFhcmNhbmdlQHJlZGhh dC5jb20+CkNjOiBEYXZpZCBXb29kaG91c2UgPGR3bXcyQGluZnJhZGVhZC5vcmc+ClNpZ25lZC1v ZmYtYnk6IEFuZHJldyBNb3J0b24gPGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc+ClNpZ25lZC1v ZmYtYnk6IExpbnVzIFRvcnZhbGRzIDx0b3J2YWxkc0BsaW51eC1mb3VuZGF0aW9uLm9yZz4KW0xp bnV4IGNvbW1pdCA3YWJjNzA0YWUzOTlmY2I5YzUxY2EyMDBiMDQ1NmY4YTk3NWE4MDExXQoKUG9y dGVkIHRvIFhlbi4KClNpZ25lZC1vZmYtYnk6IFByYXZlZW4gS3VtYXIgPGtwcmF2ZWVuLmxrbWxA Z21haWwuY29tPgotLS0KIHhlbi9jb21tb24vcmJ0cmVlLmMgfCAzNyArKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwg MjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9yYnRyZWUuYyBiL3hlbi9j b21tb24vcmJ0cmVlLmMKaW5kZXggOGMyOGFiMTk2Ny4uMjA2MzUzNjU0OCAxMDA2NDQKLS0tIGEv eGVuL2NvbW1vbi9yYnRyZWUuYworKysgYi94ZW4vY29tbW9uL3JidHJlZS5jCkBAIC02NSw2ICs2 NSwxMyBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCByYl9ub2RlICpyYl9yZWRfcGFyZW50KHN0cnVj dCByYl9ub2RlICpyZWQpCiAgICAgcmV0dXJuIChzdHJ1Y3QgcmJfbm9kZSAqKXJlZC0+X19yYl9w YXJlbnRfY29sb3I7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZAorX19yYl9jaGFuZ2VfY2hpbGQo c3RydWN0IHJiX25vZGUgKm9sZCwgc3RydWN0IHJiX25vZGUgKm5ldywKKyAgICAgICAgICAgICAg ICAgc3RydWN0IHJiX25vZGUgKnBhcmVudCwgc3RydWN0IHJiX3Jvb3QgKnJvb3QpCit7CisgICAg X19yYl9jaGFuZ2VfY2hpbGQob2xkLCBuZXcsIHBhcmVudCwgcm9vdCk7Cit9CisKIC8qCiAgKiBI ZWxwZXIgZnVuY3Rpb24gZm9yIHJvdGF0aW9uczoKICAqIC0gb2xkJ3MgcGFyZW50IGFuZCBjb2xv ciBnZXQgYXNzaWduZWQgdG8gbmV3CkBAIC0zNzYsMTUgKzM4Myw3IEBAIHZvaWQgcmJfZXJhc2Uo c3RydWN0IHJiX25vZGUgKm5vZGUsIHN0cnVjdCByYl9yb290ICpyb290KQogICAgICAgICBub2Rl ID0gbm9kZS0+cmJfcmlnaHQ7CiAgICAgICAgIHdoaWxlICgobGVmdCA9IG5vZGUtPnJiX2xlZnQp ICE9IE5VTEwpCiAgICAgICAgICAgICBub2RlID0gbGVmdDsKLQotICAgICAgICBpZiAocmJfcGFy ZW50KG9sZCkpIHsKLSAgICAgICAgICAgIGlmIChyYl9wYXJlbnQob2xkKS0+cmJfbGVmdCA9PSBv bGQpCi0gICAgICAgICAgICAgICAgcmJfcGFyZW50KG9sZCktPnJiX2xlZnQgPSBub2RlOwotICAg ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJiX3BhcmVudChvbGQpLT5yYl9yaWdodCA9 IG5vZGU7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgcm9vdC0+cmJfbm9kZSA9IG5vZGU7 Ci0KKyAgICAgICAgX19yYl9jaGFuZ2VfY2hpbGQob2xkLCBub2RlLCByYl9wYXJlbnQob2xkKSwg cm9vdCk7CiAgICAgICAgIGNoaWxkID0gbm9kZS0+cmJfcmlnaHQ7CiAgICAgICAgIHBhcmVudCA9 IHJiX3BhcmVudChub2RlKTsKICAgICAgICAgY29sb3IgPSByYl9jb2xvcihub2RlKTsKQEAgLTQx MywxNSArNDEyLDggQEAgdm9pZCByYl9lcmFzZShzdHJ1Y3QgcmJfbm9kZSAqbm9kZSwgc3RydWN0 IHJiX3Jvb3QgKnJvb3QpCiAKICAgICBpZiAoY2hpbGQpCiAgICAgICAgIHJiX3NldF9wYXJlbnQo Y2hpbGQsIHBhcmVudCk7Ci0gICAgaWYgKHBhcmVudCkgewotICAgICAgICBpZiAocGFyZW50LT5y Yl9sZWZ0ID09IG5vZGUpCi0gICAgICAgICAgICBwYXJlbnQtPnJiX2xlZnQgPSBjaGlsZDsKLSAg ICAgICAgZWxzZQotICAgICAgICAgICAgcGFyZW50LT5yYl9yaWdodCA9IGNoaWxkOwotICAgIH0g ZWxzZQotICAgICAgICByb290LT5yYl9ub2RlID0gY2hpbGQ7Ci0KLSBjb2xvcjoKKyAgICBfX3Ji X2NoYW5nZV9jaGlsZChub2RlLCBjaGlsZCwgcGFyZW50LCByb290KTsKK2NvbG9yOgogICAgIGlm IChjb2xvciA9PSBSQl9CTEFDSykKICAgICAgICAgX19yYl9lcmFzZV9jb2xvcihjaGlsZCwgcGFy ZW50LCByb290KTsKIH0KQEAgLTUyNCwxNCArNTE2LDcgQEAgdm9pZCByYl9yZXBsYWNlX25vZGUo c3RydWN0IHJiX25vZGUgKnZpY3RpbSwgc3RydWN0IHJiX25vZGUgKm5ldywKICAgICBzdHJ1Y3Qg cmJfbm9kZSAqcGFyZW50ID0gcmJfcGFyZW50KHZpY3RpbSk7CiAKICAgICAvKiBTZXQgdGhlIHN1 cnJvdW5kaW5nIG5vZGVzIHRvIHBvaW50IHRvIHRoZSByZXBsYWNlbWVudCAqLwotICAgIGlmIChw YXJlbnQpIHsKLSAgICAgICAgaWYgKHZpY3RpbSA9PSBwYXJlbnQtPnJiX2xlZnQpCi0gICAgICAg ICAgICBwYXJlbnQtPnJiX2xlZnQgPSBuZXc7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHBh cmVudC0+cmJfcmlnaHQgPSBuZXc7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcm9vdC0+cmJfbm9k ZSA9IG5ldzsKLSAgICB9CisgICAgX19yYl9jaGFuZ2VfY2hpbGQodmljdGltLCBuZXcsIHBhcmVu dCwgcm9vdCk7CiAgICAgaWYgKHZpY3RpbS0+cmJfbGVmdCkKICAgICAgICAgcmJfc2V0X3BhcmVu dCh2aWN0aW0tPnJiX2xlZnQsIG5ldyk7CiAgICAgaWYgKHZpY3RpbS0+cmJfcmlnaHQpCi0tIAoy LjEyLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK