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 1B615C25B76 for ; Wed, 5 Jun 2024 08:30:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9AD826B0092; Wed, 5 Jun 2024 04:30:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 95C1E6B0093; Wed, 5 Jun 2024 04:30:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 823A96B0096; Wed, 5 Jun 2024 04:30:30 -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 65A226B0092 for ; Wed, 5 Jun 2024 04:30:30 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id D7AA6A0D96 for ; Wed, 5 Jun 2024 08:30:29 +0000 (UTC) X-FDA: 82196163378.03.F875B8B Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.2]) by imf13.hostedemail.com (Postfix) with ESMTP id 5BC3F20009 for ; Wed, 5 Jun 2024 08:30:25 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=163.com header.s=s110527 header.b=PYJ4EDth; dmarc=pass (policy=none) header.from=163.com; spf=pass (imf13.hostedemail.com: domain of ranxiaokai627@163.com designates 220.197.31.2 as permitted sender) smtp.mailfrom=ranxiaokai627@163.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717576227; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=x4ORCTIk2E2uJe0udJSKoOkRMe2N4/T+Jt4x6oUiyoY=; b=dGad3C4TiCJU/P82cvW6X8NZmVo6JkbDwfZ0GTZ1IWaKq1wbIXiMq5OorCG2+NL4qdiKnh WxJqOGdJvk52rza0SarNlRjnOUCtUPHFVqUD4plWYyxVFloZEW3rPHKBuf2zZig58jYgjM i6lyjK25CpT3U38TEvQf15UpntYyX4Y= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=163.com header.s=s110527 header.b=PYJ4EDth; dmarc=pass (policy=none) header.from=163.com; spf=pass (imf13.hostedemail.com: domain of ranxiaokai627@163.com designates 220.197.31.2 as permitted sender) smtp.mailfrom=ranxiaokai627@163.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717576227; a=rsa-sha256; cv=none; b=ZwccKC4Wr1rVv3HENz8PBZzhhxmoHY/oD/8EWtw7YmT8cxfjKus/KGB9s8RTc5ZzfzYkb/ 8J9D3k5VKfRIcmuyqzYXxmTLGO8mSm40RATpDMi1vF6d5Tud22zX50PVaZty/if9DJ2DCq kSfNPRhExmfW+hrHZmSTmrxYEA13xHo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=x4ORC TIk2E2uJe0udJSKoOkRMe2N4/T+Jt4x6oUiyoY=; b=PYJ4EDthC4ir9DsCjlLUZ 4wRR5mk2BrCxA60y2uTqWiVNbtIuxd7yPII4+R1xsfMeHl/p5XcKZ8LyN5ZMhkt5 n/vzilJYhkQo1BV3dtQ5++2eUFWu2jWSWzcunvsqZ/KL1VEK9g+LuTFjl3Q+knBd usDRuaPbsvAJmvmwFKfs10= Received: from localhost.localdomain (unknown [193.203.214.57]) by gzga-smtp-mta-g1-5 (Coremail) with SMTP id _____wDnT8wRImBmHCpvAQ--.16928S4; Wed, 05 Jun 2024 16:30:11 +0800 (CST) From: ran xiaokai To: david@redhat.com Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, mhocko@kernel.org, ran.xiaokai@zte.com.cn, ranxiaokai627@163.com, v-songbaohua@oppo.com, xu.xin16@zte.com.cn, yang.yang29@zte.com.cn, ziy@nvidia.com Subject: Re: [PATCH linux-next] mm: huge_memory: fix misused mapping_large_folio_support() for anon folios Date: Wed, 5 Jun 2024 08:30:08 +0000 Message-Id: <20240605083008.891170-1-ranxiaokai627@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <05e50d0c-4222-4c1f-b051-c7249f04c661@redhat.com> References: <05e50d0c-4222-4c1f-b051-c7249f04c661@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID:_____wDnT8wRImBmHCpvAQ--.16928S4 X-Coremail-Antispam: 1Uf129KBjvJXoW7Cw15JF43ArW8Cr4rZFW8Zwb_yoW8ArWrpF yqgas8KrZ5XF4Y9ryvqw17trnY9ry8X34UZa4xJwnIkas8Ka12gFW2k3W5uayUZr4xJw4I va1UJa43WF1Yy3JanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0JUN189UUUUU= X-Originating-IP: [193.203.214.57] X-CM-SenderInfo: xudq5x5drntxqwsxqiywtou0bp/xtbB0hb0TGWXyLDBSwAAs8 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 5BC3F20009 X-Stat-Signature: nb8sy3fhs74dhnspkddtestf9c77s4em X-HE-Tag: 1717576225-299472 X-HE-Meta: U2FsdGVkX189hhH87ATo6S16M6gVUChddEXLtYDt9MydVxtpu8zxUWixuodOvCtunJi/0Of7t4h3BkuWImHEZ60IlcKOKW8AlyEO2rAhv9DQdsRHc/Jw47RTrgvb0VNkw/C5IPwCUqw/N+EFcptSEdRED0+CAT/AlAUbCgnGTBWmUqo576UGlNaBts8mFmhyekQiEUYLJlIy1z4kC97uZGTGw7YB34k3tpU4U/TNir4ZSugEH19lB9Po6Wev7R6COd/QmAHhEejMWXCaMLJVWbNFs21X+rCxpFpXNH9ssaRfdxB6loecixML7G/52FMV+gJ+cZ7CLhyert2zt+2w58REM4eB76yUkwidPFW+fRExB+YB1szrw7JgyFGuaZB6fK0xNTFcx2QeOkRS0uRRT4gzA/kBCu+2EKTurvgszbMIH4698a70OhdovqsLjt27mJtlLYJA7hvSmAVKDtgSnn697C9CUMyI1thTOqbDsVrKdVeuEDtTI88Ewd2Hf+z8zE7PmKVlqx44jSGct0aboymcMpyKu/arwP5OXFzKYVTQCXKri3pPyOWbOBcpPbauCQ1wiSIMBReltrLxgXRnnUmyEXBCu583ESGdJ+nJj4/2gAEZZDFTaHTKUh4+lfsTXcxymp9qoOM7kTxvXRnDAMfbe9DHHH/3iai//9BSXXIMKW+LumHl4iIJCu8XpB9GLjP+Z4eIYLjCPQyneBSGniWcnL65wsC1Qp1Cc1uE9wXli1F8jcJrYRihuGr17pQLLDfNQ48tsnKfItKvVcH8qUfZivJyFh7VJuGs6PmNXJp0QugjynRTI60E7cUtRyrLKreyHefa0VnHK1PQ8n7To/Uevs2Zfs2mSxLobHEkLCofoW076i+5540pU/Hqs8haHhlqdxLEjkERW6M+2FijiCuzSI1jusRLG+nRkW6z1YdVPBtGOMIRjASBy+OSWmpCIduzSkibABhtVz5z27i MT/s8zDX +nAOEA/oMBiXj0k1+EUqL/WbmJmNFyCjH5jmvDIODu4kAmjNsaKTvjYlZaicAZudtNqt5Qp9RUSqkugJeoBulK1Wu4toPnn1lXo0nkDn9IMClHKmZv1fdPfE+YiY1A0ET9eBnJWOHYklNIorn1khgG7CMXqFo/B1D1QuIpUs2GDNfxNvIB0RAw06RmnYHExurIaQM65RhWOlPQvnfJSKKwrv1EjbF7xobSRXgafL7Pu3FT+wjFATMeHqHFJZG1ttHtYrKSK44Y5imFdtuigtWrjA89WkMwKnun/tzySA8Uv9W2LK12Z/yhAtcFVXcvjPJsc6wCUGuTLPuz/9doGVFbNkHeyY4ckIKeoHrdrAVxrYow9ktvc+PUqMQJ+795Z3NIB2y40zm3jPVRueZDLFd8UGP2QmwTkv2Nym+qGLPlvxMwSRvrRlQeLtckGdc/LIhgvp23QKz5iRS/HQ= 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 05.06.24 04:20, ran xiaokai wrote: > >> On 04.06.24 07:47, xu.xin16@zte.com.cn wrote: > >>> From: Ran Xiaokai > >>> > >>> When I did a large folios split test, a WARNING > >>> "[ 5059.122759][ T166] Cannot split file folio to non-0 order" > >>> was triggered. But my test cases are only for anonmous folios. > >>> while mapping_large_folio_support() is only reasonable for page > >>> cache folios. > >> > >> Agreed. > >> > >> I wonder if mapping_large_folio_support() should either > >> > >> a) Complain if used for anon folios, so we can detect the wrong use more > >> easily. (VM_WARN_ON_ONCE()) > > > >> b) Return "true" for anonymous mappings, although that's more debatable. > >> > > > > Hi, David, > > Thanks for the review. > > I think a) is better. > > But we have to add a new parameter "folio" to mapping_large_folio_support(), right ? > > something like mapping_large_folio_support(struct address_space *mapping, struct folio *folio) ? > > But in the __filemap_get_folio() path, > > > > __filemap_get_folio() > > no_page: > > .... > > if (!mapping_large_folio_support(mapping)) > > > > the folio is not allocated yet, yes ? > > Or do you mean there is some other way to do this ? > > If we really pass unmodified folio->mapping, you can do what > folio_test_anon() would and make sure PAGE_MAPPING_ANON is not set. I think I just misunderstood your suggestion. How about this ? static inline bool mapping_large_folio_support(struct address_space *mapping) { VM_WARN_ONCE((unsigned long)mapping & PAGE_MAPPING_ANON, "Anonymous mapping always supports large folio"); return IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) && test_bit(AS_LARGE_FOLIO_SUPPORT, &mapping->flags); }