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 D0C35C77B70 for ; Mon, 17 Apr 2023 10:13:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 736688E0002; Mon, 17 Apr 2023 06:13:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6E6B08E0001; Mon, 17 Apr 2023 06:13:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5D6348E0002; Mon, 17 Apr 2023 06:13:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 4F0E48E0001 for ; Mon, 17 Apr 2023 06:13:16 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 2294A40555 for ; Mon, 17 Apr 2023 10:13:16 +0000 (UTC) X-FDA: 80690470392.05.474E687 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf17.hostedemail.com (Postfix) with ESMTP id 625094001A for ; Mon, 17 Apr 2023 10:13:14 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=none; spf=pass (imf17.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681726394; a=rsa-sha256; cv=none; b=EDRZwJbB+ArQlsNYwgmBtI6zrnz8hPNGuSCTkjoXz2VtVv2ANnyiOqNiDyXY9XHK3CMtDm 8nswZtB7Hit5KoXmg/5V0WJ+B9DpJW4naMDiqF0oWfnhVXA1IZjyOR2kSpJ/AYKWWb+1f9 4eS+zdPOz3v6rmSRIHOSA/grLAfNDeg= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=none; spf=pass (imf17.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681726394; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FDdyvD/lkMrkt+ozZ2/9kdcaW9LsU4XeO/k4OHnp6bA=; b=haNpu1+CH808cH6L17B2MEOqlk5vmYznUz/jIs7YcorFIO4uVBn7spx2hMTm697Pg7yM/h weDl026a12+IRTiYIgfGMN91Sf65PalIcwFeyEO9lxgxUDdlDOpOEmTn6kJyZav0UTiLjb 5zqKjYAx73//lSt7/yvLx7lhAKUnlFY= 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 C0C111042; Mon, 17 Apr 2023 03:13:57 -0700 (PDT) Received: from [10.57.68.227] (unknown [10.57.68.227]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7D12C3F5A1; Mon, 17 Apr 2023 03:13:12 -0700 (PDT) Message-ID: <1e9fa06d-3497-22e9-c5d1-7dccf7dff321@arm.com> Date: Mon, 17 Apr 2023 11:13:11 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [RFC v2 PATCH 16/17] mm: mmap: Align unhinted maps to highest anon folio order Content-Language: en-US To: "Yin, Fengwei" , Andrew Morton , "Matthew Wilcox (Oracle)" , Yu Zhao Cc: linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org References: <20230414130303.2345383-1-ryan.roberts@arm.com> <20230414130303.2345383-17-ryan.roberts@arm.com> From: Ryan Roberts In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Queue-Id: 625094001A X-Rspamd-Server: rspam01 X-Stat-Signature: ihszm79ubde8eueg9zzbuuuy3k6cd53u X-HE-Tag: 1681726394-725232 X-HE-Meta: U2FsdGVkX19hZtzB5xUVIbTlxkiT4r+ItStpynLULHdq94qtSAlLgXXNWaE+KapFJ6oCHc//7lzdnsH55IL02xI2wfirxapkbxX6x1q8lOR4MBNIrgxhK91/5tiSxHblCHmj5Bm85f6tAiOApFzVe17GMrb3wPrZgadpmNAsD+XNkCJOXHfpQvGG/y1JvFWuL5huqwUKz3Ok/Oz2CZziMGOD+iGMFYg+3qNPPg6AWtl4W0SUUo2lIfDau2mbnUe1MH+fXM834zWSARiwivUnBI7dVKRfyOrvidY1A5s5KK5jGamVG0psldqy4DSmJb6P4yHtqzzl/aurOSdFtwvdO8h0U9U1cLWXoebLz+N/erW/K+aVIewavnQqHrRHZgt266ISaWxBeDIeVkMDM5WSIrKbRLyU27qtk0HLWUEVpVQ1Yz6jJtHvxXDr6TngEXXNJ1V6JbBG9mr40rvXkMI1iVr2oa1op4V/iLLvMDeDvziQSNmlflO/HC3zLUaprgIoEpQ76j4gGkCfd5/6xNNxx8F8rpCb+8dNTG3DoqYjGbZUGWizfEuhH75bGnZe9FrOPJkEwb23hL6XYii3VbqKfyOzMTeQA585T0o5oHKs2JCjv8hpxh5hJxKz9M0LOWtIr5miJ6gCBkplmkOBQnSXB4bQIFzANT+lcK858Ua9+14tbVLUjnx55kQsjxKAYI8izCg/+nDOxH6OFQCumqVKDKsb5eS10TSvDM8GbUdk13WjZICJ+cwGEk1ZXxcFiqnFLZutxKBV76Pzg5lEqYWv+Yrf9hEg6PDtbaCiY+k55QQRBNrcyXf6TKJDWpkpco9EygmhXUYzWrOCEYT0uc5DnP1Eqy1D/hDJfA9o3/XJRT4kcSAbCj57qEpFM29SNGweBWr4XC0+FVufhPB+UC+14j78QcP8nJVPCW8HDqmVdy95GiWdbiZHItSSNQvnM9RwVVPTScS44Sq7PeLA3xQ vpR9o6rh nZgOv7+Ms6cE/QKwvY0eFj5Ju2MxgT9rKDy9+7vFM3Fso/meP33Uc7THugJ0bEL+V1fDEJDZ215NQYcheRSd2B6O8IvkEv7omis8xQZmCTHYvlTJuFfKFOLGvcRt7tBOI1sMw7mbMuYqiMNBhMVGF0TLQ1TBHAzKwxZD3DRgM557dweM4MjTgeCdQiQ== 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 17/04/2023 09:25, Yin, Fengwei wrote: > > > On 4/14/2023 9:03 PM, Ryan Roberts wrote: >> When allocating large anonymous folios, we want to maximize our chances >> of being able to use the highest order we support. Since one of the >> constraints is that a folio has to be mapped naturally aligned, let's >> have mmap default to that alignment when user space does not provide a >> hint. >> >> With this in place, an extra 2% of all allocated anonymous memory >> belongs to a folio of the highest order, when compiling the kernel. > This change has side effect: reduce the chance of VMA merging. > So benefit to per-VMA lock also. But find VMA need searching more VMAs. Good point. This change brings only a very marginal benefit anyway, so I think I might just drop the it from the series to avoid any unexpected issues. > > > Regards > Yin, Fengwei > >> >> Signed-off-by: Ryan Roberts >> --- >> mm/mmap.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/mm/mmap.c b/mm/mmap.c >> index ff68a67a2a7c..e7652001a32e 100644 >> --- a/mm/mmap.c >> +++ b/mm/mmap.c >> @@ -1627,7 +1627,7 @@ generic_get_unmapped_area(struct file *filp, unsigned long addr, >> info.length = len; >> info.low_limit = mm->mmap_base; >> info.high_limit = mmap_end; >> - info.align_mask = 0; >> + info.align_mask = BIT(PAGE_SHIFT + ANON_FOLIO_ORDER_MAX) - 1; >> info.align_offset = 0; >> return vm_unmapped_area(&info); >> } >> @@ -1677,7 +1677,7 @@ generic_get_unmapped_area_topdown(struct file *filp, unsigned long addr, >> info.length = len; >> info.low_limit = max(PAGE_SIZE, mmap_min_addr); >> info.high_limit = arch_get_mmap_base(addr, mm->mmap_base); >> - info.align_mask = 0; >> + info.align_mask = BIT(PAGE_SHIFT + ANON_FOLIO_ORDER_MAX) - 1; >> info.align_offset = 0; >> addr = vm_unmapped_area(&info); >> >> -- >> 2.25.1 >>