From mboxrd@z Thu Jan 1 00:00:00 1970 From: Praveen Kumar Subject: [PATCH v2 11/20] rbtree: adjust node color in __rb_erase_color() only when necessary Date: Sat, 17 Jun 2017 15:02:44 +0530 Message-ID: <20170617093253.3990-12-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 SW4gX19yYl9lcmFzZV9jb2xvcigpLCB3ZSB3ZXJlIGFsd2F5cyBzZXR0aW5nIGEgbm9kZSB0byBi bGFjayBhZnRlcgpleGl0aW5nIHRoZSBtYWluIGxvb3AuICBBbmQgaW4gb25lIGNhc2UsIGFmdGVy IGZpeGluZyB1cCB0aGUgdHJlZSB0bwpzYXRpc2Z5IGFsbCByYnRyZWUgaW52YXJpYW50cywgd2Ug d2VyZSBzZXR0aW5nIHRoZSBjdXJyZW50IG5vZGUgdG8gcm9vdApqdXN0IHRvIGd1YXJhbnRlZSBh IGxvb3AgZXhpdCwgYXQgd2hpY2ggcG9pbnQgdGhlIHJvb3Qgd291bGQgYmUgc2V0IHRvCmJsYWNr LiAgSG93ZXZlciB0aGlzIGlzIG5vdCBuZWNlc3NhcnksIGFzIHRoZSByb290IG9mIGFuIHJidHJl ZSBpcyBhbHJlYWR5Cmtub3duIHRvIGJlIGJsYWNrLiAgVGhlIG9ubHkgY2FzZSB3aGVyZSB0aGUg Y29sb3IgZmxpcCBpcyByZXF1aXJlZCBpcyB3aGVuCndlIGV4aXQgdGhlIGxvb3AgZHVlIHRvIHRo ZSBjdXJyZW50IG5vZGUgYmVpbmcgcmVkLCBhbmQgaXQncyBlYXNpZXN0IHRvCmp1c3QgZG8gdGhl IGZsaXAgYXQgdGhhdCBwb2ludCBpbnN0ZWFkIG9mIGRvaW5nIGl0IGFmdGVyIHRoZSBsb29wLgoK W2Fkcmlhbi5odW50ZXJAaW50ZWwuY29tOiBwZXJmIHRvb2xzOiBmaXggYnVpbGQgZm9yIGFub3Ro ZXIgcmJ0cmVlLmMgY2hhbmdlXQpTaWduZWQtb2ZmLWJ5OiBNaWNoZWwgTGVzcGluYXNzZSA8d2Fs a2VuQGdvb2dsZS5jb20+CkNjOiBBbmRyZWEgQXJjYW5nZWxpIDxhYXJjYW5nZUByZWRoYXQuY29t PgpBY2tlZC1ieTogRGF2aWQgV29vZGhvdXNlIDxEYXZpZC5Xb29kaG91c2VAaW50ZWwuY29tPgpD YzogUmlrIHZhbiBSaWVsIDxyaWVsQHJlZGhhdC5jb20+CkNjOiBQZXRlciBaaWpsc3RyYSA8YS5w LnppamxzdHJhQGNoZWxsby5ubD4KQ2M6IERhbmllbCBTYW50b3MgPGRhbmllbC5zYW50b3NAcG9i b3guY29tPgpDYzogSmVucyBBeGJvZSA8YXhib2VAa2VybmVsLmRrPgpDYzogIkVyaWMgVy4gQmll ZGVybWFuIiA8ZWJpZWRlcm1AeG1pc3Npb24uY29tPgpTaWduZWQtb2ZmLWJ5OiBBZHJpYW4gSHVu dGVyIDxhZHJpYW4uaHVudGVyQGludGVsLmNvbT4KQ2M6IEFsZXhhbmRlciBTaGlzaGtpbiA8YWxl eGFuZGVyLnNoaXNoa2luQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5kcmV3IE1vcnRvbiA8 YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz4KU2lnbmVkLW9mZi1ieTogTGludXMgVG9ydmFsZHMg PHRvcnZhbGRzQGxpbnV4LWZvdW5kYXRpb24ub3JnPgpbTGludXggY29tbWl0IGQ2ZmYxMjczOTI4 ZWJmMTU0NjZhODViN2UxODEwY2QwMGU3Mjk5OGJdCgpQb3J0ZWQgb25seSByYnRyZWUuYyB0byBY ZW4uCgpTaWduZWQtb2ZmLWJ5OiBQcmF2ZWVuIEt1bWFyIDxrcHJhdmVlbi5sa21sQGdtYWlsLmNv bT4KLS0tCiB4ZW4vY29tbW9uL3JidHJlZS5jIHwgMjIgKysrKysrKysrKysrKysrKy0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2NvbW1vbi9yYnRyZWUuYyBiL3hlbi9jb21tb24vcmJ0cmVlLmMKaW5kZXggZDQ0 ZmEyMmRmNS4uMmQ1ZGE5ZWEyOCAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9yYnRyZWUuYworKysg Yi94ZW4vY29tbW9uL3JidHJlZS5jCkBAIC0yNjEsMTAgKzI2MSwyNCBAQCBzdGF0aWMgdm9pZCBf X3JiX2VyYXNlX2NvbG9yKHN0cnVjdCByYl9ub2RlICpub2RlLCBzdHJ1Y3QgcmJfbm9kZSAqcGFy ZW50LAogewogICAgIHN0cnVjdCByYl9ub2RlICpvdGhlcjsKIAotICAgIHdoaWxlICgoIW5vZGUg fHwgcmJfaXNfYmxhY2sobm9kZSkpICYmIG5vZGUgIT0gcm9vdC0+cmJfbm9kZSkKKyAgICB3aGls ZSAodHJ1ZSkKICAgICB7Ci0gICAgICAgIGlmIChwYXJlbnQtPnJiX2xlZnQgPT0gbm9kZSkKKyAg ICAgICAgLyoKKyAgICAgICAgICogTG9vcCBpbnZhcmlhbnQ6IGFsbCBsZWFmIHBhdGhzIGdvaW5n IHRocm91Z2ggbm9kZSBoYXZlIGEKKyAgICAgICAgICogYmxhY2sgbm9kZSBjb3VudCB0aGF0IGlz IDEgbG93ZXIgdGhhbiBvdGhlciBsZWFmIHBhdGhzLgorICAgICAgICAgKgorICAgICAgICAgKiBJ ZiBub2RlIGlzIHJlZCwgd2UgY2FuIGZsaXAgaXQgdG8gYmxhY2sgdG8gYWRqdXN0LgorICAgICAg ICAgKiBJZiBub2RlIGlzIHRoZSByb290LCBhbGwgbGVhZiBwYXRocyBnbyB0aHJvdWdoIGl0Lgor ICAgICAgICAgKiBPdGhlcndpc2UsIHdlIG5lZWQgdG8gYWRqdXN0IHRoZSB0cmVlIHRocm91Z2gg Y29sb3IgZmxpcHMKKyAgICAgICAgICogYW5kIHRyZWUgcm90YXRpb25zIGFzIHBlciBvbmUgb2Yg dGhlIDQgY2FzZXMgYmVsb3cuCisgICAgICAgICAqLworICAgICAgICBpZiAobm9kZSAmJiByYl9p c19yZWQobm9kZSkpCiAgICAgICAgIHsKKyAgICAgICAgICAgIHJiX3NldF9ibGFjayhub2RlKTsK KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9IGVsc2UgaWYgKCFwYXJlbnQpIHsKKyAgICAg ICAgICAgIGJyZWFrOworICAgICAgICB9IGVsc2UgaWYgKHBhcmVudC0+cmJfbGVmdCA9PSBub2Rl KSB7CiAgICAgICAgICAgICBvdGhlciA9IHBhcmVudC0+cmJfcmlnaHQ7CiAgICAgICAgICAgICBp ZiAocmJfaXNfcmVkKG90aGVyKSkKICAgICAgICAgICAgIHsKQEAgLTI5Myw3ICszMDcsNiBAQCBz dGF0aWMgdm9pZCBfX3JiX2VyYXNlX2NvbG9yKHN0cnVjdCByYl9ub2RlICpub2RlLCBzdHJ1Y3Qg cmJfbm9kZSAqcGFyZW50LAogICAgICAgICAgICAgICAgIHJiX3NldF9ibGFjayhwYXJlbnQpOwog ICAgICAgICAgICAgICAgIHJiX3NldF9ibGFjayhvdGhlci0+cmJfcmlnaHQpOwogICAgICAgICAg ICAgICAgIF9fcmJfcm90YXRlX2xlZnQocGFyZW50LCByb290KTsKLSAgICAgICAgICAgICAgICBu b2RlID0gcm9vdC0+cmJfbm9kZTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg IH0KICAgICAgICAgfQpAQCAtMzI3LDEzICszNDAsMTAgQEAgc3RhdGljIHZvaWQgX19yYl9lcmFz ZV9jb2xvcihzdHJ1Y3QgcmJfbm9kZSAqbm9kZSwgc3RydWN0IHJiX25vZGUgKnBhcmVudCwKICAg ICAgICAgICAgICAgICByYl9zZXRfYmxhY2socGFyZW50KTsKICAgICAgICAgICAgICAgICByYl9z ZXRfYmxhY2sob3RoZXItPnJiX2xlZnQpOwogICAgICAgICAgICAgICAgIF9fcmJfcm90YXRlX3Jp Z2h0KHBhcmVudCwgcm9vdCk7Ci0gICAgICAgICAgICAgICAgbm9kZSA9IHJvb3QtPnJiX25vZGU7 CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9 Ci0gICAgaWYgKG5vZGUpCi0gICAgICAgIHJiX3NldF9ibGFjayhub2RlKTsKIH0KIAogdm9pZCBy Yl9lcmFzZShzdHJ1Y3QgcmJfbm9kZSAqbm9kZSwgc3RydWN0IHJiX3Jvb3QgKnJvb3QpCi0tIAoy LjEyLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK