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 044B6E77173 for ; Fri, 6 Dec 2024 20:13:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8C2076B02E5; Fri, 6 Dec 2024 15:13:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 871386B02E6; Fri, 6 Dec 2024 15:13:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 738EB6B02E7; Fri, 6 Dec 2024 15:13:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 528D26B02E5 for ; Fri, 6 Dec 2024 15:13:14 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id CFCBA81026 for ; Fri, 6 Dec 2024 20:13:13 +0000 (UTC) X-FDA: 82865633130.11.D56BCF9 Received: from mail-lj1-f169.google.com (mail-lj1-f169.google.com [209.85.208.169]) by imf28.hostedemail.com (Postfix) with ESMTP id 7676FC001D for ; Fri, 6 Dec 2024 20:12:51 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="XESw24D/"; spf=pass (imf28.hostedemail.com: domain of ubizjak@gmail.com designates 209.85.208.169 as permitted sender) smtp.mailfrom=ubizjak@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733515984; 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:dkim-signature; bh=Ig8zvMrquNxr9h6es/FC4GH4Fy/YJCq5InLvynwUlIw=; b=5MnGBAcULlXDbC2ZpOQNEIvLH73JqnZ/6I1vaY9cTnrYOwPpy8gRXZuafZA9B7+Q6/TPWl hafSv9q89cIui07gw5+n29zYQVEr2ZDWdRv74e9oaFlHMavyN470kefrTQ8r6VCKOVGex2 VgUYATFzlTwPX1QaHl5eSqByyHRj95s= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733515984; a=rsa-sha256; cv=none; b=qzMu2vX7yQh5PRfZ4szoY+MRtjgljieIFtWTMROPh1Eu994am244jJMl8n5pqvzTybG2CI WFXPZHVZPhZ1wiEk8iHpO5c6/5kblzddB0VHlDBgyP43Xl85sg5NPtfBcv8AoVmLtb/qSP iLbmhuAkvQUbaziDvdlOuknI0lC6Jcg= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="XESw24D/"; spf=pass (imf28.hostedemail.com: domain of ubizjak@gmail.com designates 209.85.208.169 as permitted sender) smtp.mailfrom=ubizjak@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lj1-f169.google.com with SMTP id 38308e7fff4ca-30033e07ef3so8605661fa.0 for ; Fri, 06 Dec 2024 12:13:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1733515990; x=1734120790; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Ig8zvMrquNxr9h6es/FC4GH4Fy/YJCq5InLvynwUlIw=; b=XESw24D/F1//SlOCbFP2grjMnC4Vih9uoxYVfiztJI6vsCCa8e4GiPoMO79eVnBLlt LaghL84wU1ri3eAyL7ihJuhy3z2LPrDv3raDfPvZ+6QfWVYpKQu3cbND01KOQAKrlHV8 Hl4CDokkHKrjwOctewHwnJOgQei7ohD3VKSr6L/W5MWYbQknh4XdDijqvy2HAr3R2/h1 0dyw9W55b8OZPGMosSPAysfThZVdIl+tKVOwrd1xLr+hAPp2ikQV78up5pSOxwJun2T8 qCAIOex4pxmtdShrCGviB1GYxY8WRos2vtry4HM1qGwj2Ac8DP1vgFweVnnce+2TgAJd CAkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733515990; x=1734120790; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ig8zvMrquNxr9h6es/FC4GH4Fy/YJCq5InLvynwUlIw=; b=K3P2fk1LfqRyasMEmK3x1t2NsW22PfvVan5dOsamDVZfC+wfnCwBScj6UfDzZYClQx Hgc6DybVIk3HcFdiybS+gzbZUprdwEKXAjp6T2yeKl/SgFw3fDupb1UF8IjvOr0rO7TH z1zl3yWltXn0un4cYhucmbN803gMBXVIfnoA6EUE6jY2S6mhFJmreTSKeXS23L0zh2oc AUkevTxWS+6FT4DlGHy6IV/ZOgfdvqJjujB6uNo3uiNa5LMMCSvsyG5EHVxX5TLZnC1z e2ukmaWuM1ptQWehabcNxDGwFIfNuH8BmFN7Vt9heegKawEFsTi6VgWq8Y3MBLVFCgJ+ rW0Q== X-Forwarded-Encrypted: i=1; AJvYcCXlSvEYFsYwUkX6qO//kjpZv53YBM3uSGbtaWyJ32eJAVjr/rGVWlU+hUvFznS3v2sbye0rtNxAkg==@kvack.org X-Gm-Message-State: AOJu0YyqBfORoEVLryHDT5TzFuEPWshhAsfVFdou3HlxbBUPw3peq6Kd RFGVKUa0r5abe8u9fnjvd34xnFtJkUBj5+j3INCRmAVbxpj9rw7mARKOMbKer9v5YVohCi91i6I oTIuqQeqcZtsr/wBllsZAf8mWcR4= X-Gm-Gg: ASbGncsF0I2GdN7SFFcYaHUjt7uE/wHzdZFxNUq0MjKmnhFRwVZQyZTeq0Rx4d57IFN EFpzB5iUNz34I3Iw6VHTyZpzQP1TKbgE= X-Google-Smtp-Source: AGHT+IFIz0aMhmjz3POY4AtV1zcbOoDHMMbGiot4T8nIxNJKxQFlR1A64t6StVNw5SBiP8Mwz8JQRkkcRW8pMZUf+r4= X-Received: by 2002:a2e:8058:0:b0:300:324e:34e2 with SMTP id 38308e7fff4ca-300324e371fmr9329211fa.16.1733515989826; Fri, 06 Dec 2024 12:13:09 -0800 (PST) MIME-Version: 1.0 References: <20241205154247.43444-1-ubizjak@gmail.com> <20241205154247.43444-6-ubizjak@gmail.com> In-Reply-To: From: Uros Bizjak Date: Fri, 6 Dec 2024 21:13:03 +0100 Message-ID: Subject: Re: [PATCH v2 5/6] percpu: Repurpose __percpu tag as a named address space qualifier To: Dennis Zhou Cc: x86@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-bcachefs@vger.kernel.org, linux-arch@vger.kernel.org, netdev@vger.kernel.org, Nadav Amit , Arnd Bergmann , Thomas Gleixner , Tejun Heo , Christoph Lameter , Linus Torvalds , Andy Lutomirski , Ingo Molnar , Brian Gerst , "H. Peter Anvin" , Peter Zijlstra Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 7676FC001D X-Stat-Signature: rtax6r1ufnypaog7g5dwajyztwwb5zjy X-Rspam-User: X-HE-Tag: 1733515971-940646 X-HE-Meta: U2FsdGVkX19LbyPP1m9dDhnArdPPmNo+5iFZF6O1wJikzA68aYtbiTsZbpPEUNu5piE1d/ASFDZiZF2aRcg0Ezbfga/sLKj4KCaDEaSNADL4aPUNtbLckZzXs9LCAakqV8MjOU8uMpgtpWcc8YTUYXsJSOzY3FwkOrmPYtEE/7B6SWxAY75rSueiP+Wk35iReFbqR1mz46Q9TgdWPb2zo3r1tgMfqMHEwdaMOLQcUDRSbDnRdDT1Jh4B/5QQFKCDf0SGWfKZQYjRcYGGlrXj8k4j5TEzXta2R1zqyqk55LeaASCa3EJ+ECVjSjUVcTcU+V0JORiEbNJrvCkbj2sHhcLrxsIpvYwYWuT4Pn0Dkc8o22EUN0TTVMmuaeJzHIgJRnDzseww26L/FFkltfgzJwbCkK7abuN2f75XtTdKirNgXKYxah96Jh0A9yBCY+CAwhHoI2Lq5AyBzui9hOlZoknMw9RFt3eG0DD1vLPBaALt9orBuFPOqgM548g1r6YlN9loiESXOpIZKohAXk2yUzu/UcqINXYEEKkZ5H6IlLiY0QottooXzAoBvVZiIFVdeKT0hFDolX452L+MwnMOEx7WqrvHfOnFVay2TBc9wg1hbSH3xq4otCOd8A3BKv8zBl3u2EqbTy1cnLUf72DUbCuG4hQlizKSytAQobIOGp9P5/KdAa/FU86xemB0o28og5LaFyRMLldvhhIFv6sJPsqEV2BYZErRVXAE3a02sjDQxE98IzWpduj0MtTaqHb8hMOGabDZZ42QBv6eejyONlEPDNU0nIEztl8dbrIoP/BQSpxXOoyzsaFMbc/eQzD8opHgI6IvgKEho2wKk4VoRNaitnsg3Id/mfdQ2XiKArVwtYD8zvCTV72woY6owCTrxWcUbjXloumj1AvmuCV5REVEfmEuuWwWqTyqWtVZppiWJj+6oKYAIyJrgWiUNZ9g83DZXjNDerJOe5vbU7v /JXyitZX sxHZE1w5EVXcukdwLupdWE0Y3NkoaLdXd7i/98t3ouPAGS0AN9WfWqtUPSo9XJeSosli95yOAgluhexhLLXo7HXZ+77nVyqmuPhNoHH0cOPlaxfWppCUg1OpntK5p5apOYD+hP4Jmuh0bqcJBEku+/w1mKJlhRkE7gaNYsrhoscNMi35tPdQnDnSsdYzl5G+Po7372JbvhSYhY4vryWD5NIMOrWGp7nYiOc3z19J6rxwgLwDLL8uyNoK9kA0mcztipv3e45R8t7u1T4QtG3eh3vZCmMuve5eCplf6AeJ9hxb7hKNBIDpPQ6BZf//aLMRanmmxrHqvw05/5r0IeXagPCIi166XcAgPOcl1sx0B4WZ4veqiA3CLhy/noHtA5zc6xjZbScwMSwTDrnKDJtphi0Xr+W9WTpNHFuyxjvCW6R8uL9wrmzzdNiEGM30qAW/TQgt4PULrWd0ym3F89kuA0K+H14VUhANB3sEfLxYNLnzUdLETYLVHWtWqyLsQx4rSjP5jwTvH9Cdy19s6lIzLS6tUnDrEMbOqGF3xNaaelJqDAP+ngVKh3RJA/0KXL6LIZpmsW5xjTUXonYLBH4tiHBmCWonfq4sODz9m7kOc9jrJy9hGK1jqRHlJV3FMdDRKrlLnD5WJohdQrC49C742Q6xBghV47rhpimsmebJ5V0MyvRce668bj0BK/o/tM/+jUS53vFyru8iwAn/oosCaiywgdbNB/psnG3zR 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: On Fri, Dec 6, 2024 at 8:35=E2=80=AFAM Dennis Zhou wrot= e: > > Hi Uros, > > On Thu, Dec 05, 2024 at 04:40:55PM +0100, Uros Bizjak wrote: > > The patch introduces per_cpu_qual define and repurposes __percpu > > tag as a named address space qualifier using the new define. > > > > Arches can now conditionally define __per_cpu_qual as their > > named address space qualifier for percpu variables. > > > > Signed-off-by: Uros Bizjak > > Acked-by: Nadav Amit > > Cc: Arnd Bergmann > > Cc: Thomas Gleixner > > Cc: Dennis Zhou > > Cc: Tejun Heo > > Cc: Christoph Lameter > > Cc: Linus Torvalds > > Cc: Andy Lutomirski > > Cc: Ingo Molnar > > Cc: Brian Gerst > > Cc: "H. Peter Anvin" > > Cc: Peter Zijlstra > > --- > > include/asm-generic/percpu.h | 15 +++++++++++++++ > > include/linux/compiler_types.h | 2 +- > > 2 files changed, 16 insertions(+), 1 deletion(-) > > > > diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.= h > > index 50597b975a49..3b93b168faa1 100644 > > --- a/include/asm-generic/percpu.h > > +++ b/include/asm-generic/percpu.h > > @@ -6,6 +6,21 @@ > > #include > > #include > > > > +/* > > + * per_cpu_qual is the qualifier for the percpu named address space. > > + * > > + * Most arches use generic named address space for percpu variables bu= t > > + * some arches define percpu variables in different named address spac= e > > + * (on the x86 arch, percpu variable may be declared as being relative > > + * to the %fs or %gs segments using __seg_fs or __seg_gs named address > > + * space qualifier). > > + */ > > +#ifdef __per_cpu_qual > > I read through the series and I think my only nit would be here. Can we > name this __percpu_qual? My thoughts are that it keeps it consistent > with the old address space identifier and largely most of the core > percpu stuff is defined with percpu as the naming scheme. I based the approach on the definition of per_cpu_offset() a few lines bellow in include/asm-generic/percpu.h: --q-- #ifndef __per_cpu_offset extern unsigned long __per_cpu_offset[NR_CPUS]; #define per_cpu_offset(x) (__per_cpu_offset[x]) #endif --/q-- Sure, we can call this __percpu_qual. So, the definition in arch/x86/include/asm/percpu.h would read as: # define __percpu_qual __percpu_seg_override > > +# define per_cpu_qual __per_cpu_qual > > +#else > > +# define per_cpu_qual > > +#endif The above part could be recoded as: #ifndef __percpu_qual # define __percpu_qual #endif while the line below would become: # define __percpu __percpu_qual BTF_TYPE_TAG(percpu) > > + > > #ifdef CONFIG_SMP > > > > /* > > diff --git a/include/linux/compiler_types.h b/include/linux/compiler_ty= pes.h > > index 981cc3d7e3aa..877fe0c43c5d 100644 > > --- a/include/linux/compiler_types.h > > +++ b/include/linux/compiler_types.h > > @@ -57,7 +57,7 @@ static inline void __chk_io_ptr(const volatile void _= _iomem *ptr) { } > > # define __user BTF_TYPE_TAG(user) > > # endif > > # define __iomem > > -# define __percpu BTF_TYPE_TAG(percpu) > > +# define __percpu per_cpu_qual BTF_TYPE_TAG(percpu) > > # define __rcu BTF_TYPE_TAG(rcu) > > > > # define __chk_user_ptr(x) (void)0 Let me test these changes a bit, I'll send a v3 in a couple of days. Thanks, Uros.