From patchwork Mon Oct 14 10:58:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Roberts X-Patchwork-Id: 13834699 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 975BBD1A443 for ; Mon, 14 Oct 2024 11:01:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1B5DC6B00BC; Mon, 14 Oct 2024 07:01:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0EBCC6B00BD; Mon, 14 Oct 2024 07:01:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ECF076B00BE; Mon, 14 Oct 2024 07:01:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id C92A36B00BC for ; Mon, 14 Oct 2024 07:01:07 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 64FB8C0D56 for ; Mon, 14 Oct 2024 11:00:59 +0000 (UTC) X-FDA: 82671915438.20.6479062 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf02.hostedemail.com (Postfix) with ESMTP id 6A69B80012 for ; Mon, 14 Oct 2024 11:00:54 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf02.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728903509; 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:in-reply-to:references:references; bh=xJWf5Towi95SWggcq2L3OEdCfoka1zUWhvozEl9HTkI=; b=uOaQ2L82dd2AstQddlOOn0UqqiswFoh2Co5ZMnC4DWb046uIBBBWbYw7H7BGjr8nzEYHKX x1Hk8NQr/mKRktFTHSAKs/gyolP5SUCnPD+al0+Rw5BwCnMlKIN+akdKtYQCNYwaip3WPL 4wiuuCgunFrrqlfsG/ndYPvsovl1tJg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728903509; a=rsa-sha256; cv=none; b=f9jSBI0Xl9ekkoeupeUkN6OeEhfcsa17IYeOGZ7nf/UtNgz7IrwG2YFGWX1CWpP3cyeQ51 b+PzmClYpnkZbqBVgzdWwgyvvc/tnynTbIj/L8wZWteL1vPpkJ8kv0hdpHFQfFueTWextX H9bFfbKdoPdMXiYHcvBUkLArYkg0StM= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf02.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D88E716F8; Mon, 14 Oct 2024 04:01:34 -0700 (PDT) Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com [10.1.196.27]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B95D73F51B; Mon, 14 Oct 2024 04:01:02 -0700 (PDT) From: Ryan Roberts To: Andrew Morton , Anshuman Khandual , Ard Biesheuvel , Catalin Marinas , David Hildenbrand , Greg Marsden , Ivan Ivanov , Kalesh Singh , Marc Zyngier , Mark Rutland , Matthias Brugger , Miroslav Benes , Will Deacon Cc: Ryan Roberts , linux-arm-kernel@lists.infradead.org, linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH v1 31/57] edac: Remove PAGE_SIZE compile-time constant assumption Date: Mon, 14 Oct 2024 11:58:38 +0100 Message-ID: <20241014105912.3207374-31-ryan.roberts@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241014105912.3207374-1-ryan.roberts@arm.com> References: <20241014105514.3206191-1-ryan.roberts@arm.com> <20241014105912.3207374-1-ryan.roberts@arm.com> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 6A69B80012 X-Stat-Signature: ioiq3tdxass1scd8zuwfo1i1mut1nuj4 X-Rspam-User: X-HE-Tag: 1728903654-630468 X-HE-Meta: U2FsdGVkX1/GO8tfMugOAZR3xcrP6wxpd0M5G1kagcKSXOhroHVMFPdSE0kvMUNhW7M9qPz5rBjPJezNlqZMT2WWCWkwbu4ltMZBQpnTk2Zlva+x6oN1emzZtQd0uYuQUvWntSrfEWtvA1qYt7fEdngh7nPHJ0KbWy8nEmnMNdVK+q7SzFcWm9REVrVO+oiCyxVS+DnDbWOz6K4Zie0NmecwC3ZfbfRTrC+DSxtK8HkFifrGM5ztIiUIRgKDxF+vYD/D85BX0Y+pDB09l0kyDLzDt5vHxJt1bzjAYyI2TVPk+wyPaevUop5Um8ms7h/reOmxPji8bRokchHLpy1pYN0GRtPzgYiBVHj76lY0pwNiPal2ZOhi7BAadAVrbZZr8f8EKlGXW7w6dZgaGH37mUrF8wX71przzS70bn122C+Aii234tvP9dtSjKFUNYZseRetodwXN77iYCb5EqxAOIORWpg7xYFYc37Dww+T1xmTztp2xYgEHoMSBiIrzFL29JgOOmCylgErH80CCjqvSYNEznG+IDDl+ICcCfxN2hU7GlJhPFPMLemHBS8lnpS9sAwO96ALpSpXb7dfUTgK+w9nXJ/cC5mZp1mBviPE5OKRIlyQ8FQJekAT69+ffbYLB3QY37f9IPGjmauXRcR8Ro4z3nwCgJPs0Rp8DaMg7RMGd/pzu2xpdVa2zGeG7gcl09/qdGv1aWJY8OkIVE++VdbvrsO3Qw0PNS42OpfPEmO3UUoQIZN8kjYJXuQbP1l9HV5REj1mhXWOuG3igpH4DH2mCHKn5Pm4c8P7blLXnydAKpKaZQdZKlxHXiyDZYVhFEAHZqNKA8YngrLK8i7whgRQW4kxwfPtM2YQpfEcOmu4dAYbXcBOd5KaDPumKmUFf+rrBy50zT9OLbr64HO6rnLSvkt8eFjg5QKFhLvkwge701ZHXzw5towjj543dHkXCaRooeBXqfsNQyG1nds X3LmhoDa qZXIc1mvo23N9YLaYlAfKj5tZuEtgNJ65b861TVNAykx+jjBmOlFIR5mWiQVgwGl9ju4dt+I+CX2BPrPI8V4uBmBe2+QlCwheDdKLvS+FHotg4hw5XZtjv22jKBch/aoIIWfQx+n7Yjo7BCcFigmC35wyMwcKJxla3NP3IV51zerf76jSufQBz+H8vAlDsxtS7OyPqVOyaVKUYL+tZk3nz7GXLQLgCmgNh3iP 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: To prepare for supporting boot-time page size selection, refactor code to remove assumptions about PAGE_SIZE being compile-time constant. Code intended to be equivalent when compile-time page size is active. Convert PAGES_TO_MiB() and MiB_TO_PAGES() to use the ternary operator so that they continue to work with boot-time page size; Boot-time page size can't be used with CPP because it's value is not known at compile time. For compile-time page size builds, the compiler will dead code strip for the same result. Signed-off-by: Ryan Roberts --- ***NOTE*** Any confused maintainers may want to read the cover note here for context: https://lore.kernel.org/all/20241014105514.3206191-1-ryan.roberts@arm.com/ drivers/edac/edac_mc.h | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/edac/edac_mc.h b/drivers/edac/edac_mc.h index 881b00eadf7a5..22132ee86e953 100644 --- a/drivers/edac/edac_mc.h +++ b/drivers/edac/edac_mc.h @@ -37,13 +37,12 @@ #include #include -#if PAGE_SHIFT < 20 -#define PAGES_TO_MiB(pages) ((pages) >> (20 - PAGE_SHIFT)) -#define MiB_TO_PAGES(mb) ((mb) << (20 - PAGE_SHIFT)) -#else /* PAGE_SHIFT > 20 */ -#define PAGES_TO_MiB(pages) ((pages) << (PAGE_SHIFT - 20)) -#define MiB_TO_PAGES(mb) ((mb) >> (PAGE_SHIFT - 20)) -#endif +#define PAGES_TO_MiB(pages) (PAGE_SHIFT < 20 ? \ + ((pages) >> (20 - PAGE_SHIFT)) :\ + ((pages) << (PAGE_SHIFT - 20))) +#define MiB_TO_PAGES(mb) (PAGE_SHIFT < 20 ? \ + ((mb) << (20 - PAGE_SHIFT)) : \ + ((mb) >> (PAGE_SHIFT - 20))) #define edac_printk(level, prefix, fmt, arg...) \ printk(level "EDAC " prefix ": " fmt, ##arg)