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 9855EC3DA4A for ; Mon, 15 Jul 2024 16:17:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 345236B008C; Mon, 15 Jul 2024 12:17:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2F5586B0092; Mon, 15 Jul 2024 12:17:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1E4A56B0093; Mon, 15 Jul 2024 12:17:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 01E7E6B008C for ; Mon, 15 Jul 2024 12:17:39 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id ABC61A1724 for ; Mon, 15 Jul 2024 16:17:39 +0000 (UTC) X-FDA: 82342492638.15.CB25556 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf16.hostedemail.com (Postfix) with ESMTP id 96091180020 for ; Mon, 15 Jul 2024 16:17:37 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=none; spf=pass (imf16.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=1721060238; a=rsa-sha256; cv=none; b=aPRJTxbIBgrBnZuqHGN2nkaaSGlw2uCaqq6chBYq0h39dCBf+CkBMNXpoytIlprhMeiaUD ZwCczy1vWy2orjwUVzFuZpUK5EeCInxByAAaqvxBDUSItCZF+7Hr/jnK8bkMHf2+5mufy1 uCR2uu9awVcVY4v4BG4ShP9+LH+yv0Q= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=none; spf=pass (imf16.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=1721060238; 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=brLNKtWt+xEbdFSA0XZajlBVXhvLtsk45ZQn2zb/Xxw=; b=MrfnROZTw679xzjGU7AUoBEF2sKQej99FIH4flNvtMXCLIRvhW75iyRGsOXFVsOugtU+qr d7z5EbaFpS1NM3Lb510WN8Tg5UYJYb5UuSFi8fPsbd8zxknT3EFWdceoJ4UEwRtHKB0eXy hutqX5/tcUidSNs7UfSLewNvYvH2oaQ= 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 AE67CFEC; Mon, 15 Jul 2024 09:17:58 -0700 (PDT) Received: from [10.57.77.136] (unknown [10.57.77.136]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E7D653F73F; Mon, 15 Jul 2024 09:17:30 -0700 (PDT) Message-ID: <98eb5fef-8bf2-4d9d-b1a0-ef8d3c2c6ab7@arm.com> Date: Mon, 15 Jul 2024 17:17:28 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] mm/huge_memory: Avoid PMD-size page cache if needed Content-Language: en-GB To: David Hildenbrand , Gavin Shan , linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, akpm@linux-foundation.org, willy@infradead.org, baohua@kernel.org, peterx@redhat.com, ziy@nvidia.com, william.kucharski@oracle.com, baolin.wang@linux.alibaba.com, ddutile@redhat.com, shan.gavin@gmail.com References: <20240715000423.316491-1-gshan@redhat.com> <2c3a5213-ca64-48fb-845a-78aae3e8f15f@redhat.com> From: Ryan Roberts In-Reply-To: <2c3a5213-ca64-48fb-845a-78aae3e8f15f@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Stat-Signature: 8uwsmkdgc95swnd47an6susj97mdp8jt X-Rspamd-Queue-Id: 96091180020 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1721060257-716368 X-HE-Meta: U2FsdGVkX1+/k4EKW7DimEip9pz734qpOwWl4JZ0OmKqfR75ZCjCpEe9Ou1iY/2uB1MwrpJq6rSwUvZmBx26Z9YS3RRLDjQaceBKDI6ckuvaFpf5RfXhXW4BiH9v62u+kz6pRVE+YI48RgdjSV428Zmyjqbjgt4K6eu+XyvUnTfND9QLcTW3u2s6lZhyoXpwloj0t/Dvo8oTZPTRA1i68RqjpCrAwF5xv2mAW23O+dt7ZickHbrKeP7ikE0Ltd8NncQ0C4rwDFoDTFgqxBg5mUO/3Gqsn+zovuOAB752rHT4eGwEuL3NFRPlLCeQ+OI7o2+51Gkpu8CRa8aR4C9oItlQDBI9N0leE1WQ/JZxdI6m8MEmJfBBRpvIg9JPILx1yk9aWFqWwpmKgIZFiE9ZeAD7CrhJLk+pne++v9O7Mugjs1oHSgrM25jxuK41RD8O0ceDkbWtGLrU9GS9QljwDCrFMU6VcVytHhpPtSvbSEw1FQf6LAzV5luNLuua043BVw+9qC3//bAuI1LZA0JY/q8OBMZDdxY1ULZxxwL28gGcT4Kbl98QaaTnbb2TK1PtmF/Rx9fYbi1hpDZGtV6Zzvqh1PdSTzzoLm1ZgXnW/Qqn0N3+ZHWnjlaccDyP/iNsJuTS2p/UFAL4JQ6A+8F4YfuGMy0FaoCekRpp75wHG8C5atq73oFtFI6e6R1J2f4B1RX5ZUjNLf2+eOMAA6AZemyEl8cYvB2H9ixUB2HbqKg0Vcw26w7jHIL3Ib6pPiM4Ga0ZVTLpmv920bZXYkySAWBVzXgzhPmrhXZNmtKafI5AMX9KqwjxGIKwl1auOTQtN1uwg4dLlPF6UJrbvkcfzPxhGa+iAJTvvgQNHlfjoCic5LD/NErzvuWrnrqMVyl5a2dOW4FaeSMeStDyKeVlsmEGOOaSttK4hBJz6OREkYOVbtf+8+OM/T20OA21koAwcc4fepQ0dSfdZD4MaYi GSQ2V3Mz L44awn8L3OWVKG7eAZSaea7bs8kwrfhx1IbyY5/z5QT6IvrgmsIPJLUQiCiO4t8jfBS7oTxRyfIMu75N/LmoorG54xTBHYvZQ7+CH9MHcQvJHuB0hszuQOZDvc9dv6I1/c20SdU48W747KlIQiVaAFGRvIrNTn7XJKKXqHtGSQu5qtajoi6ypQfJSpZxDvTMMsiMn7X7JHhkUa2+IKH4dfVWMJt/tA4zngG9ZtqCtz0pNJ8wwodSiHsp7rHW6uxSeGbHvydjv7VZCMEnCaMGvX0rNOglqQqL0GfVVbjLXmufkz96PCl249Yzpb+8R/6DqLmaOw//JQ4hUbaSQi1ddKGRCdmxETrCKPT+Ad0Mf6akPSGHhtACZB7GPTA== 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 15/07/2024 17:13, David Hildenbrand wrote: > On 15.07.24 12:41, Ryan Roberts wrote: >> [...] >> >>> diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h >>> index 2aa986a5cd1b..c73ad77fa33d 100644 >>> --- a/include/linux/huge_mm.h >>> +++ b/include/linux/huge_mm.h >>> @@ -72,14 +72,20 @@ extern struct kobj_attribute shmem_enabled_attr; >>>   #define THP_ORDERS_ALL_ANON    ((BIT(PMD_ORDER + 1) - 1) & ~(BIT(0) | BIT(1))) >>>     /* >>> - * Mask of all large folio orders supported for file THP. >>> + * Mask of all large folio orders supported for file THP. Folios in a DAX >>> + * file is never split and the MAX_PAGECACHE_ORDER limit does not apply to >>> + * it. >>>    */ >>> -#define THP_ORDERS_ALL_FILE    (BIT(PMD_ORDER) | BIT(PUD_ORDER)) >>> +#define THP_ORDERS_ALL_FILE_DAX        \ >>> +    (BIT(PMD_ORDER) | BIT(PUD_ORDER)) >> >> Appologies if this was already discussed, but if changing _FILE_DEFAULT to >> advertise all orders 1-MAX_PAGECACHE_ORDER, shouldn't we also change _FILE_DAX >> to advertise all orders 1-PUD_ORDER ? Or is DAX literally limited to PTE/PMD/PUD? > > It's limited to that. > > IIUC, it's simply some physical memory area that can be interpreted as small > folios, PMD-sized folios or PUD-sized folios, and someone (fsdax?) makes the > decision "how" it is interpreted/setup these folios. > > These folios can only be mapped entirely (single PMD/PUD) or via PTEs, so > PMD_ORDER+PUD_ORDER is correct. OK got it. In that case: Reviewed-by: Ryan Roberts > > Thanks Gavin! > > Acked-by: David Hildenbrand >