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 9110BECAAD3 for ; Mon, 5 Sep 2022 21:53:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F40E58022C; Mon, 5 Sep 2022 17:53:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EF0F580224; Mon, 5 Sep 2022 17:53:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DB8368022C; Mon, 5 Sep 2022 17:53:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id C9B5B80224 for ; Mon, 5 Sep 2022 17:53:26 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A2ECC1606AF for ; Mon, 5 Sep 2022 21:53:26 +0000 (UTC) X-FDA: 79879383612.07.D8DECE2 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf15.hostedemail.com (Postfix) with ESMTP id 3F8B5A005D for ; Mon, 5 Sep 2022 21:53:26 +0000 (UTC) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 69FC8B815CE; Mon, 5 Sep 2022 21:53:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 19563C4347C; Mon, 5 Sep 2022 21:53:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1662414803; bh=AKN1Agn0Tca6FkpXEwU5FrzZmOkXj0VB4xT45aQM93Q=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=LcbiTqV5sTp3yI0mWjjB7JBMUl2kFdVNwvP1A1eT3jjJ4gJ0jP8Vci9fVxuTWxxSU 0QANgF+gFm0Vy74tRf1joY9vlUmObLhNyFwo196L6z578gWOhpcm6Z9Xj/tSOX8Jh/ DaMfYNBogIl9nxju0OgWh7kX5mVt7BKTTYgk16rI= Date: Mon, 5 Sep 2022 14:53:22 -0700 From: Andrew Morton To: Miaohe Lin Cc: HORIGUCHI =?ISO-8859-1?Q?NAOYA?=(=?UTF-8?Q?=E5=A0=80=E5=8F=A3_?= =?UTF-8?Q?=E7=9B=B4=E4=B9=9F?=) , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH 2/6] mm, hwpoison: use __PageMovable() to detect non-lru movable pages Message-Id: <20220905145322.42d218d0d7d32d3c5f515027@linux-foundation.org> In-Reply-To: References: <20220830123604.25763-1-linmiaohe@huawei.com> <20220830123604.25763-3-linmiaohe@huawei.com> <20220905052243.GA1355682@hori.linux.bs1.fc.nec.co.jp> <1f7ee86e-7d28-0d8c-e0de-b7a5a94519e8@huawei.com> <20220905071542.GA1364147@hori.linux.bs1.fc.nec.co.jp> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=LcbiTqV5; spf=pass (imf15.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1662414806; a=rsa-sha256; cv=none; b=SdhUE/FycTvUHOkM0Hl05eB5U0iCcipNC3FzONV8uQWBtT3wR1jMfQBiPERNExJLlk0rFr evSS1P4vBFB2FBhQDAhmF0ozrn+4YW147gdmDoPpD4RMfgoWGLZ+fkd+9Fu9S5xjyahIlu 3Q64XzNIfbOcvtq5SzkypGNthPMmESY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1662414806; 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=uFrjw04WjblcER1caQrUGcVpVKRndnpNAjaEcoUuaLo=; b=17QOGLMK6m6lznOmlEXnrpHv3TtLR492rG5jHZ16QXSRKb6PHqiAGx9cj04Ly6sRSy8CU6 XiLfGv67bMaQG8wRGBvz1hWXsybZdVFABueBSOn+Fll2Fy2Lag2TNWTzaFAtpJAbTB+rq+ 78eAf3vvGASOHF/4VwDfLhc8zmW+2hU= X-Rspamd-Server: rspam02 X-Rspam-User: Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=LcbiTqV5; spf=pass (imf15.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none X-Stat-Signature: ftoybazdyz1r3wj89c7zjtck8y6kjujw X-Rspamd-Queue-Id: 3F8B5A005D X-HE-Tag: 1662414806-587665 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: On Mon, 5 Sep 2022 15:29:34 +0800 Miaohe Lin wrote: > The above code change could be applied to the mm-tree directly. Or should I resend > the v2 series? Which one is more convenient for you? They're all fine to me. ;) I got it, thanks. From: Miaohe Lin Subject: mm-hwpoison-use-__pagemovable-to-detect-non-lru-movable-pages-fix Date: Mon, 5 Sep 2022 14:53:41 +0800 fixes per Naoya Horiguchi Link: https://lkml.kernel.org/r/1f7ee86e-7d28-0d8c-e0de-b7a5a94519e8@huawei.com Cc: Naoya Horiguchi Signed-off-by: Andrew Morton --- mm/memory-failure.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) --- a/mm/memory-failure.c~mm-hwpoison-use-__pagemovable-to-detect-non-lru-movable-pages-fix +++ a/mm/memory-failure.c @@ -2404,24 +2404,26 @@ EXPORT_SYMBOL(unpoison_memory); static bool isolate_page(struct page *page, struct list_head *pagelist) { bool isolated = false; - bool lru = !__PageMovable(page); if (PageHuge(page)) { isolated = !isolate_hugetlb(page, pagelist); } else { + bool lru = !__PageMovable(page); + if (lru) isolated = !isolate_lru_page(page); else - isolated = !isolate_movable_page(page, ISOLATE_UNEVICTABLE); + isolated = !isolate_movable_page(page, + ISOLATE_UNEVICTABLE); - if (isolated) + if (isolated) { list_add(&page->lru, pagelist); + if (lru) + inc_node_page_state(page, NR_ISOLATED_ANON + + page_is_file_lru(page)); + } } - if (isolated && lru) - inc_node_page_state(page, NR_ISOLATED_ANON + - page_is_file_lru(page)); - /* * If we succeed to isolate the page, we grabbed another refcount on * the page, so we can safely drop the one we got from get_any_pages(). _