From mboxrd@z Thu Jan 1 00:00:00 1970 From: Praveen Kumar Subject: [PATCH v5 13/17] rbtree: add __rb_change_child() helper function Date: Fri, 14 Jul 2017 13:56:32 +0530 Message-ID: <20170714082636.29511-14-kpraveen.lkml@gmail.com> References: <20170714082636.29511-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: <20170714082636.29511-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 RnJvbTogTWljaGVsIExlc3BpbmFzc2UgPHdhbGtlbkBnb29nbGUuY29tPgoKQWRkIF9fcmJfY2hh bmdlX2NoaWxkKCkgYXMgYW4gaW5saW5lIGhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIGNvZGUg dGhhdAp3b3VsZCBvdGhlcndpc2UgYmUgZHVwbGljYXRlZCA0IHRpbWVzIGluIHRoZSBzb3VyY2Uu CgpObyBjaGFuZ2VzIHRvIGJpbmFyeSBzaXplIG9yIHNwZWVkLgoKU2lnbmVkLW9mZi1ieTogTWlj aGVsIExlc3BpbmFzc2UgPHdhbGtlbkBnb29nbGUuY29tPgpSZXZpZXdlZC1ieTogUmlrIHZhbiBS aWVsIDxyaWVsQHJlZGhhdC5jb20+CkNjOiBQZXRlciBaaWpsc3RyYSA8YS5wLnppamxzdHJhQGNo ZWxsby5ubD4KQ2M6IEFuZHJlYSBBcmNhbmdlbGkgPGFhcmNhbmdlQHJlZGhhdC5jb20+CkNjOiBE YXZpZCBXb29kaG91c2UgPGR3bXcyQGluZnJhZGVhZC5vcmc+ClNpZ25lZC1vZmYtYnk6IEFuZHJl dyBNb3J0b24gPGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc+ClNpZ25lZC1vZmYtYnk6IExpbnVz IFRvcnZhbGRzIDx0b3J2YWxkc0BsaW51eC1mb3VuZGF0aW9uLm9yZz4KW0xpbnV4IGNvbW1pdCA3 YWJjNzA0YWUzOTlmY2I5YzUxY2EyMDBiMDQ1NmY4YTk3NWE4MDExXQoKUG9ydGVkIHRvIFhlbi4K ClNpZ25lZC1vZmYtYnk6IFByYXZlZW4gS3VtYXIgPGtwcmF2ZWVuLmxrbWxAZ21haWwuY29tPgot LS0KIHhlbi9jb21tb24vcmJ0cmVlLmMgfCA0NiArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMjkg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9yYnRyZWUuYyBiL3hlbi9jb21t b24vcmJ0cmVlLmMKaW5kZXggZDhmMTE5NGUyMC4uOTE4MjU0NDQxNyAxMDA2NDQKLS0tIGEveGVu L2NvbW1vbi9yYnRyZWUuYworKysgYi94ZW4vY29tbW9uL3JidHJlZS5jCkBAIC02Niw2ICs2Niwx OSBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCByYl9ub2RlICpyYl9yZWRfcGFyZW50KHN0cnVjdCBy Yl9ub2RlICpyZWQpCiAJcmV0dXJuIChzdHJ1Y3QgcmJfbm9kZSAqKXJlZC0+X19yYl9wYXJlbnRf Y29sb3I7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZAorX19yYl9jaGFuZ2VfY2hpbGQoc3RydWN0 IHJiX25vZGUgKm9sZCwgc3RydWN0IHJiX25vZGUgKm5ldywKKwkJICBzdHJ1Y3QgcmJfbm9kZSAq cGFyZW50LCBzdHJ1Y3QgcmJfcm9vdCAqcm9vdCkKK3sKKwlpZiAocGFyZW50KSB7CisJCWlmIChw YXJlbnQtPnJiX2xlZnQgPT0gb2xkKQorCQkJcGFyZW50LT5yYl9sZWZ0ID0gbmV3OworCQllbHNl CisJCQlwYXJlbnQtPnJiX3JpZ2h0ID0gbmV3OworCX0gZWxzZQorCQlyb290LT5yYl9ub2RlID0g bmV3OworfQorCiAvKgogICogSGVscGVyIGZ1bmN0aW9uIGZvciByb3RhdGlvbnM6CiAgKiAtIG9s ZCdzIHBhcmVudCBhbmQgY29sb3IgZ2V0IGFzc2lnbmVkIHRvIG5ldwpAQCAtNzgsMTMgKzkxLDcg QEAgX19yYl9yb3RhdGVfc2V0X3BhcmVudHMoc3RydWN0IHJiX25vZGUgKm9sZCwgc3RydWN0IHJi X25vZGUgKm5ldywKIAlzdHJ1Y3QgcmJfbm9kZSAqcGFyZW50ID0gcmJfcGFyZW50KG9sZCk7CiAJ bmV3LT5fX3JiX3BhcmVudF9jb2xvciA9IG9sZC0+X19yYl9wYXJlbnRfY29sb3I7CiAJcmJfc2V0 X3BhcmVudF9jb2xvcihvbGQsIG5ldywgY29sb3IpOwotCWlmIChwYXJlbnQpIHsKLQkJaWYgKHBh cmVudC0+cmJfbGVmdCA9PSBvbGQpCi0JCQlwYXJlbnQtPnJiX2xlZnQgPSBuZXc7Ci0JCWVsc2UK LQkJCXBhcmVudC0+cmJfcmlnaHQgPSBuZXc7Ci0JfSBlbHNlCi0JCXJvb3QtPnJiX25vZGUgPSBu ZXc7CisJX19yYl9jaGFuZ2VfY2hpbGQob2xkLCBuZXcsIHBhcmVudCwgcm9vdCk7CiB9CiAKIHZv aWQgcmJfaW5zZXJ0X2NvbG9yKHN0cnVjdCByYl9ub2RlICpub2RlLCBzdHJ1Y3QgcmJfcm9vdCAq cm9vdCkKQEAgLTM3NSwxMyArMzgyLDcgQEAgdm9pZCByYl9lcmFzZShzdHJ1Y3QgcmJfbm9kZSAq bm9kZSwgc3RydWN0IHJiX3Jvb3QgKnJvb3QpCiAJCXdoaWxlICgobGVmdCA9IG5vZGUtPnJiX2xl ZnQpICE9IE5VTEwpCiAJCQlub2RlID0gbGVmdDsKIAotCQlpZiAocmJfcGFyZW50KG9sZCkpIHsK LQkJCWlmIChyYl9wYXJlbnQob2xkKS0+cmJfbGVmdCA9PSBvbGQpCi0JCQkJcmJfcGFyZW50KG9s ZCktPnJiX2xlZnQgPSBub2RlOwotCQkJZWxzZQotCQkJCXJiX3BhcmVudChvbGQpLT5yYl9yaWdo dCA9IG5vZGU7Ci0JCX0gZWxzZQotCQkJcm9vdC0+cmJfbm9kZSA9IG5vZGU7CisJCV9fcmJfY2hh bmdlX2NoaWxkKG9sZCwgbm9kZSwgcmJfcGFyZW50KG9sZCksIHJvb3QpOwogCiAJCWNoaWxkID0g bm9kZS0+cmJfcmlnaHQ7CiAJCXBhcmVudCA9IHJiX3BhcmVudChub2RlKTsKQEAgLTQxMSwxMyAr NDEyLDcgQEAgdm9pZCByYl9lcmFzZShzdHJ1Y3QgcmJfbm9kZSAqbm9kZSwgc3RydWN0IHJiX3Jv b3QgKnJvb3QpCiAKIAlpZiAoY2hpbGQpCiAJCXJiX3NldF9wYXJlbnQoY2hpbGQsIHBhcmVudCk7 Ci0JaWYgKHBhcmVudCkgewotCQlpZiAocGFyZW50LT5yYl9sZWZ0ID09IG5vZGUpCi0JCQlwYXJl bnQtPnJiX2xlZnQgPSBjaGlsZDsKLQkJZWxzZQotCQkJcGFyZW50LT5yYl9yaWdodCA9IGNoaWxk OwotCX0gZWxzZQotCQlyb290LT5yYl9ub2RlID0gY2hpbGQ7CisJX19yYl9jaGFuZ2VfY2hpbGQo bm9kZSwgY2hpbGQsIHBhcmVudCwgcm9vdCk7CiAKIGNvbG9yOgogCWlmIChjb2xvciA9PSBSQl9C TEFDSykKQEAgLTUyMSwxNCArNTE2LDcgQEAgdm9pZCByYl9yZXBsYWNlX25vZGUoc3RydWN0IHJi X25vZGUgKnZpY3RpbSwgc3RydWN0IHJiX25vZGUgKm5ldywKIAlzdHJ1Y3QgcmJfbm9kZSAqcGFy ZW50ID0gcmJfcGFyZW50KHZpY3RpbSk7CiAKIAkvKiBTZXQgdGhlIHN1cnJvdW5kaW5nIG5vZGVz IHRvIHBvaW50IHRvIHRoZSByZXBsYWNlbWVudCAqLwotCWlmIChwYXJlbnQpIHsKLQkJaWYgKHZp Y3RpbSA9PSBwYXJlbnQtPnJiX2xlZnQpCi0JCQlwYXJlbnQtPnJiX2xlZnQgPSBuZXc7Ci0JCWVs c2UKLQkJCXBhcmVudC0+cmJfcmlnaHQgPSBuZXc7Ci0JfSBlbHNlIHsKLQkJcm9vdC0+cmJfbm9k ZSA9IG5ldzsKLQl9CisJX19yYl9jaGFuZ2VfY2hpbGQodmljdGltLCBuZXcsIHBhcmVudCwgcm9v dCk7CiAJaWYgKHZpY3RpbS0+cmJfbGVmdCkKIAkJcmJfc2V0X3BhcmVudCh2aWN0aW0tPnJiX2xl ZnQsIG5ldyk7CiAJaWYgKHZpY3RpbS0+cmJfcmlnaHQpCi0tIAoyLjEyLjAKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK