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 40793C0015E for ; Thu, 20 Jul 2023 01:10:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 61DF12800A1; Wed, 19 Jul 2023 21:10:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5CDF828004C; Wed, 19 Jul 2023 21:10:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 495C12800A1; Wed, 19 Jul 2023 21:10:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 3B85928004C for ; Wed, 19 Jul 2023 21:10:06 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id F220E804AD for ; Thu, 20 Jul 2023 01:10:05 +0000 (UTC) X-FDA: 81030208770.25.32A8C52 Received: from out-23.mta0.migadu.com (out-23.mta0.migadu.com [91.218.175.23]) by imf19.hostedemail.com (Postfix) with ESMTP id EF0791A0012 for ; Thu, 20 Jul 2023 01:10:03 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=wijwoG3J; spf=pass (imf19.hostedemail.com: domain of naoya.horiguchi@linux.dev designates 91.218.175.23 as permitted sender) smtp.mailfrom=naoya.horiguchi@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689815404; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=m/woi+iwth7PiSnAVGWtu7ZbwG0Aj9umjdxvpP67I5M=; b=6WJeR5Stl8eVNOO7CpL5fJbG3fy48CBSLJMid/RjL0+iaIOy6dIRiKbVGqX1iUD35tJ0W4 O7mTWj7dz7YEjjOWDEb4pOPoMXw3F1nZXeDB7OAQIkQeAQKJoWDy/EujwVruKIQ3tLjWqX wSzbuY8rHfFjMotMqmRwFwA2NkRtQ84= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689815404; a=rsa-sha256; cv=none; b=V/PnhdmItSwZgQZSE9uPB25oUdy7E//mj1R2VP5V/JHQmvSKctlWrU0W0LsoCRYj2pDlZe K5uBvVQCiaoyPJuSya+YIZWEUbD6VLVmbz6b3ERVXDYBLwFH0QqpDhpfwD/ueZR8FnGWB2 qcGJPPgEMIzzXtmJ29l/TD4BgGsEw3A= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=wijwoG3J; spf=pass (imf19.hostedemail.com: domain of naoya.horiguchi@linux.dev designates 91.218.175.23 as permitted sender) smtp.mailfrom=naoya.horiguchi@linux.dev; dmarc=pass (policy=none) header.from=linux.dev Date: Thu, 20 Jul 2023 10:09:53 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1689815400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=m/woi+iwth7PiSnAVGWtu7ZbwG0Aj9umjdxvpP67I5M=; b=wijwoG3JIlea8iJ8xMSNk15XuZBsckN2GbuhsO9bDBj+IWmsq+3XexHW9EYwVqcwmdOF3C uxzxUVTe/Uor8+ZBA1QwBMzPMwEEAptoZzV4J3nQ0RBAr9CJMZi3e6e5RRzCAO6tjXHCBv h9O/UsItgL3ocPftMYET+B6K+al/pL0= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Naoya Horiguchi To: Miaohe Lin Cc: akpm@linux-foundation.org, naoya.horiguchi@nec.com, shy828301@gmail.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 4/4] mm: memory-failure: add PageOffline() check Message-ID: <20230720010953.GC1583723@ik1-406-35019.vs.sakura.ne.jp> References: <20230715031729.2420338-1-linmiaohe@huawei.com> <20230715031729.2420338-5-linmiaohe@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20230715031729.2420338-5-linmiaohe@huawei.com> X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: EF0791A0012 X-Rspam-User: X-Stat-Signature: brc9f59x13p63zxbine84rr35iug9mxi X-Rspamd-Server: rspam03 X-HE-Tag: 1689815403-168309 X-HE-Meta: U2FsdGVkX18UTC6CwOWAiC0dqUWEoDJ8iiNqUfEkgblqWKoud0NBXHN19Rm+vX+wugJpl9xmscNREhUgNglFHfHW9I2PYTDw9njLtuaORKimcDeIQgh/OP26/2l3kHUdTq/HPc+5So/JRIAI2R6lexLfTZ/2evLtrjkeJEJiYJNc3ZknKIp1DHS7pmGZbePuA64vOcGkkxEj5/2r15ZRFvS+snC0IX22/8jSHNcU65EauZQ78SCbU6aVHsAzCJ9KO3yWOmcnPV8PfvQU8KMJJUb+MV29sL7mpbetKcpdVCapsDhoYlLv3R+6KXJNib76WEmoNaQ2JupvVthWxkwvqj1qx/prjC7WIueya3L5FIFRX6xNFMLv9Qt1TFgpahj76diM30VD64Kws9hgs9Zx213m2t1j7mQ1064+B2u0Blb6bqPQcO8KzOE7Yy9zFStgxqK0wDmQz+q/Xt9TxHVEZlMTk1sYybVlcHfoQY0Cvd4zJ9kvtfShEgxHvUKaqD0LXxQvg1WuNGhbNE2MH8ye1dlzEBAGo/l8c7or7SfuOURZFnQlld8ZDpnYrlk0LtNdYG/pXK0bGzQ6ABjZVSTRCMOQjUVrfUzWiIGCBbnMU24uE6lzHoKLdo2zsCf36Mc++Uulpoczt3RAQaGVstosIEtbCX50vDsyZ3SVwnitqWUhjvmlB3JjEjoWWZjZSpgRqByyJQ4gVcgE4LB8gqtUBDF6+Asxn/SBLx2HeZTdhNLdrUvNsFMobLyBxRciqnfV/X92V4UqbYPRK6q25rGdiETl12QNEyH+d4GSBKQ8gHrt5TUlZtrRl4jncdDHV6n1t0s0+6QD9aBPHfC96WulZFubzgjyzFMO2RgX0lfhHpbDGc8z5+q1CWD1Eyt04aWTQNv6m2yrtzOTBlImW3m7E4mUZIFHOyV8d/VCIe+lHkoapVC75rs18Y9sl6apvko8IyX1BdzuNzMrRXdRDjP DaHBdSxr UpUDFKygoqbJF5wMCI32lFwUtyneaxQmTCDzHfkrZvo8QYafwPNCzanPmXDJtD1+SaZksTvX4+Hrd5EQ= 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 Sat, Jul 15, 2023 at 11:17:29AM +0800, Miaohe Lin wrote: > Memory failure is not interested in logically offlined page. Skip this > type of pages. > > Signed-off-by: Miaohe Lin > --- > mm/memory-failure.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/mm/memory-failure.c b/mm/memory-failure.c > index 42e63b0ab5f7..ed79b69837de 100644 > --- a/mm/memory-failure.c > +++ b/mm/memory-failure.c > @@ -1559,7 +1559,7 @@ static bool hwpoison_user_mappings(struct page *p, unsigned long pfn, > * Here we are interested only in user-mapped pages, so skip any > * other types of pages. > */ > - if (PageReserved(p) || PageSlab(p) || PageTable(p)) > + if (PageReserved(p) || PageSlab(p) || PageTable(p) || PageOffline(p)) hwpoison_user_mappings() is called after some checks are done, so I'm not sure that it's the right place to check PageOffline(). We could check it before setting PageHWPoison() as we do at the beginning of memory_failure() around pfn_to_online_page(). Does it make sense? Thanks, Naoya Horiguchi > return true; > if (!(PageLRU(hpage) || PageHuge(p))) > return true; > @@ -2513,7 +2513,8 @@ int unpoison_memory(unsigned long pfn) > goto unlock_mutex; > } > > - if (folio_test_slab(folio) || PageTable(&folio->page) || folio_test_reserved(folio)) > + if (folio_test_slab(folio) || PageTable(&folio->page) || > + folio_test_reserved(folio) || PageOffline(&folio->page)) > goto unlock_mutex; > > /* > -- > 2.33.0 > > >