From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755004AbdCTQ4X (ORCPT ); Mon, 20 Mar 2017 12:56:23 -0400 Received: from mail-he1eur01on0133.outbound.protection.outlook.com ([104.47.0.133]:3200 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753104AbdCTQ4V (ORCPT ); Mon, 20 Mar 2017 12:56:21 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=virtuozzo.com; Subject: Re: [PATCH 2/3] asm-generic, x86: wrap atomic operations To: Dmitry Vyukov , , , References: <6bb1c71b87b300d04977c34f0cd8586363bc6170.1489519233.git.dvyukov@google.com> CC: , , , , , From: Andrey Ryabinin Message-ID: <4cb2bd62-7345-25ed-2cf4-11e4d2579ca6@virtuozzo.com> Date: Mon, 20 Mar 2017 19:41:16 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <6bb1c71b87b300d04977c34f0cd8586363bc6170.1489519233.git.dvyukov@google.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: DB6P191CA0016.EURP191.PROD.OUTLOOK.COM (10.175.236.154) To DB6PR0801MB2055.eurprd08.prod.outlook.com (10.168.86.136) X-MS-Office365-Filtering-Correlation-Id: d2a96b53-a6ef-49d5-08b5-08d46fafc8fa X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DB6PR0801MB2055; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB2055;3:pwFJYRxXldDGGC7b0DmZZtIpyw698zMA152N3r0YfsG9viGVpBlzqxflsVhr6J/JZEgKJ9qUkkHds2fct1rRBu+zZm5ybEdQ29iOVb2MsX5aSAhwkhMIIehjfqo8B4P+U8p8EMHM9F8ILj02cJqwF41YU1sSa39EvF2J3T7n1WiE3IoaZT1UNWRWQ/VRH5BJor4zePmdYHueQ8BQijZce78+G7WORxgsSDazvZm8XWxRkvwjOborUMorBbATt5apEVDOuoqGz0BaYRv8mEEb+w==;25:7nwOTnOwQNFw5nAIpvx2JPIAarDcwqsDa0KgdWGIeS5qcBs7AfVkVI5ldTiUOQBmE8+yq4b6nkCZOx6N1HwU4ToNA3XeWFM2TSkvjwQUf3SSU1aDNrRFzpQzAqHizL/tuLKNEpbT3wyNXRpgveddkak71Sfr/OryeMlwmdcZddy+/m0TxKTrUi201CdPRRJ62FVfCEidkTYExHtB/tM1bSJxHfMbBf5LzCsvWPGNpyXWgye6bLN5c6CLNyNMPMBDgDWW8AWLfHwSaTC5paxXx9gCBunvRbVYX95AxHAWKrcWjEqcg5BYPiCFWYE+qGd/VvVQayKCWNiP7B8VwP1H3BSLWrpHB8IRbHqTDXly/QQ99m665eH8GfaavkWFFSpmulE5XpQlZplKFCRXjCbKT/PUEj7z7Fh5UiVk1/jPjjiwJlf+l4htnEdY6EH9y2FOqTu7Uiw2yB/I/xkHRkF63w== X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB2055;31:XLiypyi8R8YH1bq59LEBpG+K2zYB/GS95j+ZTWT0Ig0vHg366Oh7OXG/LnLWj4l97uaymcyNBngyvc39XONs9c56fGol1uJonGspqDst4K0mysF5g8K0MoIzxfRWDVpvZXOBNziVrLttjykDDrcAkAotrHqLu8Whg0JzAvAdglQ9VikUMmLl8PqCeVk/UHRvYwkNoRWbY1iPJvAubVcvFLR9UbWFKwRl4GyCuA2wMTdcbeElPuH/6SF+sGS4CcTeutLW2bZI8qm9mN+LYXDjQg==;20:izZQMyjWufaR55ua34dw/l0ZbLODBnP76kXuxePwAy9Ru1u18QW3LuoDb7V1dyfLBWZy4mTHgVaQUOBDXIDQHYlr7r+Mv9jGEO9mc3HsspU/7dtwBLf9sog6kJmtHEV2tx0bctMPXQoebQVEgGa9ibbEIcPTxuKcsbGEmL1rqEWrB1kivkDeUouehGdDxOPOnpUr0NbEV5/Bnot1bwFZs6uK/t1bwko/IrBwM1svsAsYW+8osRx0tU6sgqQxaLS/sN4WGEKPwb9IyVSWQFCLdZpgpbW67GYEa56OBFtUA+cPtPp2OE3Ef7K7V46tRBX/UGdByvbsqPtWx9xnl6dHlg4RBOHLQYd+OZwxySq6kxC8st2sHa+4RdxfUF/NHT0o+it8ZmB9fq8af76GM+ukP/peyKHtM1Leyu59lz09vMw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123564025)(20161123560025)(20161123562025)(20161123555025)(20161123558025)(6072148);SRVR:DB6PR0801MB2055;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0801MB2055; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB2055;4:5mNRqwB0U77oUA/NFxwInO31BysyDRf3gzPD1oH13P1QB2DtiUzy/rtBlM3y/26xlkP5xezX/RKMKY/GFSuKtyOI9jcfFL32f/SgSwrFFCBa2sPupqhtY/eV/DXlrVIZaIH+vfPQCIog72KUljQVX6zZl6Q0yCILoiot5a9k41X1bOSdFWKqs6AcNtmuQRTNd8g4ImQXScFA9F4AOJZB83hi/eyrSaAHUVxneFol+A0mKHxrStyqoC52h/GBUSCM1P0nfcxvSxDg1cRMhALVRWViujulRyAfCZfwWcdomu6aJzyv2810CtFrzq+k41VR7Ix6KTSWGSYafm5PCp7NMqk+lPBmqtcDa/b1z8EIXo4PRaqQ5wra9w6jqiSwR5ytyMGGo5ft6EZzs8Vu7zKUqOTkpROIHhLWeUUa4mvrbZv8QWykatG3UrcWzftxctsZP39E3OIk2ncpj2Jfzfg7PCfdzn5dbuqkSYhweiUEh9MzGKgTQvvt/3d0OdGeLq7uT1Y26J8RvnTwccxaII0y6BVs7YZ0Qn3bP2aJFx3JkQia1GRWQYbJ3O5jIhfXKQRpIQZIFmUbhe/sPxMvZhc3qCd/CRz/GhEclpwRjqoYLnM= X-Forefront-PRVS: 02524402D6 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(39450400003)(24454002)(377454003)(77096006)(6246003)(33646002)(65826007)(36756003)(90366009)(83506001)(42186005)(6116002)(189998001)(23746002)(2950100002)(66066001)(31696002)(229853002)(6486002)(5660300001)(64126003)(47776003)(2201001)(53546008)(4326008)(230700001)(65956001)(50466002)(53936002)(86362001)(65806001)(3846002)(25786008)(2906002)(8676002)(81166006)(38730400002)(50986999)(7416002)(7736002)(54356999)(31686004)(76176999)(305945005)(4001350100001)(41533002);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0801MB2055;H:[172.16.25.12];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DB6PR0801MB2055;23:fru2QUevobk9yWjDi4b/o3oyBN9EgsHcxl+?= =?Windows-1252?Q?JGyVVP0XRViLzIvLQhrtGFq8/aB5baX6tg1CwHJUMMRnPt6XecuYUqUO?= =?Windows-1252?Q?E5m/xLDCBhsl2a96ndqsBLqQBQdXefG8nWc/cOusnsvpA58P4kNkAig9?= =?Windows-1252?Q?txdckkz/ra9VqfkmBWEP5D+JGrN/OKuZTClM/qqnWBsPXEz/3m4fJuy4?= =?Windows-1252?Q?jlLFdlYMd3R0vOWjiOcIXOYdBDjrP12cclr/MWv/Hsv31qfMT+l3tdFp?= =?Windows-1252?Q?CUaxp0CMiOti5Vl5lNXWbLaXb4O0ma99jLkF0E50xKQ1+DrGt9iWxrTb?= =?Windows-1252?Q?/vhQmWr36P9Ji997ycTmelP37tnvtAbR3th6hpjQcjpCR2kCgdDwcN4o?= =?Windows-1252?Q?Nk/PCLdnC4x86OfSM85ITziqLMqHJ3FEMEI82BPxHTQAZiFe6warVbKy?= =?Windows-1252?Q?HQXJzU95u5aMQJBLfVHuR4xXvVKtSm9xI7GdGG3NjsfSQsx2j47Q8Cts?= =?Windows-1252?Q?XLls0smxYD7nAfiHlt7WcVBHqL/gZi53CPtgB3/efAPGl7cenyqXAXC9?= =?Windows-1252?Q?JnTx6NOzDhm/BW38nrLabYX/ySZMgz0p9SST7ACAj1Jo8+ltA4JAIHU4?= =?Windows-1252?Q?UF1Ow/WF2kA3rxsbslDnQ+AiQpqMs+6vMzFyAMwo0WjAVzEF1TzzoOcf?= =?Windows-1252?Q?qxgmKQYC0Sz6iVe/supwRov2sC15UztzUYrkYvfCG9Wjyw7+GacS/qfC?= =?Windows-1252?Q?g0Z2534P531LoIiLUKfJVxw4OH4nA1py/rK2CmuhQfOHT8PuYqBf418v?= =?Windows-1252?Q?twz8Wqjw333L1a0grKpeAuoyeJ2vQRNjyLLYtYhYIvV+BUyvyclbsu0p?= =?Windows-1252?Q?Qkry0aog8s/ZUq3/z0OO8ryysSby0Fh/s4gmwl2tIqnF8niVF5Yt/Mn2?= =?Windows-1252?Q?kAU3KPTz/JgVHW/4R37Ekht9BlcbquVCibzRMYR6TbY7p2R810PG48k4?= =?Windows-1252?Q?DMO8GoVSbtqz60jPUr5+rD7YIDMffJS22hbEltPQtUuKW4Rn9/VGz7D7?= =?Windows-1252?Q?C5UazJvQeq4S+TLfFw4kj1dhn1noSu5qe0nZAR42L6liX+yhPP9BB/Nk?= =?Windows-1252?Q?dTFjHxnew2RsPFg24eNXaRZrVRSK1JK3VeQmrHOs1bp2y7K6WkNauCCw?= =?Windows-1252?Q?U+TqAUfkqK05JCg+T/BLvaCMl7hN9Rc8tKQC2ZV6seBvhlTnrNpH79bp?= =?Windows-1252?Q?syt8YmcYJ3QoAMowKma4d5VUzeqeOlZE8aaOz7/k=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB2055;6:111wEgkUZiQURszxWcZjdp5zG34yrQcZoPOtEibeBOvRjnxnsxplJtpi/7deCaS7rEkXTYUIhARjjbxcmvsqrseRFjTvL/t6QhsVC09B4ZBc3AdER0jwCOd8T7Yk9Q89+6wmEf9m2tS1iohpRjiSqbOcgmiCaMrT1aLCKIpaP1+5GezUc6tF0O6FO/svw4ciHkcEETfcmTXmKo3OyuGK9WP/82jSQ6GimOW2aZArCmvIUPyokG6L2h3yWqbG16amGgGIV+WGkmdv8DnheIiyZLCVwwVZW0mQkY8QkdqCKbEmMMeXZ82sHS/HEqtP3+19RIpYJv6GoVD4yImMDuPkISicu8GJ4sqGjwaoOmFHO8QgCAdhMzd5wviDGHETt08wWYX36YgS6dFFB0aAIuTZzg==;5:q9HIA14ekUwVgS8BWkKZ1Z0ciGBirChyWt+OVHZO2poYAfb8jphfzTweQgHaoXJFPgnw5jK12q0I8+i2MvfqKlg4jnfsuZ1p5tIbaoeXZxNsUqBTvFXjojmcDABX8JBAyjNi8RiR9tDNPSqKyI5LjA==;24:c89GH1esTJm27m7wE8xfrqxgsTAh8W5eOi1rIksOVxDYoXreS0EGyXZXIzmS1L9iwz9mdDwDXRUKX0QmPmWIWn3T/OOkWiWiflvN3kHxVm4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB2055;7:sRoso/NUKaZqSfn/WetQIVEjkUdj8gP/0WhJoCkN/uHnqj0cKCc7G1tTlqueQVvDO+JKJ2FO8YS/oCPW76iHd5DJVvXY+rLfhCz797xitrTSFXLWqOk518JPGhgI09fyg+/WxHobIi+IwHBZa+iEnaK4x4/Xh3lMgEBAicY9+k3sFNPcSzhFZ1vSPTLxpvFn9Amigvh3a4hR60Fi5mf+1VgaMHA2fCR3HrykzF6sOmi2aBsRM6zjGSZoi6yYAKW1+m06swm26QoLnVm25sPjWVEU1bhT7MuXN/AJqLxBdSSv2QTGNczUPtCrTgcAr/fS991epZ8cis57+sGE78qk6A==;20:lhu6kvRj3rVeM2v+qFQwL0LKxJUhyjo8ABlTeQmp7pbG4kzlPjVWb8YPCcg1cVsekm2sak78/OD3BCMg4+L690zXBolaKgDmKUG8i7ovf2LzfRNkqxfBlM2GoklqjI837xL6NqtDQJNrVVkWigMM3zsKGua2HWHZL+rKbFmd5X0= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2017 16:40:14.0135 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB2055 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/14/2017 10:24 PM, Dmitry Vyukov wrote: > diff --git a/arch/x86/include/asm/atomic.h b/arch/x86/include/asm/atomic.h > index 14635c5ea025..95dd167eb3af 100644 > --- a/arch/x86/include/asm/atomic.h > +++ b/arch/x86/include/asm/atomic.h > @@ -16,36 +16,46 @@ > #define ATOMIC_INIT(i) { (i) } > > /** > - * atomic_read - read atomic variable > + * arch_atomic_read - read atomic variable > * @v: pointer of type atomic_t > * > * Atomically reads the value of @v. > */ > -static __always_inline int atomic_read(const atomic_t *v) > +static __always_inline int arch_atomic_read(const atomic_t *v) > { > - return READ_ONCE((v)->counter); > + /* > + * We use READ_ONCE_NOCHECK() because atomic_read() contains KASAN > + * instrumentation. Double instrumentation is unnecessary. > + */ > + return READ_ONCE_NOCHECK((v)->counter); This is kinda questionable "optimization". READ_ONCE_NOCHECK() is actually function call to __read_once_size_nocheck(). So this _NOCHECK adds some bloat to the kernel. E.g. on my .config remove of _NOCHECK() saves ~400K of .text: size vmlinux_read text data bss dec hex filename 40548235 16418838 23289856 80256929 4c89fa1 vmlinux_read size vmlinux_read_nocheck text data bss dec hex filename 40938418 16451958 23289856 80680232 4cf1528 vmlinux_read_nocheck