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 18F9AC05027 for ; Fri, 3 Feb 2023 17:25:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 552F96B0072; Fri, 3 Feb 2023 12:25:40 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4DC806B0075; Fri, 3 Feb 2023 12:25:40 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 308236B0078; Fri, 3 Feb 2023 12:25:40 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 1E6546B0072 for ; Fri, 3 Feb 2023 12:25:40 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id BA3DAA07FE for ; Fri, 3 Feb 2023 17:25:39 +0000 (UTC) X-FDA: 80426657598.25.34F48C5 Received: from new1-smtp.messagingengine.com (new1-smtp.messagingengine.com [66.111.4.221]) by imf10.hostedemail.com (Postfix) with ESMTP id 9BF2CC001A for ; Fri, 3 Feb 2023 17:25:36 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=arndb.de header.s=fm3 header.b=b16DgUjG; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=ndNbp+Cx; spf=pass (imf10.hostedemail.com: domain of arnd@arndb.de designates 66.111.4.221 as permitted sender) smtp.mailfrom=arnd@arndb.de; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675445136; a=rsa-sha256; cv=none; b=Kxt4/pjKPEEHV66Lh7bWJFRx44tOFYEikfoFGMYZs6Y7WLgKANKvOk9sSck1JsSCIclipq pMoKpDM917U+YnPWTWVgj8xW5yDWz2BgNRdaKcekVcIJYIOY+PJslOf6kiJRj9PFq8WK8V V3Ql98FoCt+8NGcymczygj/V3vJJCzc= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=arndb.de header.s=fm3 header.b=b16DgUjG; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=ndNbp+Cx; spf=pass (imf10.hostedemail.com: domain of arnd@arndb.de designates 66.111.4.221 as permitted sender) smtp.mailfrom=arnd@arndb.de; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675445136; 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=WOj1XJ/2nWhhYICuUWvW/halINqVJ3cfLXpbNnnM1BY=; b=01RUOm0fhFw5tqL/nnk3+/WtnLLWHi8cjGrDCJzHv2r+5G5TkCyuBChZTA0Xp7jd1pHGN8 eU/4hhICGIkDzXSnerYUKCJAyDLcHVuq5oHT+jSPshQPecW1P9MsxINbG1nUBWh09PPM1Q rK4i/vDB1Ww8DDV2uB4iXVOxmvN04gI= Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailnew.nyi.internal (Postfix) with ESMTP id C60BE582007; Fri, 3 Feb 2023 12:25:35 -0500 (EST) Received: from imap51 ([10.202.2.101]) by compute6.internal (MEProxy); Fri, 03 Feb 2023 12:25:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc :cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm3; t=1675445135; x=1675452335; bh=WOj1XJ/2nW hhYICuUWvW/halINqVJ3cfLXpbNnnM1BY=; b=b16DgUjGr10ahekmo+ZIsgBmwH NI+4WKiYPn0WRip7ki2No6/JcXSEn5Lbchwr0PX4NJN4lZDK/RDjs5Y94yJM0ggC 5JAdFObkE0yrMYUboTNDTueCCZ/jMUgQdLERu0cCkQyqwP2mQ/nbcj9IlEgvkNDu kYscEQW5aPKbRIpuSz9VJ1Gjku5hfKhRLWalPFD8O4wjXGCtju1rGzPBqPmfh0+F C+v8aQzPfNrMRqHt6Y4zRdZsvFi2gaFgnMrO4eHfnIjNvBwmaMzspYjxyu/FTHU8 Kect+k+Hs3CGy3Ro6Nsd8+xuC98eXMBBmkaA5enHge8egtEYjQ899wWzQXjA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1675445135; x=1675452335; bh=WOj1XJ/2nWhhYICuUWvW/halINqV J3cfLXpbNnnM1BY=; b=ndNbp+CxgZoarRRJg0oDB1vu4ErnnZgQS9OnLuWKTxJ3 rZsTad8uHfRNwCp3NH9sjW3eSUBjBT90p6HLG+cI4sDwH5CdapVchP2gGhkYXqDl 7GiE90ULhcZqBEwWeTskCI3DL48asLTwbW65TIZwFlNRm+TtDxecNFlIkuy0I6W3 x5tof5n4OYnE5HG4V4JoORLn7VxtHBxUXzWp3dTqBWZjAzZF8qMHeowxswghIZi6 IBFFhovJvoh7fNI40KDbP/tFtIJLeFomNfM3wl/+Xz+Pim6Zs6EGiSC/Yha+XLPe 2+XVk1aLuV0zQOzcvp3wMLMAoyn8vMzYzYYr5a9KWw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudegtddgleejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehttdertderredtnecuhfhrohhmpedftehr nhguuceuvghrghhmrghnnhdfuceorghrnhgusegrrhhnuggsrdguvgeqnecuggftrfgrth htvghrnhepvefhffeltdegheeffffhtdegvdehjedtgfekueevgfduffettedtkeekueef hedunecuffhomhgrihhnpehkvghrnhgvlhdrohhrghenucevlhhushhtvghrufhiiigvpe dtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrrhhnugesrghrnhgusgdruggv X-ME-Proxy: Feedback-ID: i56a14606:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 78555B6044F; Fri, 3 Feb 2023 12:25:33 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-107-g82c3c54364-fm-20230131.002-g82c3c543 Mime-Version: 1.0 Message-Id: <24007667-1ff3-4c86-9c17-a361c3f9f072@app.fastmail.com> In-Reply-To: <20230202152655.494373332@infradead.org> References: <20230202145030.223740842@infradead.org> <20230202152655.494373332@infradead.org> Date: Fri, 03 Feb 2023 18:25:04 +0100 From: "Arnd Bergmann" To: "Peter Zijlstra" , "Linus Torvalds" Cc: "Jonathan Corbet" , "Will Deacon" , "Boqun Feng" , "Mark Rutland" , "Catalin Marinas" , dennis@kernel.org, "Tejun Heo" , "Christoph Lameter" , "Heiko Carstens" , gor@linux.ibm.com, "Alexander Gordeev" , borntraeger@linux.ibm.com, "Sven Schnelle" , "Thomas Gleixner" , "Ingo Molnar" , "Borislav Petkov" , "Dave Hansen" , x86@kernel.org, "H. Peter Anvin" , "Joerg Roedel" , suravee.suthikulpanit@amd.com, "Robin Murphy" , dwmw2@infradead.org, "Baolu Lu" , "Herbert Xu" , "David S . Miller" , "Pekka Enberg" , "David Rientjes" , "Joonsoo Kim" , "Andrew Morton" , "Vlastimil Babka" , "Roman Gushchin" , "Hyeonggon Yoo" <42.hyeyoo@gmail.com>, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-s390@vger.kernel.org, iommu@lists.linux.dev, Linux-Arch , linux-crypto@vger.kernel.org Subject: Re: [PATCH v2 05/10] percpu: Wire up cmpxchg128 Content-Type: text/plain X-Rspam-User: X-Rspamd-Queue-Id: 9BF2CC001A X-Rspamd-Server: rspam01 X-Stat-Signature: af58bsxk5h7i5egb7t3zypa5pz93dddr X-HE-Tag: 1675445136-609495 X-HE-Meta: U2FsdGVkX18T11e4Gi+hwJkVnZAv4L8KtdiWwvbtkaU90qyNu+bho+E3zp2x33GQeqJZGNl1xQfbCPjK42Pya97PnVMcbppKb6AsfRgWDEGs63A2IVI6DuN16foP/2Ct3zCQcDdpgE9+dk0d3tuHF6Ygxvswr9CpGakHx2g77QY5MkI5g7+NyswbX/dyg9XPy8N1j9ZsrxmqeT1V/kaSkcsiCXHXgffEU1HWFG6NH/ZjphoEZXCO2p3lCC3p2S5L8TqoColO89+7Jcq47k0SF2pRUIk+wc/pUa8oOOvJ59DP/BbZCDKT09U7j7vBy9/9xMuv7vsPSXrLNPzMOkWlFjxkd9j0w57oZQdAYMSwB7a/uosVPIm149jnv8GJSaYR2EpQXJ2iytZHGvlLwslV5t0B927QaryN9yYbcei09mbW8/TLzddjFyirON89yAJzGen9FnVrURTXPSEh5vO481CLmv+9pKrObGs9I/QfPNirTXY81dn+dcWhZ80e5gMMnhFsChyBpXq73OZkHRsfkrc0Q78AonWVZWSou3D5nu3yEJ1V1Rk37xBcZ8cEnQgxSz4+s85YeQmKiQI3iHCv9ZnSPPXIJuyReR6LpZIrev1KhwZfmS2c+NPTnngL7fASh6N4LcnneG5ODXh7E7UY0+YwWJ+5v0hR2arbkDOmzg8yh/8WMmFBDWnGaUragzFn4Veyq9AxLXMtcmiy6TJADhChYoq20REyc5CCmerAff6+JKKuzHBCqcB6qdjrf6WBfTTSCpOreiWDWxrZHw2lPRQZg30GdhbQcfylyyKYJ688NP2W9jUMo21BS3QXY/Yvob1Zjp9C8RSlEpA4aYRy7A1W3LJSOg8PDAOKslkR06VDdBA+T1GYoutKR3MS/o8vESV5cmcetPiglyc1DHnxDJCu0GqGcxjjScwfPkQ9PbTHd+EdN8zty3MmVF7+wPS2VaIGfzdnAwViU9xCnKv lMn0Ti1p cK9sl0WyrCSueeV9rH/n0Tn4Ds5QqiGHaJmoRJHaomkvMxAMMkZv3tMpJ/uS1sKUps5DB+f740IhPQElYDpfxVmNT52D2V/mk+Oyd7/EVCx79ISpaa/Yf2Scp3RyOmgW+WsTHNesj6g35j2+ShWPgL14TYB67txYnNapYXhpmiPBcyWNsZu9l3hNREq2SsmQ8iMGzs0xWhdWtXHytTKbycUTvrgoiF4JZUWfz4AmsFxObjpRhHnCIEZhGwz9eOQSvsP1Gf6KQVgcA73aQwNgQ+Enu2a6YVNI5rp6szaTf5tmlDKYIgzymOw7n5888AV0yUBWnDuNmnujGQHk1PCePrZO4PSPnFV5PgX7skGW9qZyEidogth1jjRwoxnAYVvAiJ1SwB1Z6PDVx0sqyLP5vZxhsmG1dZ0EcX/jO/yjQvP4xKrg= 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 Thu, Feb 2, 2023, at 15:50, Peter Zijlstra wrote: > In order to replace cmpxchg_double() with the newly minted > cmpxchg128() family of functions, wire it up in this_cpu_cmpxchg(). > > Signed-off-by: Peter Zijlstra (Intel) I commented on this in the previous version but never got any reply from you: https://lore.kernel.org/all/1d88ba9f-5541-4b67-9cc8-a361eef36547@app.fastmail.com/ Unless I have misunderstood what you are doing, my concerns are still the same: > #define this_cpu_cmpxchg(pcp, oval, nval) \ > - __pcpu_size_call_return2(this_cpu_cmpxchg_, pcp, oval, nval) > + __pcpu_size16_call_return2(this_cpu_cmpxchg_, pcp, oval, nval) > #define this_cpu_cmpxchg_double(pcp1, pcp2, oval1, oval2, nval1, > nval2) \ > __pcpu_double_call_return_bool(this_cpu_cmpxchg_double_, pcp1, pcp2, > oval1, oval2, nval1, nval2) Having a variable-length this_cpu_cmpxchg() that turns into cmpxchg128() and cmpxchg64() even on CPUs where this traps (!X86_FEATURE_CX16) seems like a bad design to me. I would much prefer fixed-length this_cpu_cmpxchg64()/this_cpu_cmpxchg128() calls that never trap but fall back to the generic version on CPUs that are lacking the atomics. Arnd