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 61C54C282C5 for ; Sat, 1 Mar 2025 01:59:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9F599280001; Fri, 28 Feb 2025 20:59:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9A5106B0082; Fri, 28 Feb 2025 20:59:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 893AD280001; Fri, 28 Feb 2025 20:59:36 -0500 (EST) 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 6D5DE6B007B for ; Fri, 28 Feb 2025 20:59:36 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 1BB288161B for ; Sat, 1 Mar 2025 01:59:36 +0000 (UTC) X-FDA: 83171325552.24.916362F Received: from out30-100.freemail.mail.aliyun.com (out30-100.freemail.mail.aliyun.com [115.124.30.100]) by imf12.hostedemail.com (Postfix) with ESMTP id 135AA40006 for ; Sat, 1 Mar 2025 01:59:32 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=nnPmujHF; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf12.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.100 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740794374; a=rsa-sha256; cv=none; b=Td3AoY4f10GE2kGd9Mk5iDwqKTfr0HAHWA1uQ5QZZA6BlRv8auqbLIhQb7s6GSlSFmnU+f fh1YaX9wqft6Ita/xHStZQ232jlRLwo55mhOTPAaqGxc2ISIs/Go3No9j2Ccpw1EPpavEt Als1ncpSZPhOoe7X90qdq/0aYmaLwIQ= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=nnPmujHF; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf12.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.100 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740794374; 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=s0Posdlm++2aKVjTh5x1P7gjEtgWw+d64yCkeYGYeBk=; b=2xfeCsAXvGCkAyXUzMbmU26m8X4Dap8mL0zAhKC0zlaKdOKYx4k+Zf5c+eLc8xYfx2T8jZ oacrocz4wYvdKBsVbGOa+hW7ODb0wXolA/FsjElEzNv7zZwPAiIyfwMhhO1H7wnV2coiDG 5+J3AF9AVPgTgwraymK5TqvtMh2LvGs= DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1740794369; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=s0Posdlm++2aKVjTh5x1P7gjEtgWw+d64yCkeYGYeBk=; b=nnPmujHFMWrIbS/TB+sIb0V7MH1uQ7Jc6tv2kDMOIh75Zks5obREDraBIHcuHGLROXicj3QDjzSaBH3DuT007e70fk71vu1TN20/HT8cCQq91VmcExykfFx+XuIw82GJdH1W2pObNsoMR5edy5NME44ER9YDWBK8LS7MHt1YBe4= Received: from 30.221.80.112(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0WQR7zet_1740794367 cluster:ay36) by smtp.aliyun-inc.com; Sat, 01 Mar 2025 09:59:27 +0800 Message-ID: Date: Sat, 1 Mar 2025 09:59:25 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] mm/migrate: fix shmem xarray update during migration To: Zi Yan , Liu Shixin , linux-mm@kvack.org Cc: Andrew Morton , Barry Song , David Hildenbrand , Kefeng Wang , Lance Yang , Ryan Roberts , Matthew Wilcox , Hugh Dickins , Charan Teja Kalla , linux-kernel@vger.kernel.org, Shivank Garg References: <20250228174953.2222831-1-ziy@nvidia.com> From: Baolin Wang In-Reply-To: <20250228174953.2222831-1-ziy@nvidia.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 135AA40006 X-Stat-Signature: ok88tap1sgi5rs5wr33hqncbg1o7jayd X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1740794372-666402 X-HE-Meta: U2FsdGVkX18yqiWMeshNlHyhJke9+P2tBnI65xfyfGw8sGFN7NMNZjCAOICcxPePQhk6YyHCa5SLJUuhhejQzeRMyNFAURqiA+moPDlU/bgClJkE2KgpRQ9HH/2UYrslz4zhggEnKkzMV6V50vbcq3vXLg55UeyQ4jxtGICtmPMwCYZQceTUJZAQ2P5vBcG2Mzj7xT+dJMnNIzZLhgo+7ajOsVmUIw5BgjscT6hNuRV6qRIMkjk9GrFGoSByli2pdn48SHX7AxHtugiNPmjC+pxpTwzvBo80LyyazsPE3NfbNiUFGQN8jPSE0dBnJBA88GoQWxUzw8j/lf3Oqy6QkR9uyZb+GPkpVHbr9Jo+evUa2xxOpHXlfB1Ge0BLfX8J/74/vRVq4URiRaRvfEKcxx5m1yfLSsR5oFv+YRX4IuD9GGUX97DhI7ysadUnIW2j4+CcI/UUfbiITNGJdjKmy0Kcu5mxqi1xlrOUET5Ajd4emoWkXtme8993Uu1cR/TWwhwz36iVSK7mPHRMsyVGKfid6J46d/KAu4S/8Dleo7YPb09pQWCa36wt01uXgO0U90l6BvQvq0kHpsA3S9xzliXgPVDJ9a2OiCan76Ew4pRsFC3fkkU50ZHQelbc2BIAVAXRKc1IwaylJYypLLJjPqx6eezLp+Z6rLvM9QK8I9HjUB3jQCyxxZPEiPHPUGt8Vraeoi6ccOmU9MUKDw3ji3bd3C5MiPru7pYoC6XIggLuylABZhSFlQzO1yuBpBtwdfegPtdEfhs+wWHbjxA1669OFZZiV2JbWo/xwd2wCKbKGTZW93EHVhdwwdkbjgJjzX3hVNpW/rrAv8p4/TbIlmfPykSvP1/+yWucIhoCRaR87daS2mt5vpVBBMtEsnakOaJXMLPdcwA40I/Qk5S3++ofjd070LGw38Ot5wULSQmVU+Wp1EPt4wv/Tm+tOrTkjsBJuCC71K4iU0XjBW9 Nw0kvbxF ON2CiLP+QYiYHxz1ZKe/wcuFeKvQY2bXTQX8MHYQzXJhodWjTXcqLsGCGe3aqB7CEN9ejIrJH/LCp8lZ/1Zm8dyeFuABvdNg1+Whq8SsA49hcyottX5oxq77+gX6V/9pgQ+v7eJocDWK3g+bQLb2xhcqMhTJvTWwJTCnYrPdXW5osrsMDhUNA6m/lCAo0dy7iCgNrhZqSiDVIfD48BpevLovExq+II7sch6kxmLFBTYmo1DSTtBETMlKa/4WmoMJKVSmGa8KFOkV9aLsWJjB42S3vpTXjGhDk+iUNSAZRpxc8aiPNjjfz+lQNbXAHDCcZWovH1J6SSTQovXK2Kg4MRNJsKlmZaJLaKNY4pu3jNTXpiLFRiYlW44b3Qg== 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 2025/3/1 01:49, Zi Yan wrote: > Pagecache uses multi-index entries for large folio, so does shmem. Only > swap cache still stores multiple entries for a single large folio. > Commit fc346d0a70a1 ("mm: migrate high-order folios in swap cache correctly") > fixed swap cache but got shmem wrong by storing multiple entries for > a large shmem folio. Fix it by storing a single entry for a shmem > folio. > > Fixes: fc346d0a70a1 ("mm: migrate high-order folios in swap cache correctly") > Reported-by: Liu Shixin > Closes: https://lore.kernel.org/all/28546fb4-5210-bf75-16d6-43e1f8646080@huawei.com/ > Signed-off-by: Zi Yan > Reviewed-by: Shivank Garg LGTM. Thanks. Reviewed-by: Baolin Wang > --- > mm/migrate.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/mm/migrate.c b/mm/migrate.c > index 365c6daa8d1b..2c9669135a38 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -524,7 +524,11 @@ static int __folio_migrate_mapping(struct address_space *mapping, > folio_set_swapcache(newfolio); > newfolio->private = folio_get_private(folio); > } > - entries = nr; > + /* shmem uses high-order entry */ > + if (!folio_test_anon(folio)) > + entries = 1; > + else > + entries = nr; > } else { > VM_BUG_ON_FOLIO(folio_test_swapcache(folio), folio); > entries = 1;