Received: by 2002:a05:7412:1e0b:b0:fc:a2b0:25d7 with SMTP id kr11csp413345rdb; Thu, 15 Feb 2024 04:19:19 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUy8OSyZ+4SLg5Az/fro5vtr78364TF9Hh5WAi/pBFZSbdschyavf2GWUbN9bGPM6UDdqrgmMkQQbfxjF+jEHcZGtY1iMwYuqWZ4dpZ8A== X-Google-Smtp-Source: AGHT+IGBBg6+DqdjGbPrJGGADRLTagnRrGyO0gFDPzrXAaPvaNY+khXIw1N3MwYp7qP0LIKSYSid X-Received: by 2002:a17:906:b0d1:b0:a3d:4ed8:f5bf with SMTP id bk17-20020a170906b0d100b00a3d4ed8f5bfmr1257187ejb.2.1707999558901; Thu, 15 Feb 2024 04:19:18 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707999558; cv=pass; d=google.com; s=arc-20160816; b=w4cIuejcMVN7+HIENB8qme1e7fw+L2K1mc1z7kWo1nWy3LcOY2XK/R8dJ9ftD2wWWp vxXYowaC+6M0kJ0ZwFn3zLbovSO6PMf5SEmnM0k5JSnB2v35z5XX4IzywxuJbGDnvgOi rZ6UrxiBQvUDHbC8AfRrOlggREuV8OlSS18VoWoxpTg4grtZ1ao+1InZQkSRApBBa6gf Hsw2rxs5TLWPndAlbKF5PIyZ+WKt/4EVulrGuo0ltYp9AGTNCePr7/el6TgC+XHcxYnU M3OiBEs7lRyDkf4bKyyhkD8NiaU3zsHlGjgMvVt2Pb7BmrRk6vMtnVZRwOWUqhrT/9EK lhzQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from; bh=djYJwShBq6wbk5Xppr25LzC5laLJijpWrzDCEzEspN8=; fh=2FwJMiZjh7JNs0IOfHdUsjppsJNoMkV8ot/xk2oRsPU=; b=GqUwh/TBbui2sCpkw0HLg70M2WeRcYbemydsmtv//tOTFJuBrw8mayO+xbnswSFlyf S3wM+poIvV5OijJqHQfOKr/o8RJNeo2+t9qww/mre1A/T5rjwFbVheSuXHmywSoTWq8V We+HmUpEPIPRZKQsMEQUhOb0hIkq8IFXF3QP1j4qdTFYe/PPTwvPzTVLMDaihtGUtWEM z+rjebX0aXXuaX+YB+mShT/IjgVsQ+jcN6iREV1FXnvNmpUrOY3QHZfULVJtEWiU9vwP a/Yb+PjYb9jh6dshwdRl8sXU/LTMTBQmKnr5B6ImHZ3W6qV2KzcRpxMVkeobcfKiy48y cCag==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-66876-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-66876-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id gf7-20020a170906e20700b00a3d07c192c5si586921ejb.960.2024.02.15.04.19.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Feb 2024 04:19:18 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-66876-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-66876-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-66876-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com 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 am.mirrors.kernel.org (Postfix) with ESMTPS id A17E81F23885 for ; Thu, 15 Feb 2024 12:19:18 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C3F6712E1E7; Thu, 15 Feb 2024 12:18:15 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E0CE112DDAD for ; Thu, 15 Feb 2024 12:18:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707999495; cv=none; b=HrZP4g6EJ7WVN4k5RyeN/XYz9YsKAYO9eFVnUgpavpGyNLJRHAWSx9w1wK6xrDMSgMTkzbpiz/+hzEFoNoLjaCurdYqpzy2Pd+69aEzPcQwQW9Y7rwHBFnUAAwMsjlmqJoku+fzXhgd/F9jdqS2z545bk4tNo0YL6YWco2aZgRM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707999495; c=relaxed/simple; bh=OdZO9g+9FSaWD9oyiiwTscd6V8RMai4lWO4CUR6mAuY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=GBDtxR6JYI29Sx5ggmr9PcOQxzC/uVseZiZ0BpsglFkJxzRRev2UpVipyI5HPLZBMyzPfV/8kWb88nuoefeENn2rfRI90ud1V9nYtrkVZk9hfZSIavmfsggc5X9u879txXngj7ouCASdMf4+Yas12z8Kj+XvcXw48Dn4vMnlkXc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=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 A35301FB; Thu, 15 Feb 2024 04:18:54 -0800 (PST) Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com [10.1.196.26]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 07C203F766; Thu, 15 Feb 2024 04:18:11 -0800 (PST) From: Ryan Roberts To: David Hildenbrand , Mark Rutland , Catalin Marinas , Will Deacon , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , Andrew Morton , Muchun Song Cc: Ryan Roberts , linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH v1 4/4] arm64/mm: Override ptep_get_lockless_norecency() Date: Thu, 15 Feb 2024 12:17:56 +0000 Message-Id: <20240215121756.2734131-5-ryan.roberts@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240215121756.2734131-1-ryan.roberts@arm.com> References: <20240215121756.2734131-1-ryan.roberts@arm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Override ptep_get_lockless_norecency() when CONFIG_ARM64_CONTPTE is enabled. Because this API doesn't require the access and dirty bits to be accurate, for the contpte case, we can avoid reading all ptes in the contpte block to collect those bits, in contrast to ptep_get_lockless(). Signed-off-by: Ryan Roberts --- arch/arm64/include/asm/pgtable.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h index 401087e8a43d..c0e4ccf74714 100644 --- a/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h @@ -1287,6 +1287,12 @@ static inline pte_t ptep_get_lockless(pte_t *ptep) return contpte_ptep_get_lockless(ptep); } +#define ptep_get_lockless_norecency ptep_get_lockless_norecency +static inline pte_t ptep_get_lockless_norecency(pte_t *ptep) +{ + return __ptep_get(ptep); +} + static inline void set_pte(pte_t *ptep, pte_t pte) { /* -- 2.25.1