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 9277CEB64D8 for ; Wed, 21 Jun 2023 06:46:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E79158D0002; Wed, 21 Jun 2023 02:46:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E297E8D0001; Wed, 21 Jun 2023 02:46:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D17338D0002; Wed, 21 Jun 2023 02:46:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id C532F8D0001 for ; Wed, 21 Jun 2023 02:46:31 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 9023C120753 for ; Wed, 21 Jun 2023 06:46:31 +0000 (UTC) X-FDA: 80925821382.30.0EBBFA1 Received: from out30-112.freemail.mail.aliyun.com (out30-112.freemail.mail.aliyun.com [115.124.30.112]) by imf03.hostedemail.com (Postfix) with ESMTP id 16B5720007 for ; Wed, 21 Jun 2023 06:46:27 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=alibaba.com; spf=pass (imf03.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.112 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=1687329989; 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=DVeK1+jqS9VrQV5mjy9LGU4gN56TPE4CKvLSyfCLaf8=; b=G8gY4bwjvBQzMOMHXKFjvSB8BqC7XLqDsva7KHzsYpqx0aWZrkc5aZRGq+t8LQ9uDM5C8S R9cWQI5EUU0ZKQEQcCXjmqvBdC9/RXH97admkbN5SbHkSKUAH1Q3SYCplggveg3rNw5pNW hpC9YBNcvI0gLNA5jnBXK07IHMQiz/Y= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=alibaba.com; spf=pass (imf03.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.112 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687329989; a=rsa-sha256; cv=none; b=hBvkZSBnubUFIqkAEGZkOw4K1arEumPw/GcqwejxkDEZo8siEhaOyL7bb8Wd3z/Niiks29 h/+55qZ06X9r3kFxbJ7+Ut28iybdPwFRZBpOI6CgaVgpW09633LOJT1lOiojnr6CJWXj14 0ZthtSpNWj2dgZF7rarkRoVCvyieEd4= X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R131e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018045168;MF=baolin.wang@linux.alibaba.com;NM=1;PH=DS;RN=5;SR=0;TI=SMTPD_---0VletMLc_1687329983; Received: from 30.97.48.59(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0VletMLc_1687329983) by smtp.aliyun-inc.com; Wed, 21 Jun 2023 14:46:24 +0800 Message-ID: <3b05b046-9d0e-c9a4-5d3d-62b815ca020d@linux.alibaba.com> Date: Wed, 21 Jun 2023 14:46:44 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.11.2 Subject: Re: [PATCH v2] mm: Fix shmem THP counters on migration To: Jan Glauber , akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Huang, Ying" References: <20230619054955.140276-1-jglauber@digitalocean.com> <20230619103351.234837-1-jglauber@digitalocean.com> From: Baolin Wang In-Reply-To: <20230619103351.234837-1-jglauber@digitalocean.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Stat-Signature: 3sno9fwhc7i3f9p8ybz4suj8sytkad8t X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 16B5720007 X-HE-Tag: 1687329987-229035 X-HE-Meta: U2FsdGVkX19su3GxJZLerUPRghL0Hz6QZVhIDSHTrPXLUIXqy8nDGwgxZ+EhWiesW0d6eXwsXSaeLemYigUwXVro0D++jRd5YcfYr8GCP95SSLW8qX/bh8yUAkzT/cgSRL+bHJbwhg+23H6otUMbwFLGWcbJCDISRHIi8g7nieHttoumZSsEsN8GVaQuGM5BDU8/Z2WLzBnV/yIc7+xq1gI90RCLeC+lvbjwiNd8PmZifXECHrKvrLHVVDzwvfV3j3uBo1LzHY6darjnole8/1SdSnUmXJ0g6pZIt4n7Ja2oDR62WCZc3WKCjM5BG0Hl7OXuRxYl8GZxC2QWl+K54PrnqsKLfJ/fiRMMXLt+DTo1YuUWSVx3OSX6x3QQ6V8gwv8+rvXpmH4CiOLKz6i9GAAkopZ5jPZd5Iz/SGDsbd8lAhrdfbckiD+zJl8wqLuia4Zoyp/RkLYUt4hRJt05rAMI7UKAcR1rACMJivgVNv+d9YvLaPVh0na3qv+QRceTQQjG2zqPVDa8vSqHJNCEqvyNHoJ+3m/q+S/Go852SslllUiywT3fMQQ0+bJTuyYHc64gL1tMWYVyMdX9P/Sh1fycPOXy+mlkIS1ccLgHJv6OtJR+JdG7ns8ggLodOFzB6aQjvB/x/z1dRLJWsxpMefoPnlBcpmQcJs521pP8we0kn+pLB6NU24LuajltC+KrIiXKQhFqJwaNenGhPp0xAP7E2g+Ee4KzzEH0LSWwCZZqFq4YrIiuhoXexO1CnNgETdk/RWkS08dLzMDg6AlBJtUl1nRTPbEilDNp5/zpXl2Hf0ZReF/2PeI6USUg3g+DoPCBA9iEVWay8sfZwHgBfcOTkItn77C3Pr/DH/JHq5WLxp2tyj80q8VOId/s4CePKw++MIq9iKTmZJB3m1X/O0VcBhGQCBj2ac+0tKlMStb5F59E9mye1dx67EoTCZ4nldLivSFUbbqprltFI0w 54mEoBRl Pkd8ilI4n5kx7x1UbG3B5dfZSO4a1d6nKoMMZfj2ufOOLU94lkG6A/wbWC5VIw+2Y3db03pmgqyQHCWWcT35R+AmZSN/rBSVyS6rTfRzHWptc0/4= 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: Cc: Huang Ying On 6/19/2023 6:33 PM, Jan Glauber wrote: > The per node numa_stat values for shmem don't change on > page migration for THP: > > grep shmem /sys/fs/cgroup/machine.slice/.../memory.numa_stat: > > shmem N0=1092616192 N1=10485760 > shmem_thp N0=1092616192 N1=10485760 > > migratepages 9181 0 1: > > shmem N0=0 N1=1103101952 > shmem_thp N0=1092616192 N1=10485760 > > Fix that by updating shmem_thp counters likewise to shmem counters > on page migration. > > Signed-off-by: Jan Glauber > --- Please add your change history. > mm/migrate.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/mm/migrate.c b/mm/migrate.c > index 01cac26a3127..d2ba786ea105 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -492,6 +492,11 @@ int folio_migrate_mapping(struct address_space *mapping, > if (folio_test_swapbacked(folio) && !folio_test_swapcache(folio)) { > __mod_lruvec_state(old_lruvec, NR_SHMEM, -nr); > __mod_lruvec_state(new_lruvec, NR_SHMEM, nr); > + > + if (folio_test_transhuge(folio)) { I am afraid this validation is fragile, IIUC the file backed folio can contain various numbers of pages in future. So seems using folio_test_pmd_mappable() seems more suitable for THP. > + __mod_lruvec_state(old_lruvec, NR_SHMEM_THPS, -nr); > + __mod_lruvec_state(new_lruvec, NR_SHMEM_THPS, nr); > + } > } > #ifdef CONFIG_SWAP > if (folio_test_swapcache(folio)) { > -- > 2.25.1 >