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 959D4C27C53 for ; Wed, 12 Jun 2024 04:43:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ECFFE6B0083; Wed, 12 Jun 2024 00:43:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E593C6B0089; Wed, 12 Jun 2024 00:43:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CF9596B013F; Wed, 12 Jun 2024 00:43:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id AF9D86B0083 for ; Wed, 12 Jun 2024 00:43:49 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 04896C026A for ; Wed, 12 Jun 2024 04:43:48 +0000 (UTC) X-FDA: 82220993778.08.F05B45F Received: from m15.mail.163.com (m15.mail.163.com [45.254.50.219]) by imf04.hostedemail.com (Postfix) with ESMTP id 347BA40002 for ; Wed, 12 Jun 2024 04:43:45 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=163.com header.s=s110527 header.b=eUD4HTR7; dmarc=pass (policy=none) header.from=163.com; spf=pass (imf04.hostedemail.com: domain of ranxiaokai627@163.com designates 45.254.50.219 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=1718167427; 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=08nvxUJoWiC4KViLG7ofKg87VtDw88I4g5s84vmog6I=; b=ISgs//N0sqF90SBM/2mTJGmgpBP62CBryeynmVs+Nt+vBDd+SnMnXw+fuLtsy+4BE+CnCY CqOEUaNvnQFDWAcNd6XFmVmUC5JTPfTEkJglLdof9mrvzbtaxJafYyGn/yKU4ymJ6YXk+b Cirnuj3vaGVVM7tA4/+sp6MmXOobUx4= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=163.com header.s=s110527 header.b=eUD4HTR7; dmarc=pass (policy=none) header.from=163.com; spf=pass (imf04.hostedemail.com: domain of ranxiaokai627@163.com designates 45.254.50.219 as permitted sender) smtp.mailfrom=ranxiaokai627@163.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718167427; a=rsa-sha256; cv=none; b=ul9T8nQxI+NsuzNthoOxL6cDXVz65gbaBJIgqo18Eav7O2ybtWJA6xojiElnqacDtb9FuY q0pYmyDcUF0avKrgYaY2ortb7ZQH/G+QGyLmnNCDFpMBSMtGTCY6gcFilUOEKRhTLXo4O7 1HWKWrtKpMmZZ2K4gbe+sf2cIn0vIfs= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=08nvx UJoWiC4KViLG7ofKg87VtDw88I4g5s84vmog6I=; b=eUD4HTR7jSWyzGgp+4Vkq 1yNFi8BuQeX0G1BAspf3Zmz5byWEAuartENn1emiU8/+xw+wFUCCcSmYaw3OiVuq P5FmrJGom63yFXwcsm/5Qqm7+EBbfz2JcGjdgVgwSmS5z431oK3uuXHFsbwPhRqF 1FjPjIMrKm6rcCXKwrw6wU= Received: from localhost.localdomain (unknown [193.203.214.57]) by gzga-smtp-mta-g0-2 (Coremail) with SMTP id _____wDH7w92J2lmhVCKAQ--.3449S4; Wed, 12 Jun 2024 12:43:35 +0800 (CST) From: ran xiaokai To: akpm@linux-foundation.org Cc: david@redhat.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, mhocko@kernel.org, ran.xiaokai@zte.com.cn, si.hao@zte.com.cn, v-songbaohua@oppo.com, xu.xin16@zte.com.cn, yang.yang29@zte.com.cn, ziy@nvidia.com Subject: Re: [PATCH linux-next v3] mm: huge_memory: fix misused mapping_large_folio_support() for anon folios Date: Wed, 12 Jun 2024 04:43:33 +0000 Message-Id: <20240612044333.979885-1-ranxiaokai627@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240607142153.5cc922f1f2c96989dc809cd3@linux-foundation.org> References: <20240607142153.5cc922f1f2c96989dc809cd3@linux-foundation.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID:_____wDH7w92J2lmhVCKAQ--.3449S4 X-Coremail-Antispam: 1Uf129KBjvJXoW7KF47Ar4fXFy5Jw48CrWfKrg_yoW8Zr1rpF 15Wrs5t3ykJFZYkrnFv3WvkFnYy3yrWay8Aa4fGwnFyas8uF4F9FyIk3WjvayUWr95urWx AF4UWF9xu3Z8JFJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0zRoKZZUUUUU= X-Originating-IP: [193.203.214.57] X-CM-SenderInfo: xudq5x5drntxqwsxqiywtou0bp/1tbiMxn7TGXAlx6BsAAAsA X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 347BA40002 X-Stat-Signature: 35obsskxhj3pmi45gryaxudswoz5abon X-Rspam-User: X-HE-Tag: 1718167425-394128 X-HE-Meta: U2FsdGVkX19v7pOgJMa7uv2nNnUUUCM2N2Xyg+JHr4YGPPFxoRHDljK2jydxVGPflaqm+Xl/xormPXSrDDIqaCpkyn61sRrbclC//M7ikHAepRib2te6PLQfcd+4dDPlDd+ljqAcIlerN2gJBBTEKuxlh89mfxttL1ycv5ffJuUiXY2FWwVsKUR1fm/2IBEPMvVV9OJ2BSNM40pIeYf6kyC0b2tSSVjXo49L5SllovNLh/868u6UQug65S/qHG/2ZIdICVrNzMZkL0ySOaX6DRQdWrgSeFW5WzuanTSTsnrCg/RbTdx0gkF4Waxm2zQUtaIFOt/82G9GuhLc9E3xkhKnHsIMGyytM9I1zJOQaUD38kGO29gDjR8EOF0q13iZszuvB0hQdpl0esZJClKN09tfhvof8YQiaJEoQ3kIhv2h8tlG/OsWjMdJGAKvFrfNPSQiccXji5/HLWmYPd6wO+1eX8c2tQuPAjWx2nrp377F0y4lH6lv84+4EsX2AXk1qVJoQ6YUu3t2PAi2kSKWZweonVXY3SrLlXUaVWR9wwKtfFdws0FeFCM6s1D3Ijf4HL+IwnZaek+kLs9mmT3qQSNZ8xoATrakdA6Eu/XZ3LrDY8L7oJ+xaJOzXVd4vuGQmQPqfj1KjZHYeK8OiLQmSMiPyrqo2cK9SUYnR9qje/LJss9f7k6ZP/Egz2qdAPuSauYdU4r2jct4VlmXdJ6lIW5Tapq23HOja1bcvB9ntD5jyu+rMBkXA3xCT8A04gdeOdQK7X8G6kQV4keTGqFpkr5Tfhv9EUybin3q1xpwjoAPxPAHF4cAe+jJndXCo8W3/6qXlINDT0siOwg/5DYyskYGFvifmNNPfBKMPBPXyDAFykMJu+oqTW5va9NlZCu0i0Url9kLVXltVe8PtpuMUkzoZ+sflBrBlW/PsYPdZ9L+yL/LjX+VBvXtyPO241bvMLqso7B7I8pErRjCoGW PU8PIMCo w/An407kzN5Qpl1/xGsjMWZWRiMSuZG/lLgP7QPgbDuZFPgr2Jd8T9TCEAs9mZTj3oNxBZzoeGgw6zW7lWAatXfcIsCKy6gpRxF6QD1KhTx8UNKQDK5AAFpUtqozl73hV43E+9ucxi2WH/OUtcCAaenqBZet45kxlRYboqoxRgNTgu/ZxjszILEQQVISUzn+t2B64nKC8rZp0nlH4H6NvMuGlfAoA+lZdAzBDkDVpUaqNhXGUeotUlUvaipJ6arGKnRf42NCnjSeIHRwvl1mPjjojE3Dp8oIbfaOoilNrYwTFKJrWhAIHiQxQsYleI+qyoWdPE8qNCMP+1BCZC59Agr8bWTaPsd3zGU3fxuLrVWs7E6znsUtv3Nw1w83tby8isXbJTu8NALannCyLhPGlqxUw3cqIQ9Oi+w3AIGcw4Gl09FR8bg3UBEN8/4aAsXkkGOAHWUXZVsjQAboLSbtfnvolNg== 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: > > 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 the test cases are only for anonmous folios. > > while mapping_large_folio_support() is only reasonable for page > > cache folios. > > > > In split_huge_page_to_list_to_order(), the folio passed to > > mapping_large_folio_support() maybe anonmous folio. The > > folio_test_anon() check is missing. So the split of the anonmous THP > > is failed. This is also the same for shmem_mapping(). We'd better add > > a check for both. But the shmem_mapping() in __split_huge_page() is > > not involved, as for anonmous folios, the end parameter is set to -1, so > > (head[i].index >= end) is always false. shmem_mapping() is not called. > > > > Also add a VM_WARN_ON_ONCE() in mapping_large_folio_support() > > for anon mapping, So we can detect the wrong use more easily. > > > > THP folios maybe exist in the pagecache even the file system doesn't > > support large folio, it is because when CONFIG_TRANSPARENT_HUGEPAGE > > is enabled, khugepaged will try to collapse read-only file-backed pages > > to THP. But the mapping does not actually support multi order > > large folios properly. > > > > Using /sys/kernel/debug/split_huge_pages to verify this, with this > > patch, large anon THP is successfully split and the warning is ceased. > > > > Can we pleae identify a Fixes: target for this? Is it c010d47f107f > ("mm: thp: split huge page to any lower order pages")? yes, this fixes c010d47f107f ("mm: thp: split huge page to any lower order pages"). > It would be good to add a selftest which would have caught this. I have updated the code in selftests/mm/split_huge_page_test.c. For now, only order-0 is tested for the anonymous THP split case, I am adding more mTHP-suitable-orders test cases. I will send that in a separate patch when it is done.