From mboxrd@z Thu Jan 1 00:00:00 1970 From: Praveen Kumar Subject: [PATCH 13/17] rbtree: add __rb_change_child() helper function Date: Thu, 1 Jun 2017 02:17:04 +0530 Message-ID: <20170531204708.10470-14-kpraveen.lkml@gmail.com> References: <20170531204708.10470-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: <20170531204708.10470-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: Andrea Arcangeli , sstabellini@kernel.org, wei.liu2@citrix.com, Peter Zijlstra , George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, Linus Torvalds , Praveen Kumar , jbeulich@suse.com, Andrew Morton , Michel Lespinasse , David Woodhouse List-Id: xen-devel@lists.xenproject.org QWRkIF9fcmJfY2hhbmdlX2NoaWxkKCkgYXMgYW4gaW5saW5lIGhlbHBlciBmdW5jdGlvbiB0byBy ZXBsYWNlIGNvZGUgdGhhdAp3b3VsZCBvdGhlcndpc2UgYmUgZHVwbGljYXRlZCA0IHRpbWVzIGlu IHRoZSBzb3VyY2UuCgpObyBjaGFuZ2VzIHRvIGJpbmFyeSBzaXplIG9yIHNwZWVkLgoKY29tbWl0 IDdhYmM3MDRhZTM5OWZjYjljNTFjYTIwMGIwNDU2ZjhhOTc1YTgwMTEgZnJvbSBMaW51eCB0cmVl CgpTaWduZWQtb2ZmLWJ5OiBNaWNoZWwgTGVzcGluYXNzZSA8d2Fsa2VuQGdvb2dsZS5jb20+ClJl dmlld2VkLWJ5OiBSaWsgdmFuIFJpZWwgPHJpZWxAcmVkaGF0LmNvbT4KQ2M6IFBldGVyIFppamxz dHJhIDxhLnAuemlqbHN0cmFAY2hlbGxvLm5sPgpDYzogQW5kcmVhIEFyY2FuZ2VsaSA8YWFyY2Fu Z2VAcmVkaGF0LmNvbT4KQ2M6IERhdmlkIFdvb2Rob3VzZSA8ZHdtdzJAaW5mcmFkZWFkLm9yZz4K U2lnbmVkLW9mZi1ieTogQW5kcmV3IE1vcnRvbiA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz4K U2lnbmVkLW9mZi1ieTogTGludXMgVG9ydmFsZHMgPHRvcnZhbGRzQGxpbnV4LWZvdW5kYXRpb24u b3JnPgotLS0KIHhlbi9jb21tb24vcmJ0cmVlLmMgfCA1NCArKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIyIGluc2Vy dGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vcmJ0cmVl LmMgYi94ZW4vY29tbW9uL3JidHJlZS5jCmluZGV4IGI2NWYwMGNhMWYuLjNiNTRjMDRiZWEgMTAw NjQ0Ci0tLSBhL3hlbi9jb21tb24vcmJ0cmVlLmMKKysrIGIveGVuL2NvbW1vbi9yYnRyZWUuYwpA QCAtNjUsNiArNjUsMjIgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgcmJfbm9kZSAqcmJfcmVkX3Bh cmVudChzdHJ1Y3QgcmJfbm9kZSAqcmVkKQogICAgIHJldHVybiAoc3RydWN0IHJiX25vZGUgKily ZWQtPl9fcmJfcGFyZW50X2NvbG9yOwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQKK19fcmJfY2hh bmdlX2NoaWxkKHN0cnVjdCByYl9ub2RlICpvbGQsIHN0cnVjdCByYl9ub2RlICpuZXcsCisgICAg ICAgICAgICAgICAgIHN0cnVjdCByYl9ub2RlICpwYXJlbnQsIHN0cnVjdCByYl9yb290ICpyb290 KQoreworICAgIGlmIChwYXJlbnQpCisgICAgeworICAgICAgICBpZiAocGFyZW50LT5yYl9sZWZ0 ID09IG9sZCkKKyAgICAgICAgICAgIHBhcmVudC0+cmJfbGVmdCA9IG5ldzsKKyAgICAgICAgZWxz ZQorICAgICAgICAgICAgcGFyZW50LT5yYl9yaWdodCA9IG5ldzsKKyAgICB9IGVsc2UKKyAgICAg ICAgcm9vdC0+cmJfbm9kZSA9IG5ldzsKK30KKworCisKIC8qCiAgKiBIZWxwZXIgZnVuY3Rpb24g Zm9yIHJvdGF0aW9uczoKICAqIC0gb2xkJ3MgcGFyZW50IGFuZCBjb2xvciBnZXQgYXNzaWduZWQg dG8gbmV3CkBAIC03NywxMyArOTMsNyBAQCBfX3JiX3JvdGF0ZV9zZXRfcGFyZW50cyhzdHJ1Y3Qg cmJfbm9kZSAqb2xkLCBzdHJ1Y3QgcmJfbm9kZSAqbmV3LAogICAgIHN0cnVjdCByYl9ub2RlICpw YXJlbnQgPSByYl9wYXJlbnQob2xkKTsKICAgICBuZXctPl9fcmJfcGFyZW50X2NvbG9yID0gb2xk LT5fX3JiX3BhcmVudF9jb2xvcjsKICAgICByYl9zZXRfcGFyZW50X2NvbG9yKG9sZCwgbmV3LCBj b2xvcik7Ci0gICAgaWYgKHBhcmVudCkgewotICAgICAgICBpZiAocGFyZW50LT5yYl9sZWZ0ID09 IG9sZCkKLSAgICAgICAgICAgIHBhcmVudC0+cmJfbGVmdCA9IG5ldzsKLSAgICAgICAgZWxzZQot ICAgICAgICAgICAgcGFyZW50LT5yYl9yaWdodCA9IG5ldzsKLSAgICB9IGVsc2UKLSAgICAgICAg cm9vdC0+cmJfbm9kZSA9IG5ldzsKKyAgICBfX3JiX2NoYW5nZV9jaGlsZChvbGQsIG5ldywgcGFy ZW50LCByb290KTsKIH0KIAogdm9pZCByYl9pbnNlcnRfY29sb3Ioc3RydWN0IHJiX25vZGUgKm5v ZGUsIHN0cnVjdCByYl9yb290ICpyb290KQpAQCAtMzgxLDE0ICszOTEsNyBAQCB2b2lkIHJiX2Vy YXNlKHN0cnVjdCByYl9ub2RlICpub2RlLCBzdHJ1Y3QgcmJfcm9vdCAqcm9vdCkKICAgICAgICAg d2hpbGUgKChsZWZ0ID0gbm9kZS0+cmJfbGVmdCkgIT0gTlVMTCkKICAgICAgICAgICAgIG5vZGUg PSBsZWZ0OwogCi0gICAgICAgIGlmIChyYl9wYXJlbnQob2xkKSkKLSAgICAgICAgewotICAgICAg ICAgICAgaWYgKHJiX3BhcmVudChvbGQpLT5yYl9sZWZ0ID09IG9sZCkKLSAgICAgICAgICAgICAg ICByYl9wYXJlbnQob2xkKS0+cmJfbGVmdCA9IG5vZGU7Ci0gICAgICAgICAgICBlbHNlCi0gICAg ICAgICAgICAgICAgcmJfcGFyZW50KG9sZCktPnJiX3JpZ2h0ID0gbm9kZTsKLSAgICAgICAgfSBl bHNlCi0gICAgICAgICAgICByb290LT5yYl9ub2RlID0gbm9kZTsKKyAgICAgICAgX19yYl9jaGFu Z2VfY2hpbGQob2xkLCBub2RlLCByYl9wYXJlbnQob2xkKSwgcm9vdCk7CiAKICAgICAgICAgY2hp bGQgPSBub2RlLT5yYl9yaWdodDsKICAgICAgICAgcGFyZW50ID0gcmJfcGFyZW50KG5vZGUpOwpA QCAtNDE4LDE1ICs0MjEsOCBAQCB2b2lkIHJiX2VyYXNlKHN0cnVjdCByYl9ub2RlICpub2RlLCBz dHJ1Y3QgcmJfcm9vdCAqcm9vdCkKIAogICAgIGlmIChjaGlsZCkKICAgICAgICAgcmJfc2V0X3Bh cmVudChjaGlsZCwgcGFyZW50KTsKLSAgICBpZiAocGFyZW50KQotICAgIHsKLSAgICAgICAgaWYg KHBhcmVudC0+cmJfbGVmdCA9PSBub2RlKQotICAgICAgICAgICAgcGFyZW50LT5yYl9sZWZ0ID0g Y2hpbGQ7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHBhcmVudC0+cmJfcmlnaHQgPSBjaGls ZDsKLSAgICB9Ci0gICAgZWxzZQotICAgICAgICByb290LT5yYl9ub2RlID0gY2hpbGQ7CisKKyAg ICBfX3JiX2NoYW5nZV9jaGlsZChub2RlLCBjaGlsZCwgcGFyZW50LCByb290KTsKIAogIGNvbG9y OgogICAgIGlmIChjb2xvciA9PSBSQl9CTEFDSykKQEAgLTUyMywxNCArNTE5LDggQEAgdm9pZCBy Yl9yZXBsYWNlX25vZGUoc3RydWN0IHJiX25vZGUgKnZpY3RpbSwgc3RydWN0IHJiX25vZGUgKm5l dywKICAgICBzdHJ1Y3QgcmJfbm9kZSAqcGFyZW50ID0gcmJfcGFyZW50KHZpY3RpbSk7CiAKICAg ICAvKiBTZXQgdGhlIHN1cnJvdW5kaW5nIG5vZGVzIHRvIHBvaW50IHRvIHRoZSByZXBsYWNlbWVu dCAqLwotICAgIGlmIChwYXJlbnQpIHsKLSAgICAgICAgaWYgKHZpY3RpbSA9PSBwYXJlbnQtPnJi X2xlZnQpCi0gICAgICAgICAgICBwYXJlbnQtPnJiX2xlZnQgPSBuZXc7Ci0gICAgICAgIGVsc2UK LSAgICAgICAgICAgIHBhcmVudC0+cmJfcmlnaHQgPSBuZXc7Ci0gICAgfSBlbHNlIHsKLSAgICAg ICAgcm9vdC0+cmJfbm9kZSA9IG5ldzsKLSAgICB9CisgICAgX19yYl9jaGFuZ2VfY2hpbGQodmlj dGltLCBuZXcsIHBhcmVudCwgcm9vdCk7CisKICAgICBpZiAodmljdGltLT5yYl9sZWZ0KQogICAg ICAgICByYl9zZXRfcGFyZW50KHZpY3RpbS0+cmJfbGVmdCwgbmV3KTsKICAgICBpZiAodmljdGlt LT5yYl9yaWdodCkKLS0gCjIuMTIuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=