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 019ADC25B7E for ; Tue, 4 Jun 2024 09:45:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 74B016B00A6; Tue, 4 Jun 2024 05:45:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6FB336B00B8; Tue, 4 Jun 2024 05:45:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 576676B00B9; Tue, 4 Jun 2024 05:45:29 -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 35F7A6B00A6 for ; Tue, 4 Jun 2024 05:45:29 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id DA907C0C79 for ; Tue, 4 Jun 2024 09:45:28 +0000 (UTC) X-FDA: 82192723536.09.0772E1F Received: from out30-130.freemail.mail.aliyun.com (out30-130.freemail.mail.aliyun.com [115.124.30.130]) by imf22.hostedemail.com (Postfix) with ESMTP id 76194C0009 for ; Tue, 4 Jun 2024 09:45:25 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b="C/iyW8f4"; spf=pass (imf22.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.130 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717494327; 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:dkim-signature; bh=vbTEU+QReOv/YXLhMYe94JXt/EprrLouNKIL/3NbTqU=; b=JdLdYVM8fqbf496EioBUkaIso/ZiGcmYIFVGoK6c6hPb6BURb5CC7eehzUVHF0pTCO2WRD df5gdQCT8VibBsda+kWd7J52R7Dp6ueyMusg6fAP9pcSYbKX+3/K375/ETORvyBfykWVVt oix8XThvweKMPjasnLynyQQB7xt/vp0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717494327; a=rsa-sha256; cv=none; b=MGiiFP0J6HwfF7WJk1/HPtWbV7irP3AeHcYNCBR5Bo5yLkmvCB/oX3NF0PH/WQFwxpAADQ 6CmkHKJeiXemaPvdWwflqn11uqSia9qL4apkAAneLd4y9f2gz02pmuxJOTHuF7SDFyu6s+ XXk04SRqXaF7osbXjI/goD5U28F1nFg= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b="C/iyW8f4"; spf=pass (imf22.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.130 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1717494322; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=vbTEU+QReOv/YXLhMYe94JXt/EprrLouNKIL/3NbTqU=; b=C/iyW8f47fg5XCvyn4pz5bDX65eu3x7yM/niBBK/9JTfQOPQmgd88cWIrkGuL266i9k1yF1T4nqV2EO6kleEJ/tsEuTYWgLf+Hr0q6tTAlcmp4zNm6ibr3ZDEUsj3CY+z9EPSciD3mdEuFtGZC2gBDx0K1L1RihzIoJ+uXgGPZM= X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R371e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=maildocker-contentspam033037067112;MF=baolin.wang@linux.alibaba.com;NM=1;PH=DS;RN=15;SR=0;TI=SMTPD_---0W7qjMx5_1717494320; Received: from 30.97.56.67(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0W7qjMx5_1717494320) by smtp.aliyun-inc.com; Tue, 04 Jun 2024 17:45:21 +0800 Message-ID: Date: Tue, 4 Jun 2024 17:45:20 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 0/6] add mTHP support for anonymous shmem To: Daniel Gomez , David Hildenbrand Cc: "akpm@linux-foundation.org" , "hughd@google.com" , "willy@infradead.org" , "wangkefeng.wang@huawei.com" , "ying.huang@intel.com" , "21cnbao@gmail.com" <21cnbao@gmail.com>, "ryan.roberts@arm.com" , "shy828301@gmail.com" , "ziy@nvidia.com" , "ioworker0@gmail.com" , Pankaj Raghav , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" References: <502fb3df-b42b-4f0c-a98d-348c3d544721@redhat.com> From: Baolin Wang In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Stat-Signature: z5gdj1sgtewghqkhcxu3e5hfd5n6k7w1 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 76194C0009 X-HE-Tag: 1717494325-855023 X-HE-Meta: U2FsdGVkX1/GmjoAxT8b7z9674QE/uqTalCHN9uo1YDj7oJMH0b2V1XjAg6G7VMsk5+TZV0EteYlE47g7CkvdK+LNsf9r4TrULvYOhhbfMqO9PUHfr8t/ypJzaQN39mkz5GTCNcY1Wcq5Ux/CfD+69lUvp0RjMzbzVes6lEo47kLfIy9/nChhbYeoK7lks4thsaWshRqVaARYB0tCTXj+Y8TD6ti3eX2ZQxbC0cvMgRhNHPNVroX+JK9RBpC+Omkl1V8ayUjnmJtAPCZQZQM9B6otkr47cVVyx1NCSaoMMcWEtTEVOOHoyNeFbwLnMSP76cAuDYvLiJamgFlC/5PfB3YhVXaDtk+A80x2YqOYtrZtzQ6kSNV6YuzOZiBlJeHRlJbTU1PpPL6xqE4JEeixvPB6FpBtLMcZo/zU6o3Cu2sHtVkcatd7PTEW5+6uG+19+Ojbez5sS3eAnxqG5I5POzsZiyu/tbQXAEQDbkophbsbQbt20ixVLdQz1AnNwmKTCTKcsIWju7ORAafOEg4wAifzqLAFZh/DGkwDigymZ2sR/E/TZ9ctUz5NUMwXtASYtRy21onxBzdEzdZYxvkDWTP0PNIUY6WyzCZvr4mMgR+oEilMsF0n+sHz3LT5qpINM41E5Y/opDsna5lf8psXf7pm+Xu9oQgHTQGJ1Xo81cn7c/b4eNfKa54xi7c2CfjLsYrISEstqqVF5awEOp8/fhpHIBmYhY18Gs3VdtdoSvTuhspFEE3b06SMVwEOMEea7H6W8H+Qk0Vbik+jX689H1qQZpF4KvSqnrYkA4emcUYW5MnlaYUrFXYqww8jYIaBvtV2wM7/nyRapEsoh25UmgL9O0mraXqoX7drlj1yKVxRHpD1qFTWdkJ4FX4NsdqCiLuVQ0ktLs2ToOwMmcOuFDe1wvQLgt7ccfH0zHWzXCRZ0bxxe3kwqrZn+UEvz5tviZgf2dxj57FPWzb8jx /xDQMcYL akGzhRT9LH4EIncJXQg67xOBfHogzmZUJcWu8c4nIuFj8ZDClsB6I3PvjBZXj6mjvVhz1YGE3tqtd+efUmrE3l6d2zKrDPq+A9OsFlxJF2dq26BYR/qN/ci90JuyGM1TbJycfYnxifPRrbMQObkF1+RO12RQueLqlQR6+l8X/GTpvKyOidE1F7N4iQepNqP8AhVh89RU6JoLX2+d/SkOAkU1vN9S1XWog2iSLIaOqiEfsHZDoOd8gnwLi2MyuKMGWu9E6d4ot7g3RxENOuTZt8+9vBi7lv0nkg9FG65KWKNklUo6MjfcwYvJfnjSGXpsK7+79xEvxboC2a/uvmMWRzy9qWquWagHg44fOoeIR46yIw9loe5/Ls5LdwNJuDQmisrKpKCNlIIf6x1y38hVrGy4On3jOOf4r6mNbNjVV3vIfDe81tfyNErRyWV/eKOL8Ghxf 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: On 2024/6/4 16:18, Daniel Gomez wrote: > On Fri, May 31, 2024 at 01:13:48PM +0200, David Hildenbrand wrote: >>>> >>>> As a default, we should not be using large folios / mTHP for any shmem, >>>> just like we did with THP via shmem_enabled. This is what this series >>>> currently does, and is aprt of the whole mTHP user-space interface design. >>>> >>>> Further, the mTHP controls should control all of shmem, not only >>>> "anonymous shmem". >>> >>> Yes, that's what I thought and in my TODO list. >> >> Good, it would be helpful to coordinate with Daniel and Pankaj. > > I've integrated patches 11 and 12 from the lsf RFC thread [1] on top of Baolin's > v3 patches. You may find a version in my integration branch here [2]. I can > attach them here if it's preferred. > > [1] https://lore.kernel.org/all/20240515055719.32577-1-da.gomez@samsung.com/ > [2] https://gitlab.com/dkruces/linux-next/-/commits/next-20240604-shmem-mthp > > The point here is to combine the large folios strategy I proposed with mTHP > user controls. Would it make sense to limit the orders to the mapping order > calculated based on the size and index? IMO, for !anon shmem, this change makes sense to me. We should respect the size and mTHP should act as a order filter. For anon shmem, we should ignore the length, which you always set it to PAGE_SIZE in patch [1]. [1] https://gitlab.com/dkruces/linux-next/-/commit/edf02311fd6d86b355d3aeb74e67c8da6de3c569 > @@ -1765,6 +1798,10 @@ static struct folio *shmem_alloc_and_add_folio(struct vm_fault *vmf, > > order = highest_order(suitable_orders); > while (suitable_orders) { > + if (order > mapping_order) { > + order = next_order(&suitable_orders, order); > + continue; > + } > pages = 1UL << order; > index = round_down(index, pages); > folio = shmem_alloc_folio(gfp, order, info, index); > > Note: The branch still need to be adapted to include !anon mm.