From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 16D7BC3DA64 for ; Sun, 28 Jul 2024 11:33:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 847E36B0085; Sun, 28 Jul 2024 07:33:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7F7B16B0088; Sun, 28 Jul 2024 07:33:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6BEC46B0089; Sun, 28 Jul 2024 07:33:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 4E7596B0085 for ; Sun, 28 Jul 2024 07:33:44 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id B998AA0249 for ; Sun, 28 Jul 2024 11:33:43 +0000 (UTC) X-FDA: 82388951526.30.36D3CFF Received: from eu-smtp-delivery-151.mimecast.com (eu-smtp-delivery-151.mimecast.com [185.58.86.151]) by imf04.hostedemail.com (Postfix) with ESMTP id 775E640003 for ; Sun, 28 Jul 2024 11:33:41 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=aculab.com; spf=pass (imf04.hostedemail.com: domain of david.laight@aculab.com designates 185.58.86.151 as permitted sender) smtp.mailfrom=david.laight@aculab.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722166370; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=We/h7CQr6KJ5YOUBaDtIYLNPSxlgHXqGfX+b4dWV/JM=; b=1omzd1okIJ3W4bej23RwnExR4yiIPK1pgmYDDKMZDdA4haKx7DLxkejj8HIuvRxBzFlCGi 9qsNKxnIPHH9TCmsrb+V/pgufjJErDWeutqx7vHKBf/tZW1paviJ1s2DZXtQdP9TqqU340 AQZjmX1/EBnspvgQ6EUTT4/tCdy1rk8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722166370; a=rsa-sha256; cv=none; b=zjtZeSgbh/LcSM3JSZpiDKykGexBFAFcWjgTnfnyimqNUYcfvebkcGP2skBoBsEUhQ+a1n AOY8JdwJ2UHZtmuKklo1rTDzMjkcLU94B5G1PuiP5w1Il9puCpXb7CLkeWAV//XVer9daT fIQb9JmGZEMnSYL4tNHUDOujxvxuC0k= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=aculab.com; spf=pass (imf04.hostedemail.com: domain of david.laight@aculab.com designates 185.58.86.151 as permitted sender) smtp.mailfrom=david.laight@aculab.com Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) by relay.mimecast.com with ESMTP with both STARTTLS and AUTH (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id uk-mta-29-Tl3nD_x7MSSkUJ-BHRYIjA-1; Sun, 28 Jul 2024 12:33:37 +0100 X-MC-Unique: Tl3nD_x7MSSkUJ-BHRYIjA-1 Received: from AcuMS.Aculab.com (10.202.163.4) by AcuMS.aculab.com (10.202.163.4) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Sun, 28 Jul 2024 12:32:52 +0100 Received: from AcuMS.Aculab.com ([::1]) by AcuMS.aculab.com ([::1]) with mapi id 15.00.1497.048; Sun, 28 Jul 2024 12:32:52 +0100 From: David Laight To: 'Lorenzo Stoakes' , Jens Axboe CC: Linus Torvalds , "linux-kernel@vger.kernel.org" , "Matthew Wilcox (Oracle)" , Christoph Hellwig , Andrew Morton , "Andy Shevchenko" , Dan Carpenter , Arnd Bergmann , "Jason@zx2c4.com" , "pedro.falcato@gmail.com" , Mateusz Guzik , "linux-mm@kvack.org" Subject: RE: [PATCH 0/7] minmax: reduce compilation time Thread-Topic: [PATCH 0/7] minmax: reduce compilation time Thread-Index: AQHa4EJo4d8H4E3lR3eDOQFKqPNnS7IL/3yg Date: Sun, 28 Jul 2024 11:32:52 +0000 Message-ID: <0b77025b520f439692e6fc2851977a0d@AcuMS.aculab.com> References: <902a9bf3-9404-44e8-9063-03da3168146a@lucifer.local> <137646a7-7017-490d-be78-5bd5627609c3@lucifer.local> <36aa2cad-1db1-4abf-8dd2-fb20484aabc3@lucifer.local> <93243310-22cf-4d44-810c-17629b46a33e@kernel.dk> <1d87456d-b565-410f-bf4b-91fe5704617c@lucifer.local> In-Reply-To: <1d87456d-b565-410f-bf4b-91fe5704617c@lucifer.local> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 775E640003 X-Stat-Signature: 6afm5mtkjodjepodyec53m8pgo1uqp8u X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1722166421-631904 X-HE-Meta: U2FsdGVkX1+CfcMYmzyEkfu8g9W0O0sYhfWATvqL3Us86Vl/iHmkpnl9w/SAWeNLUrFCfqTH8COKClcWnUt6hHIA/GBoHbfvtPlluZgrnpqp6oIFtbv09St7skFvVWFVhydnbFMZBSTyTIrk9MA3HYhHCg3VHt+g0ke0drx/nsKGm6yc6s6fVX6jR96JRLDptUbQiQ4S+8irujWZfrwOnKowwtzagvDd9Z+YnjqYLjkkb1JP8t/4ea6u708SajkLUUZgcPQW6U25My9vWNK+68eeYvbdVTT/km7557NgTRUCyijeiYZiP/zfgqsF8+u/7q+K4iBcGPQ7I4aJk/QcXL2zE6KQzS+vVSzKXT1A3K80vLud7yqaepYJ5D3SaU7A1KTlGpsD/tBm29tgd+ORaUNnEh61eGIee7CkMXVZZxhsHSyfL92huq+jDQ1LAWrcInPsiV+clWeu/1esKUGFWniaULG9MS4QkNbjqiw+kRJEzJ2xgQlnpm6apy+UKMyh3xg1s20et8YBHMk+/FFzpSUHFmCViWeWf4rsVayvOmilNNw4B6BqFmkGavFJnXWKN472cCl/LDxdm3SnNk7N8Au30t+9sIKHQt8muOSv1hl+gCiefglw8HKGUv7F9MXuYpj1Cqg7yocs+ydS7X/wAZOTMLgTLJNfaYShbOSeszmqChMZgQCiX4dwguXbCuOLhLyceieIsQsXSADtPpT+ym7Mj5fAiXNr4s2G6ramp7QSUcddJw4EqnIX70P6LKtZCIlYFAL4WyqCfR4hH52sSJbl3lGAlbtTFTS529oDfQNREK6B5t+ivJI2K/lyO6bZc56pMUcdG6wSvTw/RlB5Mz0wVF0VigZDhH9dB3KI7tr/HynMrvLeNWbE0DY3oflOYMoRBIVvbN9Z14PV0rwwSVQk4jDDfrHieWi8BHljVmb/i4YrxyOuoisgLiAdKUiAUxhaGyARpfZDJBl2weM m83s5Zw2 KOTL5L9G4JILhI4+/QWIRoZht0voA43ovNy+PUlIFPX/8sLWhmoYmp0Mrcxb7reG4+HDgGpkMiKyuuEiSz6RTpMu1lBIjGvtQ26fpJwm6NtJxGVe1E4DUyMPvbb2P9mudb8zJQ8LK6dB7hsT+1VKRx/haGKoX74FkYC+t9GT8bpohHoaXUE7jJ2L3zIrF3B4R4iUbrmqVxxZsp8OdZRigOojrQaSul2fnPG5oQ11hjVwFqXLkbgHrT+8aam0ayMZDv9uOPtbuumUtIH00xkKG1Ta2mmQRLbNptmPbMVGW4wbXT3/ZkjMjZEZCWToIjugdA7tOPkDaZWE5JkwOBP0DJno+szuhTDuzfpHCx4yUQfIgo6A/2lyGwWZulgYJo/EkgTMk X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Lorenzo Stoakes > Sent: 27 July 2024 17:31 > ... > I tried this patch, doesn't seem to make a huge difference, going from > 3,958,564 bytes with longest line of 82 kB to 3,943,824 bytes with a > longest line of 77kB. >=20 > It seems that the .bv_len =3D ... expansion is what's doing it, so I trie= d > patching mp_bvec_iter_len() as well to do a silly ?: thing (sorry), which > takes us down to 3,880,309 with longest line of 20kB. >=20 ... > diff --git a/include/linux/bvec.h b/include/linux/bvec.h > index f41c7f0ef91e..567522aec2f9 100644 > --- a/include/linux/bvec.h > +++ b/include/linux/bvec.h > @@ -101,9 +101,14 @@ struct bvec_iter_all { > #define mp_bvec_iter_page(bvec, iter)=09=09=09=09\ > =09(__bvec_iter_bvec((bvec), (iter))->bv_page) >=20 > -#define mp_bvec_iter_len(bvec, iter)=09=09=09=09\ > -=09min((iter).bi_size,=09=09=09=09=09\ > -=09 __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) > +static inline unsigned mp_bvec_iter_len(const struct bio_vec *bvec, > +=09=09=09=09=09struct bvec_iter iter) > +{ > +=09unsigned remains =3D __bvec_iter_bvec(bvec, iter)->bv_len - > +=09=09iter.bi_bvec_done; > + > +=09return remains < iter.bi_size ? remains : iter.bi_size; > +} That can still be a #define and still use min(). The important thing is to assign the result of __bvec_iter_bvec() to a local variable. So maybe something like: #define mp_bvec_iter_len(bvec, iter) ({ \ =09__auto_type _remains =3D __bvec_iter_bvec((bvec), \ =09=09(iter))->bv_len - (iter).bi_bvec_done); \ =09min((iter).bi_size, _remains); \ }) Bloat is always going to happen if you pass one complex #define to another. =09David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1= PT, UK Registration No: 1397386 (Wales)