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 4C123C5AE59 for ; Thu, 5 Jun 2025 14:39:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DBC6B6B058B; Thu, 5 Jun 2025 10:39:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D6D366B058D; Thu, 5 Jun 2025 10:39:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C5C208D0007; Thu, 5 Jun 2025 10:39:46 -0400 (EDT) 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 9C6236B058B for ; Thu, 5 Jun 2025 10:39:46 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 48D0C1D6EFF for ; Thu, 5 Jun 2025 14:39:46 +0000 (UTC) X-FDA: 83521605972.04.CAB821A Received: from mx.treblig.org (mx.treblig.org [46.235.229.95]) by imf21.hostedemail.com (Postfix) with ESMTP id 5C6C91C000E for ; Thu, 5 Jun 2025 14:39:44 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=treblig.org header.s=bytemarkmx header.b=dMkiogsX; dmarc=pass (policy=none) header.from=treblig.org; spf=pass (imf21.hostedemail.com: domain of dg@treblig.org designates 46.235.229.95 as permitted sender) smtp.mailfrom=dg@treblig.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749134384; 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=76dZEhygqEmfXO4M+UtL7RXa31FuQvFw4pYtr93FC8o=; b=XimLHy0+HH6oR/3Qu4heUUcK0zCBQuAiz3bKNR246BrdpjQSbGVlZZmjWGToNU5ae8fEPD BoukICHCBNdACZLYnkEmpWtvCjZTJ3fWaajKvUVSZUCh5Txrbrrluic7Yop0FyqJZVBnpZ klWfDDxjh5J55mE3sIxadqEyI7a+YQk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749134384; a=rsa-sha256; cv=none; b=O3pTUe4NUK5fe2VlcfxwQwxAgSyEkpF2xyKgxv5X+3jLka4wYk0ata8aOIO04y6oKHYeec ARKOKV2uV7ogaSk+tPUltBFHDK6xhUMxv8IeLz+sQEpbTNhSaUEtCAc/WPisstvPk3z1vB OOj5DWYHhIe+x9APNt7QIhh38zg3vx8= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=treblig.org header.s=bytemarkmx header.b=dMkiogsX; dmarc=pass (policy=none) header.from=treblig.org; spf=pass (imf21.hostedemail.com: domain of dg@treblig.org designates 46.235.229.95 as permitted sender) smtp.mailfrom=dg@treblig.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=treblig.org ; s=bytemarkmx; h=Content-Type:MIME-Version:Message-ID:Subject:From:Date:From :Subject; bh=76dZEhygqEmfXO4M+UtL7RXa31FuQvFw4pYtr93FC8o=; b=dMkiogsXx/sRijvX p2WEvMt21radIYsASpJfvJ+7YP2XRMaVw6+cFA0HrrAC/PZYcio9fHUnq+yM+Jhe7MgLQG4+cgrsj Ok7NilWtZRk0F52cf9WltlUL5ATLDKNBf3VcbltxEelEeeac79JZdvKu53OoWJTGMu0eq72Kq/x2o pfzUjsp/VfXbYqMJcffcspeC705dbTmBvGTHZZC3qXu20ekyvM0OqoWq7AMXus32hteAL7WcQxSoU gbd8f6EOtxKcj8Y/UYR8JbtiAjdE+TTfau/Vn432dzfevLeAdL+OTn/wv27F/C97MrP1EbOjEvvSO UmQl+KR/VkKvRoLgbQ==; Received: from dg by mx.treblig.org with local (Exim 4.96) (envelope-from ) id 1uNBkr-007nEF-2s; Thu, 05 Jun 2025 14:39:41 +0000 Date: Thu, 5 Jun 2025 14:39:41 +0000 From: "Dr. David Alan Gilbert" To: Jiri Slaby Cc: Uros Bizjak , 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 , Dennis Zhou , Tejun Heo , Christoph Lameter , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Linus Torvalds , Andy Lutomirski , Brian Gerst , Peter Zijlstra , Shung-Hsi Yu Subject: Re: Large modules with 6.15 [was: [PATCH v4 6/6] percpu/x86: Enable strict percpu checks via named AS qualifiers] Message-ID: References: <20250127160709.80604-1-ubizjak@gmail.com> <20250127160709.80604-7-ubizjak@gmail.com> <02c00acd-9518-4371-be2c-eb63e5d11d9c@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <02c00acd-9518-4371-be2c-eb63e5d11d9c@kernel.org> X-Chocolate: 70 percent or better cocoa solids preferably X-Operating-System: Linux/6.1.0-34-amd64 (x86_64) X-Uptime: 14:39:23 up 38 days, 22:52, 1 user, load average: 0.04, 0.06, 0.02 User-Agent: Mutt/2.2.12 (2023-09-09) X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 5C6C91C000E X-Stat-Signature: dcuag4x5inuxcoqqk58a4pnguydmgzpm X-Rspam-User: X-HE-Tag: 1749134384-566086 X-HE-Meta: U2FsdGVkX1/ZNl+fvQI1eeK6ZyP6Yo4LRpoiK3wVEvu4hQ6ySEXjupK8+62MozPiEcMWWla71VUUoVUAoXAIWM0J9e1BweRtKFFcoAV6o9ptlQtMl/wEp5TPTswThXV0qgkxRqRBbx6fnVFxlVhdazQyeZyBZ/MlIEhEV1lMfr6o+PWQdey7IZqAcD8mv8jSuE3qg2melvyzwJn6kPM32cadYltjsXFLzTuEYh4pZJage/982gPaHJraNOsZJ1mjItkSHY5+6N8DeYv4CyUJxqJRCP+IPcBJ6b3TlfP0wYMRGSscvSA+RSMVPtMPwDgMQGDT/m5uqLUhXiYlmWM9cZYsDv7PUtNs5UZpxU7/nC/2THPjqtoRKywWLeWs9UkueDxYfsqp7mSQ88bMcDuOPIdUf9EwcHhITMCUo83MME0hyYnXW597A99p4yiww9b4I/1gO4rkV0ikg7WbvKIuryPwj5GLiqRQKG3QWPVem7aRp4fC77hAaZ0nnxLF7UipfJWWO73+FsYnCybwK1S2r0DJTOlihUi1rcCPFiPJPbKOt/XnOkNqQM2nTSLQKf6vnHodUzhde3x7f0gymOrZnRuhqJ6zcYENng3kEyQjr7JGUR2RPSWSAB3UKlUQ+2EBAwmqnpnM6oGwOAK2XS15MSzoyytihqYy/xytzpXteW2IJKrkLAg52un4H74STketO7MwjrpoOwa5xK/W+IE4go7F4Pos7Tb9l5xmUqJTqUdk4l7t6z0kfSXKAq+vKNmM3IxFKhcG99RrZ2BJJNgC1CdbtNSjXcrIWCjA5v8Pn+vgCgam7oN8hMDAWHriQaWpDBAIwA7gkhuo/GzuKta3UQJKRcYqWYbVUQaDWq+PFK+tp5+VKG+ea6xh+H+etsFrT4/4ZMRRn/SNyGOQZwp9mPJybCONXoMIdvBqZoYN04sQkqFmjqZoeFYE/dxB7UQHOCuATQtQHLiVvhyJkgg KyLseGqU JoxxWYmPaJcTXZK14/ua5YxiQDo4lpHGxceqNDagTSaSR2cVFrYWSuE0aJu2gsOKWinQp9M6oT27zm+e3vpX1ejR8S28KJO1OVAEf0SB1+mcvDfssRfqCsKbvmG3Y+t5pYrBkCr+cc0RtOoPdyt/CFWEEHnc2fUniEW7geFcXUzzz7U4b9VuFOP1PGEGe+GXjttj7BrSLxlEg4HFAHzkwfRp6mtz3i3KyAbQ77S7EdizUBLF+6v/JieIowwMoFxOSGYfZQTsvf+k2svAexCf/UwqL+pdFECVmWtH+z+L/x+vAnEsIDxqm0bbCkF6JMSGUJ4qseLolitxtwg+Co9k+lYI49oqd0X3f1w/Nc2lZ0psnOd+OXHR2r2n9WHUESNUXwl4xq7rCb7palLm5GVzbzxS80rpQXHXNIBkWwSAsqvdOAPBsco7OmlcL5wIR5gGXSMgWYPmrrRuktM4Uq4AIL6yLRDwcBtUAjQ9Hbzv3p4lcTyeQ4KO5XRaGSon5DHaCYuh970rIftmjbNSN1sS+A8Z+yIGSTGsC3e6Jsrki3FBZJ9f5SwWETh4n80bngRutGmmoAFUzFePaRslwoUvKmOS2U5PUXJs380Rpva/0K0KxL22nKo3zVZbrJ7es1azLzG39CZuQjWsr+4wd+dV2JwYUsnWrhb4teJsO7VS18mTN8CO7l9s6abrzec353Sg0k5V5elA0ix5yl6vonQ9l26647e24KjnuWi8IwQWUvsn0baWjWw/GSZoo9WO1YGPKtWE8BkpbFTdc06MicsDSM54o5trsmZEaf/2pGXSVdr1jmj6mqAp3ZOwhBqIuUwMisUAd8xppmuEboxvESdgDJGXEPF/1I+nqYdl7 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: * Jiri Slaby (jirislaby@kernel.org) wrote: > On 27. 01. 25, 17:05, Uros Bizjak wrote: > > This patch declares percpu variables in __seg_gs/__seg_fs named AS > > and keeps them named AS qualified until they are dereferenced with > > percpu accessor. This approach enables various compiler check > > for cross-namespace variable assignments. > > > > Signed-off-by: Uros Bizjak > > Acked-by: Nadav Amit > > Cc: Dennis Zhou > > Cc: Tejun Heo > > Cc: Christoph Lameter > > Cc: Thomas Gleixner > > Cc: Ingo Molnar > > Cc: Borislav Petkov > > Cc: Dave Hansen > > Cc: "H. Peter Anvin" > > Cc: Linus Torvalds > > Cc: Andy Lutomirski > > Cc: Brian Gerst > > Cc: Peter Zijlstra > > --- > > arch/x86/include/asm/percpu.h | 15 ++++++++++++--- > > 1 file changed, 12 insertions(+), 3 deletions(-) > > > > diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h > > index 27f668660abe..474d648bca9a 100644 > > --- a/arch/x86/include/asm/percpu.h > > +++ b/arch/x86/include/asm/percpu.h > > @@ -95,9 +95,18 @@ > > #endif /* CONFIG_SMP */ > > -#define __my_cpu_type(var) typeof(var) __percpu_seg_override > > -#define __my_cpu_ptr(ptr) (__my_cpu_type(*(ptr))*)(__force uintptr_t)(ptr) > > -#define __my_cpu_var(var) (*__my_cpu_ptr(&(var))) > > +#if defined(CONFIG_USE_X86_SEG_SUPPORT) && defined(USE_TYPEOF_UNQUAL) > > +# define __my_cpu_type(var) typeof(var) > > +# define __my_cpu_ptr(ptr) (ptr) > > +# define __my_cpu_var(var) (var) > > + > > +# define __percpu_qual __percpu_seg_override > > +#else > > +# define __my_cpu_type(var) typeof(var) __percpu_seg_override > > +# define __my_cpu_ptr(ptr) (__my_cpu_type(*(ptr))*)(__force uintptr_t)(ptr) > > +# define __my_cpu_var(var) (*__my_cpu_ptr(&(var))) > > +#endif > > + > > Another issue with this is this causes all modules in 6.15 are 2-4 times > (compressed size) bigger: Oh, is that why config-all kernel is too big? Dave > $ ll /usr/lib/modules/*-[0-9]-default/kernel/drivers/atm/atmtcp.ko.zst > > -rw-r--r--. 1 root root 10325 May 13 11:49 > /usr/lib/modules/6.14.6-2-default/kernel/drivers/atm/atmtcp.ko.zst > > -rw-r--r--. 1 root root 39677 Jun 2 09:13 > /usr/lib/modules/6.15.0-1-default/kernel/drivers/atm/atmtcp.ko.zst > > It's due to larger .BTF section: > .BTF PROGBITS 0000000000000000 [-00003080-] > [- 00000000000011a8-] {+00003100+} > {+ 0000000000012cf8+} 0000000000000000 0 0 1 > > There are a lot of new BTF types defined in each module like: > +attribute_group STRUCT > +backing_dev_info STRUCT > +bdi_writeback STRUCT > +bin_attribute STRUCT > +bio_end_io_t TYPEDEF > +bio_list STRUCT > +bio_set STRUCT > +bio STRUCT > +bio_vec STRUCT > > Reverting this gives me back to normal sizes. > > Any ideas? > > FTR downstream report: > https://bugzilla.suse.com/show_bug.cgi?id=1244135 > > thanks, > -- > js > suse labs > > -- -----Open up your eyes, open up your mind, open up your code ------- / Dr. David Alan Gilbert | Running GNU/Linux | Happy \ \ dave @ treblig.org | | In Hex / \ _________________________|_____ http://www.treblig.org |_______/