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 D07ADC433EF for ; Wed, 13 Jul 2022 04:24:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0FD2C9400FE; Wed, 13 Jul 2022 00:24:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0AC5D9400E5; Wed, 13 Jul 2022 00:24:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EDD019400FE; Wed, 13 Jul 2022 00:24:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id DEA989400E5 for ; Wed, 13 Jul 2022 00:24:53 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 9C1E6207E3 for ; Wed, 13 Jul 2022 04:24:53 +0000 (UTC) X-FDA: 79680786066.17.7C8571E Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by imf15.hostedemail.com (Postfix) with ESMTP id 7E4EFA006C for ; Wed, 13 Jul 2022 04:24:52 +0000 (UTC) Received: from canpemm500002.china.huawei.com (unknown [172.30.72.55]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4LjPbT0qWhzhZDH; Wed, 13 Jul 2022 12:22:13 +0800 (CST) Received: from [10.174.177.76] (10.174.177.76) by canpemm500002.china.huawei.com (7.192.104.244) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 13 Jul 2022 12:24:47 +0800 Subject: Re: [mm-unstable PATCH v6 4/8] mm, hwpoison: make unpoison aware of raw error info in hwpoisoned hugepage To: Naoya Horiguchi , CC: Andrew Morton , David Hildenbrand , Mike Kravetz , Liu Shixin , Yang Shi , Oscar Salvador , Muchun Song , Naoya Horiguchi , References: <20220712032858.170414-1-naoya.horiguchi@linux.dev> <20220712032858.170414-5-naoya.horiguchi@linux.dev> From: Miaohe Lin Message-ID: <1ebd5240-7298-5d1d-cc1d-d289d843472d@huawei.com> Date: Wed, 13 Jul 2022 12:24:46 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <20220712032858.170414-5-naoya.horiguchi@linux.dev> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.177.76] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To canpemm500002.china.huawei.com (7.192.104.244) X-CFilter-Loop: Reflected ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1657686293; a=rsa-sha256; cv=none; b=L08WVBFwYPcGDhBI1W87FrfYqUmMQ1pbfUqW5mZ8A5ZAYvd27JRnsgqyRo9OD+vOpeknDJ F0KU10SfuN4QEzB0t8FxPAT9QLr3+Zcl2OEsljn6fRIOLsWVKv4tYV7tc9YbObHie44dnu ozT76ZpWoMoL4aw7ngubu4kzfB3xfXw= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=none; spf=pass (imf15.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1657686293; 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=VQXJ01ERF/yqfS23tnLyxoMdt/+nF2wqxoITWnWyRN0=; b=VC0dV68NrKuAsHuq4mw7HyavuSpp7eZzLJACo+2uakr+LmRzRrHvldQzKo2TP5WkKVM50f SjoKO5FeqdbnPTJKcfKzwTyBNAdvNdF6DxViGVdRxKGLPEKO9oCu7xfAu2ae5fXESix6Cy pfeqoBPk+rCIS+48pBJpOtZTVUPA3g8= Authentication-Results: imf15.hostedemail.com; dkim=none; spf=pass (imf15.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com X-Rspam-User: X-Stat-Signature: k7nngg3s44j891pxgqmewxo7777h937u X-Rspamd-Queue-Id: 7E4EFA006C X-Rspamd-Server: rspam08 X-HE-Tag: 1657686292-840130 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 2022/7/12 11:28, Naoya Horiguchi wrote: > From: Naoya Horiguchi > > Raw error info list needs to be removed when hwpoisoned hugetlb is > unpoisoned. And unpoison handler needs to know how many errors there > are in the target hugepage. So add them. > > HPageVmemmapOptimized(hpage) and HPageRawHwpUnreliable(hpage)) can't be > unpoisoned, so let's skip them. > > Signed-off-by: Naoya Horiguchi > Reported-by: kernel test robot This patch looks good to me with some nits below. > --- ... > > -void hugetlb_clear_page_hwpoison(struct page *hpage) > +static unsigned long free_raw_hwp_pages(struct page *hpage, bool move_flag) > { > struct llist_head *head; > struct llist_node *t, *tnode; > + unsigned long count = 0; > > - if (!HPageRawHwpUnreliable(hpage)) > - ClearPageHWPoison(hpage); > + /* > + * HPageVmemmapOptimized hugepages can't be unpoisoned because > + * struct pages for tail pages are required to free hwpoisoned > + * hugepages. HPageRawHwpUnreliable hugepages shouldn't be > + * unpoisoned by definition. > + */ > + if (HPageVmemmapOptimized(hpage) || HPageRawHwpUnreliable(hpage)) If move_flag == false, i.e. in unpoison case, tail pages are not touched. So HPageVmemmapOptimized can be ignored in this case? Or leave it as above to keep the code simple? > + return 0; > head = raw_hwp_list_head(hpage); > llist_for_each_safe(tnode, t, head->first) { > struct raw_hwp_page *p = container_of(tnode, struct raw_hwp_page, node); > > - SetPageHWPoison(p->page); > + if (move_flag) > + SetPageHWPoison(p->page); > kfree(p); > + count++; > } > llist_del_all(head); > + return count; > +} > + > +void hugetlb_clear_page_hwpoison(struct page *hpage) > +{ > + if (!HPageRawHwpUnreliable(hpage)) It seems we can return here if HPageRawHwpUnreliable as there's nothing to do? Anyway, for what it worth, Reviewed-by: Miaohe Lin Thanks. > + ClearPageHWPoison(hpage); > + free_raw_hwp_pages(hpage, true); > } > > /*