From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932280AbdJYRmJ (ORCPT ); Wed, 25 Oct 2017 13:42:09 -0400 Received: from mail-cys01nam02on0057.outbound.protection.outlook.com ([104.47.37.57]:52352 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932095AbdJYRmG (ORCPT ); Wed, 25 Oct 2017 13:42:06 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@cavium.com; Date: Wed, 25 Oct 2017 20:41:46 +0300 From: Yury Norov To: Clement Courbet Cc: Arnd Bergmann , Rasmus Villemoes , Andrew Morton , Matthew Wilcox , Ingo Molnar , linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: Re [PATCH v2] lib: optimize cpumask_next_and() Message-ID: <20171025174146.577ar6igqpkcbzin@yury-thinkpad> References: <20171025145938.wpr7spsujounqudk@yury-thinkpad> <20171025152841.6746-1-courbet@google.com> <20171025155014.ppsu6hkwnhh3fjxp@yury-thinkpad> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171025155014.ppsu6hkwnhh3fjxp@yury-thinkpad> User-Agent: NeoMutt/20170113 (1.7.2) X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: AM0PR0402CA0006.eurprd04.prod.outlook.com (2603:10a6:208:15::19) To MWHPR0701MB3835.namprd07.prod.outlook.com (2603:10b6:301:7f::28) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9bfcc7c2-8239-4d4b-665b-08d51bcfb383 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199);SRVR:MWHPR0701MB3835; X-Microsoft-Exchange-Diagnostics: 1;MWHPR0701MB3835;3:qSeoiQHC9ajjxH2/EFxQZV8LozmGux/u3kPJf36pujcWmXF7F8JfhKApACTCkhdcMhxFC5e/k1gGolf+fEiSgdwOUageyTmzezMWQtSHwwFzFJjh40I9PISN9M8nP0thpRhTgyr4vIId9wFCj1ZPMZhrdVFCMJKrRLCiEjT33Qa8hRw5jD9mOZQyoPQIEQ4OpdaiRXQwP3jZmRjCXvjz3+S1FPrD4tLPVMd9bTmZmFIbLKMK3Uxxib5H0Jl3/HSf;25:CnS5IrfGibRQ9odcTLjD4sRbeNOUYd0cCuUq5/KOEIcGt2L+5E8G4kJZ7OcPZSje5fRmQlVzlKNqGnFs1OaXg0PRGTB9/C0V/VM8noaryGikyY52W/Fku3Wb4anJkqBfiNpbQKmce6HO7+CqLYVbw0Rkotatx9NO2yChYENqyHh/s/vzhT+ZO36IIK1gWEUcMWGXY9x7pMcTbVLxzqLccPtw5d5v5y8g8ilaAbq6OW3JyzHu2f0rhLl8+dzQuKL98RVZtWjdwP/cjOwcBUnsRlSxp1I88RQUqaTzXm574Ioiz4o1Jhfh+BStL0LegiDvTZAyvj71EfVHt/pZi8UEZQ==;31:cp3xyZMwY2v4jCui48mpNS40KdAdEaAkyM7/ccrPv34EtGrTbQ5dkRae9TlLXoBQuD4X5Kkdh/A08+OOyIux2hiMzjVSi3DK24CND9bQyzSB9wuldm2321DKOxZFZK/0FONWDeyjjYyrPQupsqToSfkc1Snk/6nifLCiAksghdbU7GgUiXOR3SJxfag1whYs7XFp/HkJMD4OLSINMRXzj1SBVxPF+CUyDp/o6RCuUwU= X-MS-TrafficTypeDiagnostic: MWHPR0701MB3835: X-Microsoft-Exchange-Diagnostics: 1;MWHPR0701MB3835;20:i6aq0SgLC5Xv3kIsYq/OmcdZthJJ+1ee7nmKqKuS/E5ogaW4d7wzwBTqHBNOmtSe4/3TC/1LS4PqWm95o7AMKans1mvY3QZrCMFjiasaRJvf0kl9g8sWSLHev7NE2wzIzHxx3H4RFmP3YFRMIXY6aEZRnffVwqSdI0gdkir5vHE4pNYFoAweDmS2diBWm/BSFv4Gl0fCAeRuAYzoe9XlTSBOxGQ0vAP8EQDIlNAPIpBhIK0X58XF5qLlSiVgvULDCn3bQSaj0PjPBERFkhq45Rk4uRKBJl19+TzdY1ER58gd42Q/+vmnnd5Q6RrpK6C2sv/+y4jaL0jSmW3PAr3Is2UDiKJ1QObMLvKJWqgYQP3FuCx8giHPFM06IyO1tG2Ngkq3sj0WrdChvQQN5IdqTLRMwyL1IB2XbLD1zb1xI5g9BuAodGg/m0fIpRz0eazaf9neepGSSMmr5Qihvtf8pBg3IBU25otcxX/wl7JNT12x1LRJqPyWhn8VJOWUkVMffl8mCat+C9lscM8WhtC65+T+lSAqhlN4MvIgxUvepqTXW2g1TPPiEzyZ0e9brpYXaiZX+OIoyIqwrGIkZRo3UtfPThoQAt84q2PkQrYNkEk=;4:+s5XufH+/pKPxx1ZqtwxndnRKu31oieGFDc8hEAHh5GBypPuHvq+Q5v77T3dQwm1yTvRRxZn7FuCMvm1tnSMcbYOCDLnWqOsrircrLDMPl3Wr0Ey4i6EH0m5cjUCpXhstMtfTsrwA//RAdFjJA6A9Rs6iLqpIsYWcJFUmcBLbbH0UKHgVA2N0+XmNfzGjcC85ss3aQsnX83Bya+eU9AIz8bdaqMCHXLLQMk8rPRq3fuWf6ljtMwDC25f8AagAQtiRFjxiuvSeP40VtAqebpvOw== X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(3231020)(10201501046)(100000703101)(100105400095)(93006095)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(20161123555025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:MWHPR0701MB3835;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:MWHPR0701MB3835; X-Forefront-PRVS: 0471B73328 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6069001)(7916004)(346002)(376002)(199003)(189002)(51444003)(51914003)(24454002)(23726003)(54906003)(6916009)(2950100002)(42882006)(6666003)(101416001)(229853002)(1076002)(16586007)(66066001)(58126008)(6486002)(47776003)(316002)(81156014)(8936002)(81166006)(8676002)(76176999)(68736007)(33716001)(25786009)(7736002)(54356999)(50986999)(305945005)(8666007)(6116002)(3846002)(5660300001)(72206003)(76506005)(33646002)(106356001)(105586002)(478600001)(97736004)(83506002)(50466002)(9686003)(6246003)(2906002)(6496005)(4326008)(53936002)(16526018)(189998001);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR0701MB3835;H:localhost;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR0701MB3835;23:6Q9HMcGEPmWrA7cLZ6hRhuWyqtd3UZfNNhMlQcC?= =?us-ascii?Q?eG6II4GvIcBGwPHKFkf+7ODjIuE5A9pEl7ReifztpmoLQYtxW2cNfd5v4QDN?= =?us-ascii?Q?l6r5GszKncFEM4xeijNrXxsoZaheP7seeOMGF94qMwT+j5XdzO0bmYAl5li9?= =?us-ascii?Q?aJLBSqKYTb2Ui29SLuMW6rfe+b0JPqdshwbjUEVKOPzc1CcFwrKw5diUTB4S?= =?us-ascii?Q?ooP22Zvx9cf/ZvDZbyVNPXqcG+iPcyB8kHozl9PTdV9LY0tv5K2+HxXTddhW?= =?us-ascii?Q?G398WTMV08rNDFUEWqYrI72L9lg7w79xGLPNqxCqz0PGWS4pq99+aYTdF8rK?= =?us-ascii?Q?Hsu1qkkbJY3uGYmbMZAuTKiDvygV4dQHI0l5g40VcrySVmwgX9GOpEU1dqcp?= =?us-ascii?Q?jPltwnEhOl8iHl45gbuzjT5j2zhspVgpzu7tKevSRXdtzY3lMpIC2GeEqFxn?= =?us-ascii?Q?a53fXBnUJwbrsOcbudHzjmp8Ku109tsYgJyLXa55xKBPGRTL/XnLFxJ2TpmS?= =?us-ascii?Q?8J1jlFk7ZV+p27i1IIzK3X51YA8wcFVobkHV2ZGcjB6OQS6TXocmAHFlLl5P?= =?us-ascii?Q?L59AvjOH6VCOJ5DnYhzwHWWtAixOz8Jsx5kmNT2irgq30i5M38wMGLFofoLD?= =?us-ascii?Q?GWoRRkTpVXam/WwgOY66kG3gpSr7Mv9RMmg75oxuBYVP0/tNvzFEp3kBpa9p?= =?us-ascii?Q?eniju3to2uGu3xB+c0f88tOGKT3hGGTBqAE18M2ZzH3Ljv1nxesYjgWZnCIt?= =?us-ascii?Q?j4xX2f0h8vEjipKp6VF08jNHojIajijeGVVUlhCK5uVAg5nRlHmkaIEKZIwN?= =?us-ascii?Q?fCVnjxbk3M8CvIfGvS0C6apcmLj3hE9sDM/q2mQfB8HMLWsb1cRqydlV0F+L?= =?us-ascii?Q?WH9knHyrdyp2r5BzVLk9eKlQ4SsOU8ddJyDuE0ZOwK6gybVWrAOkCrWRTkBw?= =?us-ascii?Q?9LdE4JSTUySG+M6U5EVQYqgrf9g2DD2JSQBWTluvyfrGUdOk3/7ItZJNI87a?= =?us-ascii?Q?sOtFSAFcBjgbi3rfSaJq8KRZ0i/tIrtD4XexmfaAs6gRE/eD3UkNB2MgG3nY?= =?us-ascii?Q?pta5d0HkSOsmgN+6ks90dBbzYkmpIrBFtm+FIe0Of4zVdkHmSsFvvlpmIVbx?= =?us-ascii?Q?5mE0tNEvBMABDAKKuH+4fu0MIURjtViEL1b2gholkYX/HsnjZsfl+d82CkBl?= =?us-ascii?Q?zvEph9ppleBt28ATjf1NUdP75R38bfn5jPWn0my/idvuZojn0oQQ5tUGhwcs?= =?us-ascii?Q?vJuImPA8yxGrf51tN2CdBLyNcm9/D9KI9Y0MR7vnl5ftF34AEtt4WWSBJgTf?= =?us-ascii?Q?cdafy2Oe0thqR3yKv0CErB/k=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR0701MB3835;6:LJ7EPSm+nyhy7vrdyMVH01HbgsI6/YrRk9l5jOzJDgiveGS2b7opwtXFoOW8dYLB+B/6kgV2CGj3bfONIUKrWl/f2zLNPt1qhZUp6gZl4Lcd9c0aj1NwfScJeafJoztDufclV4Iy/uzbve0HzDL+Qq03vFU3gBoTrflKBFHCg1tG2DdpXq0+IXnHwnwODIfG2+Vn6ZmcDXJla8DiGkjzG25E14UjKimXQKEXcGbKw2p79c4PW4Ylouv1mIHfHU9rjou6SmCVrroBb1onCETGiaUfxNIpGQEUmRac/FT2kQ5ELUQR/hjfhA5UlhZsutd5uopb+aQKVwxJcQyBO0pZITG6YQnKPHrN75aWw2o85ZU=;5:fSWcfTmkAs6w78xrPxdFeu+xUsA9zaxS+VTy/V/gmPpN3jA3WqUuOtXTKVzHwOr6Dy3xb7hD7CAq1P7i85NyW0RBp/+TRfomp74pa2yhO40KygHU5vy6/Sd4bj001D1NUUQn2ss/DscO/28acY2vhnUQHP1ptRVMDJMQaK5nlWs=;24:3Qo49fRCA78/AovaxfJ/hE3MuoLRfMT1sTWg0+9oDDu9GxZIDvdtRRIqULel8qR467yOTAMFCFO3T7tbhTq8oWkL2bmU44k4cr3NcH6uCZg=;7:ZbKbNjrpy0ErF3lGqvQy0MHoGxJdsFE/D9GiIVhpobNProAJ1SzlWA6Pavw4XD7m9Pb6AmXL5vWD2jCySae7ffaN6kVG9XvUspnfv2LjfzQ86zvA6+fwpDXIHPRUTMMriKiG+LBCXfywePNqvcwe4PC3/stkMFcpu0Kq+lSYHzHAeXRNe5gClrBXx9TmkLvTKBD4qjTKG0vyiIOKmr/inwn84dDhGZnm8C2GOk6IsachwBB+9v3lJvTnQeme1TdZ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2017 17:42:01.3581 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9bfcc7c2-8239-4d4b-665b-08d51bcfb383 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0701MB3835 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 25, 2017 at 06:50:14PM +0300, Yury Norov wrote: > On Wed, Oct 25, 2017 at 05:28:41PM +0200, Clement Courbet wrote: > > Thanks for the comments Yury. > > > > > But I'd like also to keep _find_next_bit() consistent with > > > _find_next_bit_le() > > > > Not sure I understand what you're suggesting here: Do you want a > > find_next_and_bit_le() or do you want to make _find_next_bit_le() more > > like _find_next_bit() ? In the latter case we might just want to merge > > it with _find_next_bit() and end up with an extra is_le parameter :) > > Both ways will work, but I think that extra is_le is too much. > _find_next_bit_le() should be the copy of _find_next_bit() with the > addition of swapping code. > > If you don't need find_next_and_bit_le(), don't add it. > find_{first,last}_bit() doesn't have LE version, for example. Few comments more. _find_next_bit is now referenced also by find_next_and_bit(), and so it should be added to guard code: #if !defined(find_next_bit) || !defined(find_next_zero_bit) || !defined(find_next_and_bit) static unsigned long _find_next_bit( ... ) { ... } #endif It may be essential at least for arm. Don't forget to synchronize your changes with tools/lib/find_bit.c Thanks, Yury