From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: Re: [PATCH 02/20] lib/rbtree.c: optimize rb_erase() Date: Mon, 19 Jun 2017 18:41:51 +0200 Message-ID: <1497890511.7405.5.camel@citrix.com> References: <20170617093253.3990-1-kpraveen.lkml@gmail.com> <20170617093253.3990-3-kpraveen.lkml@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1532907147698693091==" Return-path: In-Reply-To: <20170617093253.3990-3-kpraveen.lkml@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Praveen Kumar , xen-devel@lists.xen.org Cc: sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org --===============1532907147698693091== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="=-d9d/AfubGRHvXxNFtkbq" --=-d9d/AfubGRHvXxNFtkbq Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, 2017-06-17 at 15:02 +0530, Praveen Kumar wrote: > Tfour 4 redundant if-conditions in function __rb_erase_color() in > lib/rbtree.c are removed. >=20 > In pseudo-source-code, the structure of the code is as follows: >=20 > if ((!A || B) && (!C || D)) { > . > . > . > } else { > if (!C || D) {//if this is true, it implies: (A =3D=3D > true) && (B =3D=3D false) > if (A) {//hence this always evaluates > to 'true'... > . > } > . > //at this point, C always becomes true, > because of: > __rb_rotate_right/left(); > //and: > other =3D parent->rb_right/left; > } > . > . > if (C) {//...and this too ! > . > } > } >=20 > Signed-off-by: Wolfram Strepp > Acked-by: Peter Zijlstra > Cc: Andrea Arcangeli > Signed-off-by: Andrew Morton > Signed-off-by: Linus Torvalds > [Linux commit 55a63998b8967615a15e2211ba0ff3a84a565824] >=20 > Ported to Xen. >=20 > Signed-off-by: Praveen Kumar > Reviewed-by: Dario Faggioli Dario --=20 <> (Raistlin Majere) ----------------------------------------------------------------- Dario Faggioli, Ph.D, http://about.me/dario.faggioli Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK) --=-d9d/AfubGRHvXxNFtkbq Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABCAAGBQJZR/7PAAoJEBZCeImluHPuoqEP/3A06lXbjs98Ft8N+MwQc26F kOA5fazT2twJpbGwXILkVuaCOszbwSd/oXvbYPHNJDHDoNievT8oCC/Ht00RGczw prDKoCNvhOcozSia6xc9l1zC3nKmWsVlR+ahgBPeUNekDl1WCkJlxFL1Xkwqliru dg6FXJrIBXdEBWu45MHMsx+Dmfsn/XE8ckwa0TiazouLoTfOYEdxqHchLFdpfb24 KBOYJOu8F3RSL+Dnt3gJ9Lradg6VkUSh8vh1pBu632B06sWY6h9tO2G0+ZAhTo5G 417DM6SB7FWHO17MAKn2p/5uoe8UHrSd9+8Eezs6wbzZBrrDkReH96H2B1G72oBu SGxMy2BIQvvo+GlgjPuTtWqPivGqNOFpxKICRXd972xlXmVeDBiWHXrEXGjJ+kdV G9vC/u76dqxpBGEhLblw8RCl5mv4pSEwRi/po2ukMb4JJ67TdoSGb0vt3GM48Zr6 hDM8wwFncm53171hkrWMtkaui2iTesJpLjY4GgTXm9lHvMerRiELH7DHBjG8Mmef GbZEEi9jFWUeWqL3NXWmjb6jMrPNoQHYl+LwZHGk4OLTFt61YsE2fol+u3hPXSd3 T5hcsSlsK5iS2AjeO6+91Uvs+si0c3hdwPqQi3BMUFBq8vFCBKBf5TZgLSHYBQl2 YPs/s/3BOIcNd44r2lhU =q53A -----END PGP SIGNATURE----- --=-d9d/AfubGRHvXxNFtkbq-- --===============1532907147698693091== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg== --===============1532907147698693091==--