From mboxrd@z Thu Jan 1 00:00:00 1970 From: Praveen Kumar Subject: [PATCH v5 08/17] rbtree: adjust node color in __rb_erase_color() only when necessary Date: Fri, 14 Jul 2017 13:56:27 +0530 Message-ID: <20170714082636.29511-9-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 RnJvbTogTWljaGVsIExlc3BpbmFzc2UgPHdhbGtlbkBnb29nbGUuY29tPgoKSW4gX19yYl9lcmFz ZV9jb2xvcigpLCB3ZSB3ZXJlIGFsd2F5cyBzZXR0aW5nIGEgbm9kZSB0byBibGFjayBhZnRlcgpl eGl0aW5nIHRoZSBtYWluIGxvb3AuICBBbmQgaW4gb25lIGNhc2UsIGFmdGVyIGZpeGluZyB1cCB0 aGUgdHJlZSB0bwpzYXRpc2Z5IGFsbCByYnRyZWUgaW52YXJpYW50cywgd2Ugd2VyZSBzZXR0aW5n IHRoZSBjdXJyZW50IG5vZGUgdG8gcm9vdApqdXN0IHRvIGd1YXJhbnRlZSBhIGxvb3AgZXhpdCwg YXQgd2hpY2ggcG9pbnQgdGhlIHJvb3Qgd291bGQgYmUgc2V0IHRvCmJsYWNrLiAgSG93ZXZlciB0 aGlzIGlzIG5vdCBuZWNlc3NhcnksIGFzIHRoZSByb290IG9mIGFuIHJidHJlZSBpcyBhbHJlYWR5 Cmtub3duIHRvIGJlIGJsYWNrLiAgVGhlIG9ubHkgY2FzZSB3aGVyZSB0aGUgY29sb3IgZmxpcCBp cyByZXF1aXJlZCBpcyB3aGVuCndlIGV4aXQgdGhlIGxvb3AgZHVlIHRvIHRoZSBjdXJyZW50IG5v ZGUgYmVpbmcgcmVkLCBhbmQgaXQncyBlYXNpZXN0IHRvCmp1c3QgZG8gdGhlIGZsaXAgYXQgdGhh dCBwb2ludCBpbnN0ZWFkIG9mIGRvaW5nIGl0IGFmdGVyIHRoZSBsb29wLgoKW2Fkcmlhbi5odW50 ZXJAaW50ZWwuY29tOiBwZXJmIHRvb2xzOiBmaXggYnVpbGQgZm9yIGFub3RoZXIgcmJ0cmVlLmMg Y2hhbmdlXQpTaWduZWQtb2ZmLWJ5OiBNaWNoZWwgTGVzcGluYXNzZSA8d2Fsa2VuQGdvb2dsZS5j b20+CkNjOiBBbmRyZWEgQXJjYW5nZWxpIDxhYXJjYW5nZUByZWRoYXQuY29tPgpBY2tlZC1ieTog RGF2aWQgV29vZGhvdXNlIDxEYXZpZC5Xb29kaG91c2VAaW50ZWwuY29tPgpDYzogUmlrIHZhbiBS aWVsIDxyaWVsQHJlZGhhdC5jb20+CkNjOiBQZXRlciBaaWpsc3RyYSA8YS5wLnppamxzdHJhQGNo ZWxsby5ubD4KQ2M6IERhbmllbCBTYW50b3MgPGRhbmllbC5zYW50b3NAcG9ib3guY29tPgpDYzog SmVucyBBeGJvZSA8YXhib2VAa2VybmVsLmRrPgpDYzogIkVyaWMgVy4gQmllZGVybWFuIiA8ZWJp ZWRlcm1AeG1pc3Npb24uY29tPgpTaWduZWQtb2ZmLWJ5OiBBZHJpYW4gSHVudGVyIDxhZHJpYW4u aHVudGVyQGludGVsLmNvbT4KQ2M6IEFsZXhhbmRlciBTaGlzaGtpbiA8YWxleGFuZGVyLnNoaXNo a2luQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5kcmV3IE1vcnRvbiA8YWtwbUBsaW51eC1m b3VuZGF0aW9uLm9yZz4KU2lnbmVkLW9mZi1ieTogTGludXMgVG9ydmFsZHMgPHRvcnZhbGRzQGxp bnV4LWZvdW5kYXRpb24ub3JnPgpbTGludXggY29tbWl0IGQ2ZmYxMjczOTI4ZWJmMTU0NjZhODVi N2UxODEwY2QwMGU3Mjk5OGJdCgpQb3J0ZWQgb25seSByYnRyZWUuYyB0byBYZW4uCgpTaWduZWQt b2ZmLWJ5OiBQcmF2ZWVuIEt1bWFyIDxrcHJhdmVlbi5sa21sQGdtYWlsLmNvbT4KLS0tCiB4ZW4v Y29tbW9uL3JidHJlZS5jIHwgMjggKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3hlbi9jb21tb24vcmJ0cmVlLmMgYi94ZW4vY29tbW9uL3JidHJlZS5jCmluZGV4IGMzYTg1NzVl YzAuLjI0OTAzNWM5MjMgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vcmJ0cmVlLmMKKysrIGIveGVu L2NvbW1vbi9yYnRyZWUuYwpAQCAtMjU5LDEwICsyNTksMjIgQEAgc3RhdGljIHZvaWQgX19yYl9l cmFzZV9jb2xvcihzdHJ1Y3QgcmJfbm9kZSAqbm9kZSwgc3RydWN0IHJiX25vZGUgKnBhcmVudCwK IHsKIAlzdHJ1Y3QgcmJfbm9kZSAqb3RoZXI7CiAKLQl3aGlsZSAoKCFub2RlIHx8IHJiX2lzX2Js YWNrKG5vZGUpKSAmJiBub2RlICE9IHJvb3QtPnJiX25vZGUpCi0JewotCQlpZiAocGFyZW50LT5y Yl9sZWZ0ID09IG5vZGUpCi0JCXsKKwl3aGlsZSAodHJ1ZSkgeworCQkvKgorCQkgKiBMb29wIGlu dmFyaWFudDogYWxsIGxlYWYgcGF0aHMgZ29pbmcgdGhyb3VnaCBub2RlIGhhdmUgYQorCQkgKiBi bGFjayBub2RlIGNvdW50IHRoYXQgaXMgMSBsb3dlciB0aGFuIG90aGVyIGxlYWYgcGF0aHMuCisJ CSAqCisJCSAqIElmIG5vZGUgaXMgcmVkLCB3ZSBjYW4gZmxpcCBpdCB0byBibGFjayB0byBhZGp1 c3QuCisJCSAqIElmIG5vZGUgaXMgdGhlIHJvb3QsIGFsbCBsZWFmIHBhdGhzIGdvIHRocm91Z2gg aXQuCisJCSAqIE90aGVyd2lzZSwgd2UgbmVlZCB0byBhZGp1c3QgdGhlIHRyZWUgdGhyb3VnaCBj b2xvciBmbGlwcworCQkgKiBhbmQgdHJlZSByb3RhdGlvbnMgYXMgcGVyIG9uZSBvZiB0aGUgNCBj YXNlcyBiZWxvdy4KKwkJICovCisJCWlmIChub2RlICYmIHJiX2lzX3JlZChub2RlKSkgeworCQkJ cmJfc2V0X2JsYWNrKG5vZGUpOworCQkJYnJlYWs7CisJCX0gZWxzZSBpZiAoIXBhcmVudCkgewor CQkJYnJlYWs7CisJCX0gZWxzZSBpZiAocGFyZW50LT5yYl9sZWZ0ID09IG5vZGUpIHsKIAkJCW90 aGVyID0gcGFyZW50LT5yYl9yaWdodDsKIAkJCWlmIChyYl9pc19yZWQob3RoZXIpKQogCQkJewpA QCAtMjkxLDEyICszMDMsOSBAQCBzdGF0aWMgdm9pZCBfX3JiX2VyYXNlX2NvbG9yKHN0cnVjdCBy Yl9ub2RlICpub2RlLCBzdHJ1Y3QgcmJfbm9kZSAqcGFyZW50LAogCQkJCXJiX3NldF9ibGFjayhw YXJlbnQpOwogCQkJCXJiX3NldF9ibGFjayhvdGhlci0+cmJfcmlnaHQpOwogCQkJCV9fcmJfcm90 YXRlX2xlZnQocGFyZW50LCByb290KTsKLQkJCQlub2RlID0gcm9vdC0+cmJfbm9kZTsKIAkJCQli cmVhazsKIAkJCX0KLQkJfQotCQllbHNlCi0JCXsKKwkJfSBlbHNlIHsKIAkJCW90aGVyID0gcGFy ZW50LT5yYl9sZWZ0OwogCQkJaWYgKHJiX2lzX3JlZChvdGhlcikpCiAJCQl7CkBAIC0zMjUsMTMg KzMzNCwxMCBAQCBzdGF0aWMgdm9pZCBfX3JiX2VyYXNlX2NvbG9yKHN0cnVjdCByYl9ub2RlICpu b2RlLCBzdHJ1Y3QgcmJfbm9kZSAqcGFyZW50LAogCQkJCXJiX3NldF9ibGFjayhwYXJlbnQpOwog CQkJCXJiX3NldF9ibGFjayhvdGhlci0+cmJfbGVmdCk7CiAJCQkJX19yYl9yb3RhdGVfcmlnaHQo cGFyZW50LCByb290KTsKLQkJCQlub2RlID0gcm9vdC0+cmJfbm9kZTsKIAkJCQlicmVhazsKIAkJ CX0KIAkJfQogCX0KLQlpZiAobm9kZSkKLQkJcmJfc2V0X2JsYWNrKG5vZGUpOwogfQogCiB2b2lk IHJiX2VyYXNlKHN0cnVjdCByYl9ub2RlICpub2RlLCBzdHJ1Y3QgcmJfcm9vdCAqcm9vdCkKLS0g CjIuMTIuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=