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 A3762C3DA78 for ; Tue, 17 Jan 2023 13:05:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 304006B0074; Tue, 17 Jan 2023 08:05:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2B4466B0075; Tue, 17 Jan 2023 08:05:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1A28A6B0078; Tue, 17 Jan 2023 08:05:47 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 0E1F36B0074 for ; Tue, 17 Jan 2023 08:05:47 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id D5DA51C223B for ; Tue, 17 Jan 2023 13:05:46 +0000 (UTC) X-FDA: 80364313092.01.08ED0CF Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf24.hostedemail.com (Postfix) with ESMTP id 34635180023 for ; Tue, 17 Jan 2023 13:05:41 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=Ba3guL0B; spf=none (imf24.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673960744; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Jme9zz2lpphQFdQzWSwDey8PeXCFcOvKT0bkE6Mbk38=; b=r4cHxD+50b3XcQ8Ua8JKy7HcqD4upi+XhFrx7E4+W+Sf4PIU5ikjNHHY0JcYJsH3j4FWXe fp8a6ghcB9xA/BSggOml6ho/RYF/lqzQisrUThc+HUiOO5Knuo3Gkua7mckUHCvzZSjiMi EyagdAIOXsSqVAfg2Uv3KJ9XEXWiYp4= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=Ba3guL0B; spf=none (imf24.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673960744; a=rsa-sha256; cv=none; b=k/sdbwhWtgaBOKMBBzly2MuO45xWU0hy0v5VcXoCFgdpTe8saA+RO2d/hKkIm4SRDOIg48 XN6oh7hGyUI8j4e1+si2Lrlc34tMPKZTMV+5tGnEOo0dRfEubR8WQ8GMdDM94Nd2O3cF+T bmhz0PwU6akz8km1E/4F7O1AL2nJsdA= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=Jme9zz2lpphQFdQzWSwDey8PeXCFcOvKT0bkE6Mbk38=; b=Ba3guL0BWUgd+jP/llCnOAhXLF Hnv6WeFYTdqcpMKQlUG9YGrc0FO1Bv3t7ux7SiCcujeC1p1NOV6VZ0bNJpfJ7wT/j62DCMuGfUNFD RvkZjmcqXsXp5GGw/QCeOt+zQia8tysEgFE7TZQxtwXbqJp0F5I2HmEVxEuQdtdyX4DNpzrRHXCl7 /CV2MTTSradvHELrV5oyiE2gadTyfn5NJiN3qbNHX0RzEqMh3z9BJFkQj3uqk/MFkolkUQ9TysK3+ E64xzeM9j+54aHPwWsl41/OSc3ueHtPADUWus2j2m5f4zJe06yEMjdZfZs2t3IQqHReZRwPLFdNSx sJqMYJIA==; Received: from j130084.upc-j.chello.nl ([24.132.130.84] helo=noisy.programming.kicks-ass.net) by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1pHleN-005wDX-0T; Tue, 17 Jan 2023 13:05:15 +0000 Received: from hirez.programming.kicks-ass.net (hirez.programming.kicks-ass.net [192.168.1.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id A6581300094; Tue, 17 Jan 2023 14:05:22 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id 7A24B264FC770; Tue, 17 Jan 2023 14:05:22 +0100 (CET) Date: Tue, 17 Jan 2023 14:05:22 +0100 From: Peter Zijlstra To: "Kirill A. Shutemov" Cc: Dave Hansen , Andy Lutomirski , x86@kernel.org, Kostya Serebryany , Andrey Ryabinin , Andrey Konovalov , Alexander Potapenko , Taras Madan , Dmitry Vyukov , "H . J . Lu" , Andi Kleen , Rick Edgecombe , Bharata B Rao , Jacob Pan , Ashok Raj , Linus Torvalds , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCHv14 08/17] x86/mm: Reduce untagged_addr() overhead until the first LAM user Message-ID: References: <20230111123736.20025-1-kirill.shutemov@linux.intel.com> <20230111123736.20025-9-kirill.shutemov@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230111123736.20025-9-kirill.shutemov@linux.intel.com> X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 34635180023 X-Rspam-User: X-Stat-Signature: 7o3wh8zyer4du6co35h1suorhcnuohyf X-HE-Tag: 1673960741-648262 X-HE-Meta: U2FsdGVkX19VD7ZtyaCn+gdrmfmGudzBHwQlciSODTA0MIPzhVUw31qumzNgbtFDL0VRSNH1NEw2HNmNrIH5klKQGWtTIjSg6VFQfiuC1hAsPxOekyoI4K6t7IxizH7mogtv+0puCgTtQoVGLnK06g8G9w/a/ZJ99PSJsvMPaE0SVn4mmYPMfb2Uflm5WH9tCe9tDoBvNHHnxd6xhnPP96JS0tDcaEP/3C0KKWQPGeC8QjwVpCcQaAh522Tb6GOshITHkMscmrduOlL+aMsC9UKc5wXM76YYQxZHL8tHtBbtBVhC1Fa6UPzyMKMUSUSgOFwsLwF4cR6Qz9aZbbxMWCALaLWfBeM0ZooGnHdD9oHk8xFA7ajI9I3ClNL+1bUM25ETaSqQhC4X4GRJcQwLXW/FPmDOB6TNdao4eKzeOlMZEgvIOfF2dQJoWqnKWTV0R0kAKXl4boZNlUVNHkEVsstslkOn4eCGpBNLqcnv55kEUHf38qXVRAnyCqwf993NLqLUCR+fXBTHMII8Y1B5EaboiowRYFqzHEwgFvVvELG2S241hRiZodIGm0zoShP85BO840OR2k9zF039I80KWy4dzTvxrDcko7NWThzQLMucgvPF7rxXSHIyeUtQJEO1J0FLTckfIuSmCZXI9C5QYujqgHCTRxIS+ddFaSI/rmqyKcJ/o/mA16YLnbEqA2A/rzMxowTAVtCBi0c2Xmz0NDEG5y358ZN9EghAgr0F+Z89RW1Mk8YAxD0mLCbWawvV1N4erc1+RWPUT3JdC2llJgk8jkydIvysU++bpqMNflBF5uUnICWTfQI1zUAnxoAkZtvsi+1m9FvfsKJSVx+pudgiwsgqaCNSlm9D0vDQaVrQedd2hUYQzxD++M/+nGj+cLGdujshFbjbRIS9TCyLm8T2xaLJm1I2cZwaSls7HaQ+Ljr3oJqlX3YxtB49V6zX7ewzDa6UlHuO13/YOF/ wyEshiJ9 AZuA1 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: On Wed, Jan 11, 2023 at 03:37:27PM +0300, Kirill A. Shutemov wrote: > #define __untagged_addr(untag_mask, addr) ({ \ > u64 __addr = (__force u64)(addr); \ > - s64 sign = (s64)__addr >> 63; \ > - __addr &= untag_mask | sign; \ > + if (static_branch_likely(&tagged_addr_key)) { \ > + s64 sign = (s64)__addr >> 63; \ > + __addr &= untag_mask | sign; \ > + } \ > (__force __typeof__(addr))__addr; \ > }) > > #define untagged_addr(addr) __untagged_addr(current_untag_mask(), addr) Is the compiler clever enough to put the memop inside the branch?