Received: by 2002:ab2:5d18:0:b0:1ef:7a0f:c32d with SMTP id j24csp64531lqk; Sat, 9 Mar 2024 00:20:59 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUepX0ivsh3DLwOrlDIVGBJrBelhzoVkq1qJNhwkYIBmnO6KFGcXfHXN+l+yaiyie/NLncK2r5kwnl0dY8ahTzQ0dqvAcIUbdEakfUT8A== X-Google-Smtp-Source: AGHT+IGo7cHupy7WPNUOh+9eGDIIfrV0edPOrTW8yR0uWknPqw7Jzmg3bxyS5AteSzz4k8iCB/RZ X-Received: by 2002:a05:622a:353:b0:42e:c431:9a8d with SMTP id r19-20020a05622a035300b0042ec4319a8dmr2599789qtw.0.1709972459255; Sat, 09 Mar 2024 00:20:59 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709972459; cv=pass; d=google.com; s=arc-20160816; b=MuPPhciS2Q6s89OxLVQH4FOxZn1xLoYWlGZnG+Gj2MIW9ouRqCIsYirCB/aBsh1f6L mm+VFFmwTvfMuSpVUIf5f4dXdtxJuAI3XuUKKPK5r7iSUDkTbHkQdX/j7QbsK5zEjwr6 XlsOarhdPXtsZ7a+7Gh9NH2efHslrhnXP4hfTANsjuZf731OUJbV9eHouyiAyGJf5Kbz eWHPZmDOhjYtReQuV9V9mbUQqv7l6f9YytJPhAZG/BtBSBr/AAdPiAGdA+SerrIs7bDD w96jZ9ma79jo23iiv9sTArDR7LiUX7Cqlw2Kt1dQsTqEqwtgZRUxOn2Xy7YidWhMLtOu B+0w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=subject:cc:to:from:date:references:in-reply-to:message-id :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :user-agent:feedback-id:dkim-signature:dkim-signature; bh=O/clYP0WT8TUfViTy/TttNTQQUBUVKt6xrQJBXMtImQ=; fh=LgzuFQ0+0WB7flKi0JMGFqAyf35QOzwVW9H8r/c4uNQ=; b=wBURxBgPHcd9rV4VgRIeplY8sF8epgAXG3venqg67GeRnQgjbCGpRfNJLTqJkvBHu8 CnDgpmoyYagUvEbPpgD3GjUv/ox+IzR/HYsvl3K2liNHY8gikEm59PUEjVs3w82c7d+Z uB5lUdxPHOq/5oetzSe8dFlgZjMdrMDlqSHf4HVxoJXQfrDevyljSUY21cL3lSUDyPhQ uO1QmFsvtxV1tnwRlk4m14Gw10w7vhtogHzyVsN8Xj16IoU/COavL7HFOC3WnYTezwPV EC+vzlVTKcl7St5kDVu9Cw997RlA393WEgcMtNPsy7vTqQC+UvIZ7R8N0S8mSug28MtN UFpQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@arndb.de header.s=fm1 header.b=D1MVVyTa; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b="TTAM/JVG"; arc=pass (i=1 spf=pass spfdomain=arndb.de dkim=pass dkdomain=arndb.de dkim=pass dkdomain=messagingengine.com dmarc=pass fromdomain=arndb.de); spf=pass (google.com: domain of linux-kernel+bounces-97806-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-97806-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=arndb.de Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id u14-20020a05622a14ce00b0042f21393ed6si1230483qtx.552.2024.03.09.00.20.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Mar 2024 00:20:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-97806-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@arndb.de header.s=fm1 header.b=D1MVVyTa; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b="TTAM/JVG"; arc=pass (i=1 spf=pass spfdomain=arndb.de dkim=pass dkdomain=arndb.de dkim=pass dkdomain=messagingengine.com dmarc=pass fromdomain=arndb.de); spf=pass (google.com: domain of linux-kernel+bounces-97806-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-97806-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=arndb.de Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id E9FAC1C20B65 for ; Sat, 9 Mar 2024 08:20:58 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9990C374C4; Sat, 9 Mar 2024 08:20:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=arndb.de header.i=@arndb.de header.b="D1MVVyTa"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="TTAM/JVG" Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com [64.147.123.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 90411249F5 for ; Sat, 9 Mar 2024 08:20:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=64.147.123.19 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709972452; cv=none; b=sgFPSJXgqmchQGCmoUKpFWf4ExjgQSoDFQXr1UfK3FH1JBXzXBVFUka544fqY0e5IpPOjzeHlIj0piprKeIiKia/xijx1WBNJx/Tywm5wx/fqBSDqkxaPUzHfgMVcnp82xTyK00pX2ND9ryMlic2PonbldyROnqxvdZ0u/ZaoC8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709972452; c=relaxed/simple; bh=yflydMTLwkTf9u1r8dKppMT9BpeV+YA/TPw9GxCivlI=; h=MIME-Version:Message-Id:In-Reply-To:References:Date:From:To:Cc: Subject:Content-Type; b=W5FsVIZnrEn0lwO4culP6/xxsZFHkCKsy0lvJu8fFpS9xEAsiU5SuODQ94XW8kLSDhfHYCsB2wLsU/2kcE7nsI7jWkI/LMT/Dk1QqFYubRho2EQphG8wGh2wVb86VhCkbO8K6xnO5iKtCC9JGNssCQ5p4irXo+PXXXjOJSNex1I= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arndb.de; spf=pass smtp.mailfrom=arndb.de; dkim=pass (2048-bit key) header.d=arndb.de header.i=@arndb.de header.b=D1MVVyTa; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=TTAM/JVG; arc=none smtp.client-ip=64.147.123.19 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arndb.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arndb.de Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 59D56320094F; Sat, 9 Mar 2024 03:20:47 -0500 (EST) Received: from imap51 ([10.202.2.101]) by compute5.internal (MEProxy); Sat, 09 Mar 2024 03:20:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1709972446; x=1710058846; bh=O/clYP0WT8 TUfViTy/TttNTQQUBUVKt6xrQJBXMtImQ=; b=D1MVVyTaCd9rPXCWN4kBea+RoR rThRfAAc7XEsLNRPm9dthQw0ev3LoiXkkQZ/3v5wZL4vjqF49ijxdeY/eKX4zapj VjR+op9PjCymkw+Ax2+lLLm93AWCEy+66OdL4o9RX2YYCOyB8N50awH/gfXdeQZ9 43whi1JZvcCaYP/PpXmyLhgm67RW88PXCGD8Ucg6IGR/VnKArdptCxjoMU63rSm8 pwP/P3GbKFAhpJt59jX9Bg4uw2JtqXj9+3klUXkLF65xPVKHEHUnPXmSSu2AlVtA fvoVqYpV7PCLexwQ4eXNYT5XefT3k7OYFP5AHZpSOCIi26nbBVFEERs3YjDQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1709972446; x=1710058846; bh=O/clYP0WT8TUfViTy/TttNTQQUBU VKt6xrQJBXMtImQ=; b=TTAM/JVGEx2vhnSHIkGonKp8wJBC8rlsGkn6rs9pZirS 1wpobtGRPEUpwuDHlWmt/NIwn9c47WITKiOm5+6um49vG2Mfzkr5/mxNYhqfLkTo +PKCZhyqiMKrvEGUJiYd3RMoy7ob20YCxI6hKZf5JB2xkxalHFde6rznBJAxu1bT n/GhhKuaQ2UOxvA26TKuzLCe3nLnv2i+gQOyOR6/EClICxqkkYG/al9fsZf2PcwD b4Xwv8xNZ4/2dhCmtT1OU7oVhN+g2BulZb0dw0W0r61310ELr72Xdp1rFaus2iFz qLRpWvMc/sHQDI2egDDA13HkS4cOSv1xcwfVhtL5bg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrieeigdduudeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehttdertderredtnecuhfhrohhmpedftehr nhguuceuvghrghhmrghnnhdfuceorghrnhgusegrrhhnuggsrdguvgeqnecuggftrfgrth htvghrnhepffehueegteeihfegtefhjefgtdeugfegjeelheejueethfefgeeghfektdek teffnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprg hrnhgusegrrhhnuggsrdguvg X-ME-Proxy: Feedback-ID: i56a14606:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 8AA17B6008D; Sat, 9 Mar 2024 03:20:45 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-251-g8332da0bf6-fm-20240305.001-g8332da0b Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <2a90581c-f1df-4d6b-8f0b-8e7cbf150ed9@app.fastmail.com> In-Reply-To: <42892794-7668-4eb0-8d2f-c78ca0daf370@huawei.com> References: <20240307151231.654025-1-liuyuntao12@huawei.com> <58cc1053-7208-4b22-99cb-210fdf700569@app.fastmail.com> <42892794-7668-4eb0-8d2f-c78ca0daf370@huawei.com> Date: Sat, 09 Mar 2024 09:20:15 +0100 From: "Arnd Bergmann" To: "Yuntao Liu" , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, "Ard Biesheuvel" , "Fangrui Song" Cc: "Russell King" , "Andrew Davis" , "Andrew Morton" , "Kirill A. Shutemov" , "Geert Uytterhoeven" , "Jonathan Corbet" , "Mike Rapoport" , "Rob Herring" , "Thomas Gleixner" , "Linus Walleij" , llvm@lists.linux.dev Subject: Re: [PATCH-next v2] arm32: enable HAVE_LD_DEAD_CODE_DATA_ELIMINATION Content-Type: text/plain On Sat, Mar 9, 2024, at 07:14, liuyuntao (F) wrote: > On 2024/3/8 21:15, Arnd Bergmann wrote: >> On Thu, Mar 7, 2024, at 16:12, Yuntao Liu wrote: > > Thanks for the tests, CONFIG_LD_DEAD_CODE_DATA_ELIMINATION and > CONFIG_TRIM_UNUSED_KSYMS do indeed result in a significant improvement. > I found that arm32 still doesn't support CONFIG_LTO_CLANG. I've done > some work on it, but without success. I'd like to learn more about the > CONFIG_LTO_CLANG patch. Do you have any relevant links? I did not try to get it to boot and gave up when I did not see any size improvement. I think there were previous attempts to do it elsewhere, which I did not try to find. The patch below makes it build, but it still requires disabling CONFIG_THUMB2_KERNEL, which totally defeats the purpose of shrinking the kernel as it adds some 40% size overhead in the vmlinux. There are probably also runtime bugs that get introduced by this. Arnd diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index de78ceb821df..7ebfda4839e8 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -2,6 +2,8 @@ config ARM bool default y + select ARCH_SUPPORTS_LTO_CLANG + select ARCH_SUPPORTS_LTO_CLANG_THIN select ARCH_32BIT_OFF_T select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE if HAVE_KRETPROBES && FRAME_POINTER && !ARM_UNWIND select ARCH_HAS_BINFMT_FLAT diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 726ecabcef09..f2ddce451ab9 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -9,6 +9,8 @@ OBJS = HEAD = head.o OBJS += misc.o decompress.o +CFLAGS_REMOVE_misc.o += $(CC_FLAGS_LTO) +CFLAGS_REMOVE_decompress.o += $(CC_FLAGS_LTO) ifeq ($(CONFIG_DEBUG_UNCOMPRESS),y) OBJS += debug.o AFLAGS_head.o += -DDEBUG diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c index d19d140a10c7..aee9e13023a8 100644 --- a/arch/arm/mm/flush.c +++ b/arch/arm/mm/flush.c @@ -38,15 +38,14 @@ EXPORT_SYMBOL(arm_heavy_mb); static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr) { unsigned long to = FLUSH_ALIAS_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT); - const int zero = 0; set_top_pte(to, pfn_pte(pfn, PAGE_KERNEL)); - asm( "mcrr p15, 0, %1, %0, c14\n" - " mcr p15, 0, %2, c7, c10, 4" + asm("mcrr p15, 0, %1, %0, c14" : - : "r" (to), "r" (to + PAGE_SIZE - 1), "r" (zero) + : "r" (to), "r" (to + PAGE_SIZE - 1) : "cc"); + dsb(); } static void flush_icache_alias(unsigned long pfn, unsigned long vaddr, unsigned long len) @@ -68,11 +67,11 @@ void flush_cache_mm(struct mm_struct *mm) } if (cache_is_vipt_aliasing()) { - asm( "mcr p15, 0, %0, c7, c14, 0\n" - " mcr p15, 0, %0, c7, c10, 4" + asm("mcr p15, 0, %0, c7, c14, 0" : : "r" (0) : "cc"); + dsb(); } } @@ -84,11 +83,11 @@ void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned } if (cache_is_vipt_aliasing()) { - asm( "mcr p15, 0, %0, c7, c14, 0\n" - " mcr p15, 0, %0, c7, c10, 4" + asm("mcr p15, 0, %0, c7, c14, 0" : : "r" (0) : "cc"); + dsb(); } if (vma->vm_flags & VM_EXEC)