From mboxrd@z Thu Jan 1 00:00:00 1970 From: Praveen Kumar Subject: [Resend][PATCH 13/17] rbtree: add __rb_change_child() helper function Date: Thu, 1 Jun 2017 02:50:52 +0530 Message-ID: <20170531212056.10583-14-kpraveen.lkml@gmail.com> References: <20170531212056.10583-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: <20170531212056.10583-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, Praveen Kumar , jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org QWRkIF9fcmJfY2hhbmdlX2NoaWxkKCkgYXMgYW4gaW5saW5lIGhlbHBlciBmdW5jdGlvbiB0byBy ZXBsYWNlIGNvZGUgdGhhdAp3b3VsZCBvdGhlcndpc2UgYmUgZHVwbGljYXRlZCA0IHRpbWVzIGlu IHRoZSBzb3VyY2UuCgpObyBjaGFuZ2VzIHRvIGJpbmFyeSBzaXplIG9yIHNwZWVkLgoKY29tbWl0 IDdhYmM3MDRhZTM5OWZjYjljNTFjYTIwMGIwNDU2ZjhhOTc1YTgwMTEgZnJvbSBMaW51eCB0cmVl CgpTaWduZWQtb2ZmLWJ5OiBQcmF2ZWVuIEt1bWFyIDxrcHJhdmVlbi5sa21sQGdtYWlsLmNvbT4K LS0tCiB4ZW4vY29tbW9uL3JidHJlZS5jIHwgNTQgKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25z KCspLCAzMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3JidHJlZS5jIGIv eGVuL2NvbW1vbi9yYnRyZWUuYwppbmRleCBiNjVmMDBjYTFmLi4zYjU0YzA0YmVhIDEwMDY0NAot LS0gYS94ZW4vY29tbW9uL3JidHJlZS5jCisrKyBiL3hlbi9jb21tb24vcmJ0cmVlLmMKQEAgLTY1 LDYgKzY1LDIyIEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHJiX25vZGUgKnJiX3JlZF9wYXJlbnQo c3RydWN0IHJiX25vZGUgKnJlZCkKICAgICByZXR1cm4gKHN0cnVjdCByYl9ub2RlICopcmVkLT5f X3JiX3BhcmVudF9jb2xvcjsKIH0KIAorc3RhdGljIGlubGluZSB2b2lkCitfX3JiX2NoYW5nZV9j aGlsZChzdHJ1Y3QgcmJfbm9kZSAqb2xkLCBzdHJ1Y3QgcmJfbm9kZSAqbmV3LAorICAgICAgICAg ICAgICAgICBzdHJ1Y3QgcmJfbm9kZSAqcGFyZW50LCBzdHJ1Y3QgcmJfcm9vdCAqcm9vdCkKK3sK KyAgICBpZiAocGFyZW50KQorICAgIHsKKyAgICAgICAgaWYgKHBhcmVudC0+cmJfbGVmdCA9PSBv bGQpCisgICAgICAgICAgICBwYXJlbnQtPnJiX2xlZnQgPSBuZXc7CisgICAgICAgIGVsc2UKKyAg ICAgICAgICAgIHBhcmVudC0+cmJfcmlnaHQgPSBuZXc7CisgICAgfSBlbHNlCisgICAgICAgIHJv b3QtPnJiX25vZGUgPSBuZXc7Cit9CisKKworCiAvKgogICogSGVscGVyIGZ1bmN0aW9uIGZvciBy b3RhdGlvbnM6CiAgKiAtIG9sZCdzIHBhcmVudCBhbmQgY29sb3IgZ2V0IGFzc2lnbmVkIHRvIG5l dwpAQCAtNzcsMTMgKzkzLDcgQEAgX19yYl9yb3RhdGVfc2V0X3BhcmVudHMoc3RydWN0IHJiX25v ZGUgKm9sZCwgc3RydWN0IHJiX25vZGUgKm5ldywKICAgICBzdHJ1Y3QgcmJfbm9kZSAqcGFyZW50 ID0gcmJfcGFyZW50KG9sZCk7CiAgICAgbmV3LT5fX3JiX3BhcmVudF9jb2xvciA9IG9sZC0+X19y Yl9wYXJlbnRfY29sb3I7CiAgICAgcmJfc2V0X3BhcmVudF9jb2xvcihvbGQsIG5ldywgY29sb3Ip OwotICAgIGlmIChwYXJlbnQpIHsKLSAgICAgICAgaWYgKHBhcmVudC0+cmJfbGVmdCA9PSBvbGQp Ci0gICAgICAgICAgICBwYXJlbnQtPnJiX2xlZnQgPSBuZXc7Ci0gICAgICAgIGVsc2UKLSAgICAg ICAgICAgIHBhcmVudC0+cmJfcmlnaHQgPSBuZXc7Ci0gICAgfSBlbHNlCi0gICAgICAgIHJvb3Qt PnJiX25vZGUgPSBuZXc7CisgICAgX19yYl9jaGFuZ2VfY2hpbGQob2xkLCBuZXcsIHBhcmVudCwg cm9vdCk7CiB9CiAKIHZvaWQgcmJfaW5zZXJ0X2NvbG9yKHN0cnVjdCByYl9ub2RlICpub2RlLCBz dHJ1Y3QgcmJfcm9vdCAqcm9vdCkKQEAgLTM4MSwxNCArMzkxLDcgQEAgdm9pZCByYl9lcmFzZShz dHJ1Y3QgcmJfbm9kZSAqbm9kZSwgc3RydWN0IHJiX3Jvb3QgKnJvb3QpCiAgICAgICAgIHdoaWxl ICgobGVmdCA9IG5vZGUtPnJiX2xlZnQpICE9IE5VTEwpCiAgICAgICAgICAgICBub2RlID0gbGVm dDsKIAotICAgICAgICBpZiAocmJfcGFyZW50KG9sZCkpCi0gICAgICAgIHsKLSAgICAgICAgICAg IGlmIChyYl9wYXJlbnQob2xkKS0+cmJfbGVmdCA9PSBvbGQpCi0gICAgICAgICAgICAgICAgcmJf cGFyZW50KG9sZCktPnJiX2xlZnQgPSBub2RlOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAg ICAgICAgIHJiX3BhcmVudChvbGQpLT5yYl9yaWdodCA9IG5vZGU7Ci0gICAgICAgIH0gZWxzZQot ICAgICAgICAgICAgcm9vdC0+cmJfbm9kZSA9IG5vZGU7CisgICAgICAgIF9fcmJfY2hhbmdlX2No aWxkKG9sZCwgbm9kZSwgcmJfcGFyZW50KG9sZCksIHJvb3QpOwogCiAgICAgICAgIGNoaWxkID0g bm9kZS0+cmJfcmlnaHQ7CiAgICAgICAgIHBhcmVudCA9IHJiX3BhcmVudChub2RlKTsKQEAgLTQx OCwxNSArNDIxLDggQEAgdm9pZCByYl9lcmFzZShzdHJ1Y3QgcmJfbm9kZSAqbm9kZSwgc3RydWN0 IHJiX3Jvb3QgKnJvb3QpCiAKICAgICBpZiAoY2hpbGQpCiAgICAgICAgIHJiX3NldF9wYXJlbnQo Y2hpbGQsIHBhcmVudCk7Ci0gICAgaWYgKHBhcmVudCkKLSAgICB7Ci0gICAgICAgIGlmIChwYXJl bnQtPnJiX2xlZnQgPT0gbm9kZSkKLSAgICAgICAgICAgIHBhcmVudC0+cmJfbGVmdCA9IGNoaWxk OwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBwYXJlbnQtPnJiX3JpZ2h0ID0gY2hpbGQ7Ci0g ICAgfQotICAgIGVsc2UKLSAgICAgICAgcm9vdC0+cmJfbm9kZSA9IGNoaWxkOworCisgICAgX19y Yl9jaGFuZ2VfY2hpbGQobm9kZSwgY2hpbGQsIHBhcmVudCwgcm9vdCk7CiAKICBjb2xvcjoKICAg ICBpZiAoY29sb3IgPT0gUkJfQkxBQ0spCkBAIC01MjMsMTQgKzUxOSw4IEBAIHZvaWQgcmJfcmVw bGFjZV9ub2RlKHN0cnVjdCByYl9ub2RlICp2aWN0aW0sIHN0cnVjdCByYl9ub2RlICpuZXcsCiAg ICAgc3RydWN0IHJiX25vZGUgKnBhcmVudCA9IHJiX3BhcmVudCh2aWN0aW0pOwogCiAgICAgLyog U2V0IHRoZSBzdXJyb3VuZGluZyBub2RlcyB0byBwb2ludCB0byB0aGUgcmVwbGFjZW1lbnQgKi8K LSAgICBpZiAocGFyZW50KSB7Ci0gICAgICAgIGlmICh2aWN0aW0gPT0gcGFyZW50LT5yYl9sZWZ0 KQotICAgICAgICAgICAgcGFyZW50LT5yYl9sZWZ0ID0gbmV3OwotICAgICAgICBlbHNlCi0gICAg ICAgICAgICBwYXJlbnQtPnJiX3JpZ2h0ID0gbmV3OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHJv b3QtPnJiX25vZGUgPSBuZXc7Ci0gICAgfQorICAgIF9fcmJfY2hhbmdlX2NoaWxkKHZpY3RpbSwg bmV3LCBwYXJlbnQsIHJvb3QpOworCiAgICAgaWYgKHZpY3RpbS0+cmJfbGVmdCkKICAgICAgICAg cmJfc2V0X3BhcmVudCh2aWN0aW0tPnJiX2xlZnQsIG5ldyk7CiAgICAgaWYgKHZpY3RpbS0+cmJf cmlnaHQpCi0tIAoyLjEyLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK