From mboxrd@z Thu Jan 1 00:00:00 1970 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 5B594C77B6E for ; Fri, 14 Apr 2023 15:37:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A79066B0072; Fri, 14 Apr 2023 11:37:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A29356B0075; Fri, 14 Apr 2023 11:37:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8C9CF900002; Fri, 14 Apr 2023 11:37:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 793DD6B0072 for ; Fri, 14 Apr 2023 11:37:58 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 4C5131A02E1 for ; Fri, 14 Apr 2023 15:37:58 +0000 (UTC) X-FDA: 80680402236.19.704598A Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com [64.147.123.20]) by imf12.hostedemail.com (Postfix) with ESMTP id 146D140017 for ; Fri, 14 Apr 2023 15:37:54 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=shutemov.name header.s=fm1 header.b="M K6DsHp"; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=CpTj9f1x; dmarc=none; spf=pass (imf12.hostedemail.com: domain of kirill@shutemov.name designates 64.147.123.20 as permitted sender) smtp.mailfrom=kirill@shutemov.name ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681486675; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=omsDg+gTM1NPGX4dPYQwQLh9wydwutmgbjTaY7zla/k=; b=EluXijafRSQT3idF6exWF46edGLOmgx1+FRZw4SB5wR68z+f16FBhLO4U2G/oJpAI7WaQs TzzVSXtIuQ0uWQ8KeJF2Qwp0qLqz0vh302yK8DPsbdTgAsxjy/L24xo2N3Xppgfs7HlaR6 aeYX7WiqeS9OcJi8GiudVaMPqUg0fcU= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=shutemov.name header.s=fm1 header.b="M K6DsHp"; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=CpTj9f1x; dmarc=none; spf=pass (imf12.hostedemail.com: domain of kirill@shutemov.name designates 64.147.123.20 as permitted sender) smtp.mailfrom=kirill@shutemov.name ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681486675; a=rsa-sha256; cv=none; b=ftzW28VLZEcTqHs3VNubPI3Ch1L4qmYFKOaErUE2pbrC0bEH6DzSxsmrVqJKv90SYwjcps tkFnGV+azkJrJJbB/rzphKzCQLE5n48ZGXdUR0uFP8VVXv7WUhyhWqL6s/SliA0juGlhJL 3q1wH6pisXgjDiOiWun5yBJd4hjQt2s= Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 467D132009E3; Fri, 14 Apr 2023 11:37:51 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Fri, 14 Apr 2023 11:37:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shutemov.name; h=cc:cc:content-type:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1681486670; x= 1681573070; bh=omsDg+gTM1NPGX4dPYQwQLh9wydwutmgbjTaY7zla/k=; b=M K6DsHpNJ4BwOv5ffWEcJyhQStDE9ObijKrif0F4mGGkvRVXKCxiUANKI/UOB2jAk TycMUPvXhWOYhAobax6XqSwvGzJmDOHismTRLqV7YvTQgMXqp1m8wBHpThEJrwsJ OYn4BdUkPstd6vldc0bN8qvkIHzBagD7GWILCXcNMyz/UskNU5Kiqnax8JVLbuhv BjN5csrcTv7VQ9E9QKg0kxu/gN9k0uTDqZkV7Ht3tXxsTNBygI2RTN24O7/mLiVq /Ws9cZHPX8dKhaqbxiqq+dEdcBAyryCPwk2vVk6j+o2uJzIoToUxfSZh4A+0KLa/ soIz342ROYA+Y4ZivGR5w== 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:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; t=1681486670; x=1681573070; bh=omsDg+gTM1NPG X4dPYQwQLh9wydwutmgbjTaY7zla/k=; b=CpTj9f1xTWP1B2Q+kLxNGjm1aMSeB dQrId5P28eIaklWT6bM2KMahoSw9QR4KaCTzLEsRpZ5FbeEeqzXI8l/bjsOnGQO6 /bKMVEHIQYyzdSxjkVWWcA90pA/xHi2z+4p/qhOAjCmFnMyyBpBX+XhcKBqyeGRe avATcXxCNIq5pDXaa1hVT4kXgTB4Ip1FqUV0e1XURTBX0iqfi9SX/02KZCxbXuge BUoixfffIJEfKSmmQ/b4KfcI8SSRcLUEjIa+51rC43RlboSfh0mYXkeuoEvUTL0A BrbLTo4V5aLZpSB2U/Sb012LdIqkP96hQdzzz+/RuwFalZmZeiZAvPadg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeltddgleduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvfevuffkfhggtggujgesthdttddttddtvdenucfhrhhomhepfdfmihhr ihhllhcutedrucfuhhhuthgvmhhovhdfuceokhhirhhilhhlsehshhhuthgvmhhovhdrnh grmhgvqeenucggtffrrghtthgvrhhnpefhieeghfdtfeehtdeftdehgfehuddtvdeuheet tddtheejueekjeegueeivdektdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh epmhgrihhlfhhrohhmpehkihhrihhllhesshhhuhhtvghmohhvrdhnrghmvg X-ME-Proxy: Feedback-ID: ie3994620:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 14 Apr 2023 11:37:50 -0400 (EDT) Received: by box.shutemov.name (Postfix, from userid 1000) id BE99B10D7B4; Fri, 14 Apr 2023 18:37:47 +0300 (+03) Date: Fri, 14 Apr 2023 18:37:47 +0300 From: "Kirill A. Shutemov" To: Ryan Roberts Cc: Andrew Morton , "Matthew Wilcox (Oracle)" , Yu Zhao , "Yin, Fengwei" , linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org Subject: Re: [RFC v2 PATCH 05/17] mm: Routines to determine max anon folio allocation order Message-ID: <20230414153747.n5kyhvb5a726lvrz@box.shutemov.name> References: <20230414130303.2345383-1-ryan.roberts@arm.com> <20230414130303.2345383-6-ryan.roberts@arm.com> <20230414140948.7pcaz6niyr2tpa7s@box.shutemov.name> <2b76ee7e-06d1-94ca-d22e-46b6302b7c30@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2b76ee7e-06d1-94ca-d22e-46b6302b7c30@arm.com> X-Rspamd-Queue-Id: 146D140017 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: qz4319hcm85dfprkcdk9sjwcpokjy3jp X-HE-Tag: 1681486674-886543 X-HE-Meta: U2FsdGVkX18QrKlSbzNHFRHRej6RFYks5pF8F7QFOprRGaG+UX0qCDSsdPsiCNu1CZl0rgXeBr45FLVPW3vVgYeJiNDZUd12AXmjKwX/k4DAvL/kBq3AlrFQQWt39461tgGgHMYtGMAQboMrf63tB2mLdHrinznSLQXy36gRrCQfsxiTjhmn2S6FNlkR1H5SyAFqAjlpgDKwVVwTJFRWJyxg8ufupaA6QGGl+IseylZAYgzX0DFH5ONOlRVN+foEHTQRh0lYyBBaQNgMMdG8Hl2AislJPK2jWvkooOlaFiI5hYfmugjQTmAZa3c2CDFiLka4Mwpz7YKFzSMseZSid4qvvDFEd7l0lXw7SQahoa9iYkcz3bHdTSCuyDyL+HnaCit+YRcB4Hfa9DC1TCPObQIHy2QQZ3TrsvXcH5VzPkaNo65C/ho62sRSBEYhnZ3CKWvQhiGk2IAC0AQja3zHBmq/AjyF2XK9Femgx1XvzZof74KE/9eF7AKpfYxUD9xzLrOsU2O4yG/i6ArCSFTgX3ZvMa0do2CmC7aVTBgq4rksTHLXxzaCDUR04qBnlwxnK+b5+r/qjAGLZmUvzwL9OrQ3mIbpraYTJiK/swj0yHgsCDypHBZDh6WF/voV7uKhf4WeXbMg+8ugdcsij/iWxDBCNB8w9Kv+Q4Aq7/J6qLRxIm4f+ToLw7HzWNKfzyKaQMPfETpUbMN8Pi6jkPQdqfSnC68K+arVy2XEz3/83CUNlv1+HsJKTHmg00wTpCifjWi9/xeTNCSqf7PG/GuYxkVwP4dsKZ0mfpmyfreW6S8Zl03E1u31ERuhmV9V2zwWygCaSWdmKNj7csBbhEYYyT3qpGvJcTz2MJ8ffX//JGg8i12pUik2nMqRg2g0VMI1W5M7jpqU5ChYqCZUXgjebEfheHZ19UjSgHMlJNd82Q4pbB2vHxO/H99bGJF2BUF0ploVfB/aqgrj9kcDGcz +kjGwaA6 2hMdBOk8wR62kM4WQD9FuAv0AD+mC3cgUa60RuB0RJUyN5gfsEbuSD3A0y1HiuwNgfm5CKww3ok4pZfFDXWCSLg2bdaciDvN9/JTdUvNkJNcpT4meH88cUcpZtF27ml9bYbKLx1Cfaraba1YxOd0yr/fxp1uaZdlVITiZq6gRcBiwrs5u4+pmgo+SqH+j1ILJ4RwOB/ir/tP9u+k+nYzSJfCY3dR/12ZkMFat8+hVWdRhRZMP1tuEqJhtESck7l5fXILwwV78IDInwOE2RGf4ATQ5JitBCKhEjzhfyr5FlKQJ/H3cu7l/nf5veKPXKfO68KqjeaV5BPurJkv88HK9x4b5bcNcWXImvp2ARmk6N/lxOqLz2rllxMLy4w== 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: On Fri, Apr 14, 2023 at 03:38:35PM +0100, Ryan Roberts wrote: > On 14/04/2023 15:09, Kirill A. Shutemov wrote: > > On Fri, Apr 14, 2023 at 02:02:51PM +0100, Ryan Roberts wrote: > >> For variable-order anonymous folios, we want to tune the order that we > >> prefer to allocate based on the vma. Add the routines to manage that > >> heuristic. > >> > >> TODO: Currently we always use the global maximum. Add per-vma logic! > >> > >> Signed-off-by: Ryan Roberts > >> --- > >> include/linux/mm.h | 5 +++++ > >> mm/memory.c | 8 ++++++++ > >> 2 files changed, 13 insertions(+) > >> > >> diff --git a/include/linux/mm.h b/include/linux/mm.h > >> index cdb8c6031d0f..cc8d0b239116 100644 > >> --- a/include/linux/mm.h > >> +++ b/include/linux/mm.h > >> @@ -3674,4 +3674,9 @@ madvise_set_anon_name(struct mm_struct *mm, unsigned long start, > >> } > >> #endif > >> > >> +/* > >> + * TODO: Should this be set per-architecture? > >> + */ > >> +#define ANON_FOLIO_ORDER_MAX 4 > >> + > > > > I think it has to be derived from size in bytes, not directly specifies > > page order. For 4K pages, order 4 is 64k and for 64k pages it is 1M. > > > > Yes I see where you are coming from. What's your feel for what a sensible upper > bound in bytes is? > > My difficulty is that I would like to be able to use this allocation mechanism > to enable using the "contiguous bit" on arm64; that's a set of contiguous PTEs > that are mapped to physically contiguous memory, and the HW can use that hint to > coalesce the TLB entries. > > For 4KB pages, the contig size is 64KB (order-4), so that works nicely. But for > 16KB and 64KB pages, its 2MB (order-7 and order-5 respectively). Do you think > allocating 2MB pages here is going to lead to too much memory wastage? I think it boils down to the specifics of the microarchitecture. We can justify 2M PMD-mapped THP in many cases. But PMD-mapped THP is not only reduces TLB pressure (that contiguous bit does too, I believe), but also saves one more memory access on page table walk. It may or may not matter for the processor. It has to be evaluated. Maybe moving it to per-arch is the right way. With default in generic code to be ilog2(SZ_64K >> PAGE_SIZE) or something. -- Kiryl Shutsemau / Kirill A. Shutemov