From patchwork Thu Dec 8 05:36:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mina Almasry X-Patchwork-Id: 13067965 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BC478C3A5A7 for ; Thu, 8 Dec 2022 05:38:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: Mime-Version:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Owner; bh=ix4ng5XJEqNEI+EZFqRSUiesWJJ6tNrXRmlewrgoeWw=; b=IpT AikC206ME2T/gDypquht27lPqncGoaGEz72RClIsNVLS5gyICVmb/zuMDk8YwK2w4o6Kokw6eH0gH 8nDTkcXK6A5MU8HzLeMf/cEXstYjK3ybQEOeB3yflUGG3GbaiDUGdMfnnAA2bNgIp7/NxkPKr44x8 aldwT/s1pFH/6s9ulumfTVGref+4+AzLsfFfSG1yt2v4uerm3q0J3Q8bLkIi9e+ZI4xlhh3O74gtF 3WEfUmFIM6I/H04GJwqYq5AWJXVlWP+kftqJrM4g9834BM+7Mb69Dwfe3Tu9NvnTztlWndaXBF8LJ GBmbaF34vnU43kCvTo6UOLuFn4c9PZg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1p39ah-002LEg-Fo; Thu, 08 Dec 2022 05:37:03 +0000 Received: from mail-yw1-x114a.google.com ([2607:f8b0:4864:20::114a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1p39ae-002L72-Dt for linux-arm-kernel@lists.infradead.org; Thu, 08 Dec 2022 05:37:01 +0000 Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-3cf0762f741so3411287b3.16 for ; Wed, 07 Dec 2022 21:36:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=aFPe+UaD50XmRyvV+9N8/5Pjm4UIlo/mfvRAp67LmRs=; b=b9vlBISV2U6xtyPqG6iizPpwZ1rCcvWaHUFLIXIpmxXBSmfaQm7mDS/yiuM2z9eDsf hgonrPVAZ+xEbAlFkOEwA7Ua7p6/SbxlAbQj7D5Ghco2U+pP6gS4NLI5MTnYjJg5D8es YMMZIi/ur4FRZyHVnYFbJKXlvaoF00TXZkvQLVRdwZViDRiLXlPRYDHc4ycf+KG8qLn3 ubjrahAFyA3Q/mX6wwqqAEipM1BAwWzjagMBXyoVihDiVC9OGkBbi3EJCY4xKTOK130y WwqMy+l6Tl+eTbqHSS71GnF2YPnxmshdmVVccO0/oJYn7173JH7YVN2F8byrT86AlF7m EmEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=aFPe+UaD50XmRyvV+9N8/5Pjm4UIlo/mfvRAp67LmRs=; b=fZwlNtGpbISUKpPZls6B6Dlc73iaYD0LLML6XyVJ7/sIsbtq1vt1S/8EQCo7yL81Ta t2OEzf1ufHr2vCbRv3ANTJNHjl3Aro2xbhpZxkRVl84P6HrwiOZn3VCuz5Xc/ln4A2k+ U4Uf1kIVLK1ai+JRs5nfjM4MZCSxk2BY2KeMf3vA2Mr/mJo1sbA3051H6d5Q9vOI5MFy iANxJM2C9OxgPCsmkg0SVOUAaKUaYtt4mwlMJ5DpjEKuMGWCnBl6pHQ7AJd5v8sYsGRB +Ys4RfQ9VR3zisUINGR5u2CWvkZUTBVAeIWTXGpd2oOmc9iZD1OH7kWSvmZULKL7LqFq Q3fA== X-Gm-Message-State: ANoB5pmBAlUEl79KY7BySRSbCPYUyFsMzch1P/qxcuEXKNuWLVBWtOlE RSzFr6m00W/t3j+TskbUdzi6iHXVF0dRSy6ctQ== X-Google-Smtp-Source: AA0mqf5vuaRpDMVUisiO7EdXWObW5xbPD+OIV/eZKRvS6jn5hLBCvVd5DdDyo4CEGmBBkGoGWRaYw9UBV2kklynOfg== X-Received: from almasrymina.svl.corp.google.com ([2620:15c:2d4:203:3dc:88c1:734b:ca2e]) (user=almasrymina job=sendgmr) by 2002:a25:ac8:0:b0:6fa:678a:7623 with SMTP id 191-20020a250ac8000000b006fa678a7623mr31338358ybk.577.1670477815589; Wed, 07 Dec 2022 21:36:55 -0800 (PST) Date: Wed, 7 Dec 2022 21:36:48 -0800 Mime-Version: 1.0 X-Mailer: git-send-email 2.39.0.rc0.267.gcb52ba06e7-goog Message-ID: <20221208053649.540891-1-almasrymina@google.com> Subject: [PATCH v1] arch: Enable function alignment for arm64 From: Mina Almasry To: Catalin Marinas , Will Deacon Cc: Mina Almasry , Peter Zijlstra , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221207_213700_504678_7839C25E X-CRM114-Status: UNSURE ( 9.55 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org We recently ran into a double-digit percentage hackbench regression when backporting commit 12df140f0bdf ("mm,hugetlb: take hugetlb_lock before decrementing h->resv_huge_pages") to an older kernel. This was surprising since hackbench does use hugetlb pages at all and the modified code is not invoked. After some debugging we found that the regression can be fixed by back-porting commit d49a0626216b ("arch: Introduce CONFIG_FUNCTION_ALIGNMENT") and enabling function alignment for arm64. I suggest enabling it by default for arm64 if possible. Tested by examing function alignment on a compiled object file before/after: After this patch: $ ~/is-aligned.sh mm/hugetlb.o 16 file=mm/hugetlb.o, alignment=16 total number of functions: 146 total number of unaligned: 0 Before this patch: $ ~/is-aligned.sh mm/hugetlb.o 16 file=mm/hugetlb.o, alignment=16 total number of functions: 146 total number of unaligned: 94 Cc: Peter Zijlstra Acked-by: Will Deacon --- arch/arm64/Kconfig | 1 + 1 file changed, 1 insertion(+) -- 2.39.0.rc0.267.gcb52ba06e7-goog diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index cf6d1cd8b6dc..bcc9e1578937 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -235,6 +235,7 @@ config ARM64 select TRACE_IRQFLAGS_SUPPORT select TRACE_IRQFLAGS_NMI_SUPPORT select HAVE_SOFTIRQ_ON_OWN_STACK + select FUNCTION_ALIGNMENT_16B help ARM 64-bit (AArch64) Linux support.