From patchwork Thu Feb 13 19:14:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uros Bizjak X-Patchwork-Id: 13973936 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 B1273C021A0 for ; Thu, 13 Feb 2025 19:15:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D02286B0082; Thu, 13 Feb 2025 14:15:15 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C8B536B0083; Thu, 13 Feb 2025 14:15:15 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B04436B0085; Thu, 13 Feb 2025 14:15:15 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 8B5C66B0082 for ; Thu, 13 Feb 2025 14:15:15 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 154F58164F for ; Thu, 13 Feb 2025 19:15:15 +0000 (UTC) X-FDA: 83115874590.12.C189E28 Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) by imf16.hostedemail.com (Postfix) with ESMTP id 3D37818000E for ; Thu, 13 Feb 2025 19:15:13 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ctLB8I8E; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of ubizjak@gmail.com designates 209.85.208.49 as permitted sender) smtp.mailfrom=ubizjak@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739474113; a=rsa-sha256; cv=none; b=LzOF/FBTbTkeQauBr9VFi6QBpwH7ReGpTOCrLGvJP6+wZu/S6qiEwg9yYUiGcihGPgc3Yi pn1b4o5Lo3bsckbIUm439ZxZj3Wo+7x0ZDoMJqOMPo65OdwkCLH70NZsMFCJcbGztCKhtU M6belnQTnqe3cnU+vptITCDQb/sOI8E= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ctLB8I8E; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of ubizjak@gmail.com designates 209.85.208.49 as permitted sender) smtp.mailfrom=ubizjak@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739474113; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=MCZRk8F5oIr78QIJHIsQc5tZNTNUkD+BR9QkiJxVXFM=; b=PGxwbz0nue7kRLKQfzIKWw5RSRzVW9z7wsS5kOg3BgwqoJ2Qt/l6+9LvXF4oHPIstZHaeW 7Hbyn5zisVFt4SDQl9zDTYusuCJDnVJoYbSp+3bc9AMOjt0cL11UwBjTnYe8PX56YnkMYe 290WD589UxvKjG2Gdknw0EXCXzmJ/7A= Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-5de38c3d2acso2015329a12.1 for ; Thu, 13 Feb 2025 11:15:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739474112; x=1740078912; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=MCZRk8F5oIr78QIJHIsQc5tZNTNUkD+BR9QkiJxVXFM=; b=ctLB8I8EaLNvQCcTknQW1d3JpLToaI4AtuCx4axhV2IVuI7XGhmYnLhD/8I1NN5j52 SWnbpH2iBZG3wsoi9jt6vng7Z5M9ICUwObj1sdrXxWC9Pu5KGsbco2VCpX8BM0pJ7iDB P/EZrxNMByBYB42HTJwqZuMdbNQuxxteXYhw1WjCBCLoXmvu44agoND6WPes7aDq552F +CgLR6Y5Z/DNTcO6cAlLlYPzY1BB3ISwMFVquG85UkkTbq264ccfylPIyOwL8hWXnXzd p6l4AgLRhqrNlbUPaRkETiXT4/2zuN5xtsRrKwwIsMJJtnhkNFyvvc2Yb4lMudTqkGqI HdoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739474112; x=1740078912; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MCZRk8F5oIr78QIJHIsQc5tZNTNUkD+BR9QkiJxVXFM=; b=PeNWG2rBp8rfFNj3Vo7FpSolkLUFuwEfRmJG8gRh/jpBXVhKxTceQ3KUWnZ7NP2+72 EAzFsVQaYUUNYOQk7bS2Mds8UFB8pL/DU7V1CUDXRdQ3dcCdlKYD9qpgKYoR0YbPlKaC VrbuVXenuUTndBXYSwPfGDmbEdiWQWsLwoNLRy2Lja4eWW8xEmJ7jm9s3asVo5T1yD1D mg1ykwbAvIDIdxDrjcjGu1s0s+uQBVO0afiX1IhRl2LzSbmyZP40exnRMqyQ1TKX9rbp eyip6fO8CyjYSoAb4CO9Z6zj0ztNjwdazwZuGU8b5WI8pNO71zVt6kkknz4EiuYfV+Ol A4FA== X-Forwarded-Encrypted: i=1; AJvYcCXymkCVe2aexzGS2W0bsWNOAs8R+aHr8aaUPoDNZbXQQzI8GN/+j1fuSNzVaYrpZ3g7PGrdx7DgUw==@kvack.org X-Gm-Message-State: AOJu0Yw3SBNVPJ9SYzbaYnH7dkJGxzcOuTszDOiVZZuZOI1JMJDcvLy0 jDsu8ynepwhpGAfbUkNf0A7AQextGTVshCNneyPBPTW8t58u2Vhr X-Gm-Gg: ASbGncuVV2QZyD5RMF8eBVOaleFnXuLaQ3VAHMPWvl97GcwAH3sdW/Lz4sfrFFaK2/y S7aZxZ5uycJ2P7c10oCvvq79Fm5iTG7HRx00DGOVIMcSsAYNVr6nUIXgcSblfuuC+NuDjD1VWMt lUVi1Oegpl6b/QZVZbaxp3DYB6Tgb0snGmDUlDxt2JZrIVgw+zC1L+zgs403S1lncG2Q2nEqkGJ dDIAL8jM4GEtZAcZgiE7VSu/om7EcBjOJTntW5J7y07gx8jp0pHxJGgAr3DTaOxEY7fWGSWSSGJ EalB4dd0ueYdvqeeMM9hiHUB X-Google-Smtp-Source: AGHT+IGDmxUXgTbru6c8edVkbG2Aem3VAU2thpwucZbIXMGfjZ+bCKmeFDFZQtDaYQRE50Elj5HiGg== X-Received: by 2002:a05:6402:2106:b0:5dc:a452:4f7 with SMTP id 4fb4d7f45d1cf-5deade07f4dmr8704114a12.28.1739474111241; Thu, 13 Feb 2025 11:15:11 -0800 (PST) Received: from localhost.localdomain ([46.248.82.114]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5dece288e2dsm1634508a12.80.2025.02.13.11.15.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Feb 2025 11:15:10 -0800 (PST) From: Uros Bizjak To: x86@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Uros Bizjak , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Dennis Zhou , Tejun Heo , Christoph Lameter , "Peter Zijlstra (Intel)" Subject: [PATCH RESEND 1/2] x86/locking: Use ALT_OUTPUT_SP() for percpu_{,try_}cmpxchg{64,128}_op() Date: Thu, 13 Feb 2025 20:14:25 +0100 Message-ID: <20250213191457.12377-1-ubizjak@gmail.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 3D37818000E X-Rspamd-Server: rspam12 X-Stat-Signature: fy9gxmojepcg1zcheut5ginuc9rxjdnt X-HE-Tag: 1739474112-366954 X-HE-Meta: U2FsdGVkX19Oq9gLVKv6VJRDmHKXZxgaetYaRUoGDdaPzwLt8DPQYdHqPa668hjOdn4UBYFgHXCacmrCtiVyeCOyr9ZSHkLRZmYhbH7bKGk987CFZxmWraAp7P+gegeyLiLIl1NN8jaLQ3doyNK5tddKr7Uz3LHDjYClhDejcMd6mzZO2r/Q1LgMJ6hTnn1mmgMpLxWlO8kHGiFWbOzc2pk2Av1nPoP/+HNWIihiopV3X/ZIA8GxUdOYIVA+6rFu/PlYJXOxbejCD1c6on9wAi3bW57xCdqy9Bn2+fCU0F085HzZBMMxx8D1VlN4j9QYv46GY24GVlDiYeBwEpwOZLxxXdNyJWRc8O0Jgk34440vot0APYP+A1394TtRadtUpTJTBtqqX0YpzWqqyRP1V3fDLdq0n6DYd+OuVBk3pwXZhTIfPWk7W8vFk+5KhmOmXUrKWFeVOxYNCId9Ut3oykcQjxwtAhK80H7E4IZXkopRTNJRPBgINha40+vpL7+uAMgZatYRfGVxqviuuI6/sxNz1uVyJV8XGiBgJSwyeqRc8XUUG757o6yA8aZQGnAEJJVP0HFGTkHSg7cmG7JoI5TJeY28PsiSxVfjseJzHENAtzzuqQ6WQsRSjpEtLNwieqRoZZMMkpOBDr+YNdjZh+NM/V8Aa1PJeZwMJqQgpG93FweQdF49lleniO6Vn0tLQTy/AWJqNHWkIthWiPnxWLU+jso1aPdJPLJgWiOJk8RXjNcSzcRnDINr3RYIcBbD+dSGGqZvGCPh1+KXAN9M4xJH06RLnIka8Ou6AagoLEmHNNFWh9HM1uZENZYgsX+eaw3kGRzt9U0jaU0TeYCldqwInN+BJTPviRbEX34hzTaysq/FGO64o4hYoVB5FolylDr/XWQkkfKf1Fja3sbIdC8Gg7Em8W8a2rnbdGCmygjc5DHft2XGSj/LnmDUDaj1pqCFfnJNZAH+UJPARR5 ShbUev2/ DjDjmhMeYWohrnsgVJ4BTKM8LYpiqDeaDBknWfwtOuYop2hA4d8aARY+V14jToGG8MeRK0ipCIkckZEIPy0VL4LUbeyazoleXSfrnnDC/rRUwHv4Pg15o1RyUNDtmb1lkft7dxYUR3ZXjUhnX+XvBiEjCU0YHu/vE1P+tkZ7fyITFWENVVciYIK48r51PiG/sc/hZI34DW0lQYoLxX+4BPy7NkRN08ZVg4W/09pFtDuN96+07oojnghE/ga8sqsmCAQs5+IfzIsom6PuqcgxpcS23cXwwGLeGk8iaMWYeIGB/JUydWnpmMcuYaaAgHUsLKj8ORkFIHiz3a5LfxHuR+S1I4+hnJGyueOH4eBESIbCUWoCy54W2hI6kxhHWjaEaw34CRaSHsQQ+xPaLoYXUba+DIARNUwDhTdOfmFxkCYSFrdVFUraBjIwRkZj8E/eSuN4NtGmr27PbzlqPqrQgtWRfqat517bXt9iyqY8Ugw37H+WwEImJ7mP91otvUaZXLwG39hVBQrFTSTZviNld2FChf3ypw0PUQd+sGKfg/CQS1VufPlgpc/WFdJU4MtrCLsOAeni8+MyfE5DeAhsSLPM5WfXSze7CKBf5mQkL0XM9FV1PESXyLAbw8+afn0AeeoDFAnc6jBfy6g8= 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: percpu_{,try_}cmpxchg{64,128}() macros use CALL instruction inside asm statement in one of their alternatives. Use ALT_OUTPUT_SP() macro to add required dependence on %esp register. Signed-off-by: Uros Bizjak Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: "H. Peter Anvin" Cc: Dennis Zhou Cc: Tejun Heo Cc: Christoph Lameter Cc: "Peter Zijlstra (Intel)" --- arch/x86/include/asm/percpu.h | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h index e525cd85f999..0ab991fba7de 100644 --- a/arch/x86/include/asm/percpu.h +++ b/arch/x86/include/asm/percpu.h @@ -350,9 +350,9 @@ do { \ \ asm qual (ALTERNATIVE("call this_cpu_cmpxchg8b_emu", \ "cmpxchg8b " __percpu_arg([var]), X86_FEATURE_CX8) \ - : [var] "+m" (__my_cpu_var(_var)), \ - "+a" (old__.low), \ - "+d" (old__.high) \ + : ALT_OUTPUT_SP([var] "+m" (__my_cpu_var(_var)), \ + "+a" (old__.low), \ + "+d" (old__.high)) \ : "b" (new__.low), \ "c" (new__.high), \ "S" (&(_var)) \ @@ -381,10 +381,10 @@ do { \ asm qual (ALTERNATIVE("call this_cpu_cmpxchg8b_emu", \ "cmpxchg8b " __percpu_arg([var]), X86_FEATURE_CX8) \ CC_SET(z) \ - : CC_OUT(z) (success), \ - [var] "+m" (__my_cpu_var(_var)), \ - "+a" (old__.low), \ - "+d" (old__.high) \ + : ALT_OUTPUT_SP(CC_OUT(z) (success), \ + [var] "+m" (__my_cpu_var(_var)), \ + "+a" (old__.low), \ + "+d" (old__.high)) \ : "b" (new__.low), \ "c" (new__.high), \ "S" (&(_var)) \ @@ -421,9 +421,9 @@ do { \ \ asm qual (ALTERNATIVE("call this_cpu_cmpxchg16b_emu", \ "cmpxchg16b " __percpu_arg([var]), X86_FEATURE_CX16) \ - : [var] "+m" (__my_cpu_var(_var)), \ - "+a" (old__.low), \ - "+d" (old__.high) \ + : ALT_OUTPUT_SP([var] "+m" (__my_cpu_var(_var)), \ + "+a" (old__.low), \ + "+d" (old__.high)) \ : "b" (new__.low), \ "c" (new__.high), \ "S" (&(_var)) \ @@ -452,10 +452,10 @@ do { \ asm qual (ALTERNATIVE("call this_cpu_cmpxchg16b_emu", \ "cmpxchg16b " __percpu_arg([var]), X86_FEATURE_CX16) \ CC_SET(z) \ - : CC_OUT(z) (success), \ - [var] "+m" (__my_cpu_var(_var)), \ - "+a" (old__.low), \ - "+d" (old__.high) \ + : ALT_OUTPUT_SP(CC_OUT(z) (success), \ + [var] "+m" (__my_cpu_var(_var)), \ + "+a" (old__.low), \ + "+d" (old__.high)) \ : "b" (new__.low), \ "c" (new__.high), \ "S" (&(_var)) \