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 45512C27C53 for ; Fri, 7 Jun 2024 21:22:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C793C6B00AA; Fri, 7 Jun 2024 17:22:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C28426B00AB; Fri, 7 Jun 2024 17:22:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AF0536B00AC; Fri, 7 Jun 2024 17:22:01 -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 886FB6B00AA for ; Fri, 7 Jun 2024 17:22:01 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 36B37A0150 for ; Fri, 7 Jun 2024 21:22:01 +0000 (UTC) X-FDA: 82205365242.12.80C88F9 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf22.hostedemail.com (Postfix) with ESMTP id F41BBC000C for ; Fri, 7 Jun 2024 21:21:58 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=kVWh+fXJ; spf=pass (imf22.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717795319; a=rsa-sha256; cv=none; b=mtYTEPfOf0C91dmepxryfvwbH4e5E+hfGVlpXwtLdDG6/m/GGxT4X7+aFwatk06P6ThiVe +KX5yuVwNT1elPvN07kqoEFG810odZLqb9ZdeatDVN8O2pVyqSEHLfKmAxnKEu/ZLt0uCU gXqk+wV3CeIPgTUw3eNFJ51QKXNVphc= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=kVWh+fXJ; spf=pass (imf22.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717795319; 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=sF5YRENgZEtOUMrU/g3ca4JZDZZzoyXil4SeViNHSqk=; b=DEZFEuPfB8h8qZUAMgZk+AwTJSAy1EO/MSEVy9p1MyMgRxaiogNGWc3kG+9oci3jWlo68W xuobDS1+fFxD+nsbMWR1x8Bktoy23V6cviG6drhcNeAJjVd4i4OwLBG/9K8EG4sj9/+oqf TQaA7GNvkfyLX+RmTsdANSGCpdFPkFc= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 482DCCE1D46; Fri, 7 Jun 2024 21:21:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 45A32C2BBFC; Fri, 7 Jun 2024 21:21:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1717795314; bh=niTAMUGF7k/DXZw+eMEI5mOMYLMUkkEXdjowDG1fQ8w=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=kVWh+fXJCRkU06HQ1AEAyWPlDVLDyblp/dDq3Z0MzjYRcrIeC5lFiVeel6tz8K6DR oK3kuTs7OdPeWLMHPZtFDCPaffGfBlaRdQfdzoYJ/UBCKyg+DaZzIqgWrK68VHTbOp YIkhPn5+zlNK7NrVfE7YJDPYH0YeJiripgi5quyE= Date: Fri, 7 Jun 2024 14:21:53 -0700 From: Andrew Morton To: Cc: , , , , , , , Subject: Re: [PATCH linux-next v3] mm: huge_memory: fix misused =?ISO-8859-1?Q?mapping=5Flarge=5Ffolio=5Fsupport()=A0?= for anon folios Message-Id: <20240607142153.5cc922f1f2c96989dc809cd3@linux-foundation.org> In-Reply-To: <202406071740485174hcFl7jRxncsHDtI-Pz-o@zte.com.cn> References: <202406071740485174hcFl7jRxncsHDtI-Pz-o@zte.com.cn> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: F41BBC000C X-Rspam-User: X-Rspamd-Server: rspam12 X-Stat-Signature: zztpr3xcdgdq379eghdro6wq8tbpozbt X-HE-Tag: 1717795318-673162 X-HE-Meta: U2FsdGVkX18MO1A5Sp65JSi/wvw4/lxK/WccDwDzLH/dYaxCKaawEafw2bsuEBLEGqC4zIsNEuAcdE18rEhjcQEVuIL3uhBDptMQ97Jg7fV9VWIAIfijNcqsXCMwCx0tIiN6HGL+3HBCJOdxQjyUJphZ8ees++hBIRL+f4oqo26tQq3BR/fsvzHUFaSxqbaTBZSAcfWNZl0+5MINoMbOYcVp1xGn1Z8CCBkg7LMHPirgiAGHDhksvDmna4C/aetmW0yzxl2hEpExS1DAeU6AAsoG1mBOh23nz3EgzPIrOi827+XA0rclWh2SsTjbNOE0V+Lvth2fNKP2Xt5Bnj+pH66FU1MLFU4wt1bWOFFk8i3KuHyBcNUMFodOI8/XncJlvKMPL4njyT3msLDtqTXbl13a+/KdkmTKWdoNAx2dykWPcgJEJL12lPkwKQ/ZBELAC2rqIp3nvYj0s4qkib0vMVCc0GkCahJX2WXhBawOkmCHEilORYpR/hvdRnBkHO7gQb/on6+DwvLp0/0eb6ibjicx7pxxu+w1218c8zRuxw3Z/Etv3CUy8YlGSx+3RbBPUKGf5BGIoqnKMieNECrk8sbogeHsU39wcM5iHY0v0jM4/Vi8mg2atJfsRmB21v8BT9c1fg06BgB/1TsLNTfBFwE3nr/ijp9spYbzGiFZpf+UuY7OmKXpxNNehul8gTqWWMGuG0AlAGwf4WtLrMEIiwHUIhE3ZRYHS9+3jJ3jZmEBl+Z13GqYo5Uy0P2VEa9evK3rcqsWDiuLTWH+IKIG5PfPC/yrORbqHzGVJwYdy1xJKOpx48ChpcXgfV8pwz8yBOUHM0FL3iqJvV7IvD1OFfVJasWeRTLzPlCxunQn0b02ftvafBoWOLfm++diTYZjA2a6ob0hytwB7XpEBV7cB54UlPeBbNYrNs4SM3JUG+1uYpZQnZ/8L8sgjUFgULCEkXj3b0WyUPYmdqZBBIl m9iCqKU7 J9As2QdUZ9ENltHFeEnUBAXu9Sdy9RvWZPJ0qp6JjNEQXm17EZLa6hroUznYm8jWs0q1OBWMv/m7OylLoTyQQfInVfSK/pMEj2KJN1N31kMy0ORxstZOLabJCghEMcPOkib9JjV22gR/+kj2xcTvhkC67MhBeBEw44VIRhpSnRszv9GY4HDs0itBkQSfulgJ1AKroCCZoDbhxDxPCknN1rT3XKQ30an6z5uwp7OonlPRr68u8jHWAHAImqFtxrf7fS2OjAEDef520/uBd10lYx3W2Z9VizXSYk/aUi7JLELOibcKuhGNYF56vfncMGOqKoHzNMRXPe2tp//ykSGdcw8OCwwB18h+FrkIr 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 Fri, 7 Jun 2024 17:40:48 +0800 (CST) 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 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")? It would be good to add a selftest which would have caught this.