From patchwork Tue Sep 27 07:52:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yajun Deng X-Patchwork-Id: 12989997 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 4F384C6FA86 for ; Tue, 27 Sep 2022 07:53:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D95918E00B5; Tue, 27 Sep 2022 03:53:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D44858E00AF; Tue, 27 Sep 2022 03:53:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C0E448E00B5; Tue, 27 Sep 2022 03:53:15 -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 B1A198E00AF for ; Tue, 27 Sep 2022 03:53:15 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 79B6212052B for ; Tue, 27 Sep 2022 07:53:15 +0000 (UTC) X-FDA: 79957099950.12.6817B2E Received: from out0.migadu.com (out0.migadu.com [94.23.1.103]) by imf30.hostedemail.com (Postfix) with ESMTP id D5A3E8000E for ; Tue, 27 Sep 2022 07:53:14 +0000 (UTC) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1664265192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=QARHQJJqXFRMVlOzDzMQADfn54pG19eVVGeo/uHoR54=; b=mwS5stQ5zKqAEvrTnAEnNq2aehk18zEWWgwhz4mJvHGsxxyN7AQuOyAIBbQYedA19wZOFl WotowCGn46UDCjOZj8wXkdxxX+xhMBo3WImju8ItTznhseB0gKLqmlv3IR+06f6JnVAc+f ueOL+nTj+IXmt0Bfu+aQ9wyLmLi3pMk= From: Yajun Deng To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yajun Deng Subject: [PATCH] mm/early_ioremap: Combine two loops to improve performance Date: Tue, 27 Sep 2022 15:52:39 +0800 Message-Id: <20220927075239.270583-1-yajun.deng@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: linux.dev ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=mwS5stQ5; spf=pass (imf30.hostedemail.com: domain of yajun.deng@linux.dev designates 94.23.1.103 as permitted sender) smtp.mailfrom=yajun.deng@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1664265195; a=rsa-sha256; cv=none; b=ZNbKPyec/NEBRerOVnfjtRzvnUN4dp5iS5mUWce5NDmZBRpQAYYcZ5aXWotkqhmqB+b8Ai 9VNxPXLoHefvWtlrb1CEEkjIqtXd1g3VzRuv9Xhlmms67zOpyiDNSINZd4dMfqEukeiAFi UKnRRSjJH1VmVB2MIflWQTkA7HZgbnw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1664265195; 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:references:dkim-signature; bh=QARHQJJqXFRMVlOzDzMQADfn54pG19eVVGeo/uHoR54=; b=Hu0xEeHp3Dd1cxApWMjbFE/pfTLTLvg3VPMrU6uMb1zCOJItpkMKler66hTNhw4z204P8Y B+C56C7F9PCsMQTRlKlAePJVkaGZiGkC6lyIVGRXbTj996i5MNr9W50aX449Pz9K2AlFUt J3yrh5SVX9umnXVr0ETdb1HEpFmOOpo= X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: D5A3E8000E X-Rspam-User: Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=mwS5stQ5; spf=pass (imf30.hostedemail.com: domain of yajun.deng@linux.dev designates 94.23.1.103 as permitted sender) smtp.mailfrom=yajun.deng@linux.dev; dmarc=pass (policy=none) header.from=linux.dev X-Stat-Signature: 1x3ygxc984otrh5cuko4nth8hh9wbbao X-HE-Tag: 1664265194-688704 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: The first loop will waring once if prev_map is init, we can add a boolean variable to do that. So those two loops can be combined to improve performance. Signed-off-by: Yajun Deng --- mm/early_ioremap.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mm/early_ioremap.c b/mm/early_ioremap.c index 9bc12e526ed0..3076fb47c685 100644 --- a/mm/early_ioremap.c +++ b/mm/early_ioremap.c @@ -70,14 +70,15 @@ static unsigned long slot_virt[FIX_BTMAPS_SLOTS] __initdata; void __init early_ioremap_setup(void) { + bool init_prev_map = false; int i; - for (i = 0; i < FIX_BTMAPS_SLOTS; i++) - if (WARN_ON(prev_map[i])) - break; + for (i = 0; i < FIX_BTMAPS_SLOTS; i++) { + if (!init_prev_map && WARN_ON(prev_map[i])) + init_prev_map = true; - for (i = 0; i < FIX_BTMAPS_SLOTS; i++) slot_virt[i] = __fix_to_virt(FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*i); + } } static int __init check_early_ioremap_leak(void)