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 8D65CC27C43 for ; Wed, 29 May 2024 02:48:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E912D6B00CD; Tue, 28 May 2024 22:48:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E19DE6B00CE; Tue, 28 May 2024 22:48:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CE23F6B00CF; Tue, 28 May 2024 22:48:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id A87026B00CD for ; Tue, 28 May 2024 22:48:19 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 5C2F71C0FE2 for ; Wed, 29 May 2024 02:48:19 +0000 (UTC) X-FDA: 82169899518.20.625BB00 Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by imf04.hostedemail.com (Postfix) with ESMTP id A0BFD4000A; Wed, 29 May 2024 02:48:15 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=none; spf=pass (imf04.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.188 as permitted sender) smtp.mailfrom=wangkefeng.wang@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=1716950897; 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=06BrAxQe73AJzg4tzmUC1sON+DtZnB3HzV+eLQuqc/w=; b=PAsDgK+N33DE4CyRNy6j3YFd0APbj3VPSkecIGqeKzk70stWI5x9tOnWtioriDsIHZ1jx5 j3bY5ioMOVmqkZgbo3T42zhB/7+f0CWWNmuqXptXKzu7o5NBFV8k9nKM90FHRbUjScoKGW un2ivXK2ODRsl9u6XCcwUL+m5ajWqPU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716950897; a=rsa-sha256; cv=none; b=SsNVnci0me92WeGk4JBrjmitEjl4iA93qfex+50jOapk5X7cTIkmVKSV4p+ZtDMsbNjJai Pdm8NTcjy9CnH4TLsddO88grEJeOF5449sG6b8SNGgy5WyXwXAa2V62j1buid3AkO23ASF UWpskt3DjP8IBRaRfAuL1e5WTTyONj0= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=none; spf=pass (imf04.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.188 as permitted sender) smtp.mailfrom=wangkefeng.wang@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com Received: from mail.maildlp.com (unknown [172.19.88.194]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4Vpv0q094nzckPh; Wed, 29 May 2024 10:46:51 +0800 (CST) Received: from dggpemm100001.china.huawei.com (unknown [7.185.36.93]) by mail.maildlp.com (Postfix) with ESMTPS id B44E7140F73; Wed, 29 May 2024 10:48:11 +0800 (CST) Received: from [10.174.177.243] (10.174.177.243) by dggpemm100001.china.huawei.com (7.185.36.93) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Wed, 29 May 2024 10:48:10 +0800 Message-ID: <2b455ec8-e776-488d-bbdc-3023f3908c18@huawei.com> Date: Wed, 29 May 2024 10:48:10 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 4/5] fs: hugetlbfs: support poison recover from hugetlbfs_migrate_folio() Content-Language: en-US To: "Luck, Tony" , "akpm@linux-foundation.org" , "linux-mm@kvack.org" CC: Miaohe Lin , "nao.horiguchi@gmail.com" , Matthew Wilcox , David Hildenbrand , Muchun Song , Benjamin LaHaise , "jglisse@redhat.com" , Zi Yan , Jiaqi Yan , Hugh Dickins , Vishal Moola , Alistair Popple , "chu, jane" , Oscar Salvador References: <20240528134513.2283548-1-wangkefeng.wang@huawei.com> <20240528134513.2283548-5-wangkefeng.wang@huawei.com> From: Kefeng Wang In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.174.177.243] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To dggpemm100001.china.huawei.com (7.185.36.93) X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: A0BFD4000A X-Rspam-User: X-Stat-Signature: obgxkojykbx3g6bwrunyif86h11osf7u X-HE-Tag: 1716950895-480883 X-HE-Meta: U2FsdGVkX19obTwC9vSdcerGuZRnQRSlq1uwRqq8zSTMb/ikmcNhwxtL+Opws0oXCxvS1rgXU4tWUecRu1/FzmpdjhGNKBiIHnwtrUkIwXjGHSp9lRsrub0f2VjpF8hmgE92HJP7XQq/Y7cjGduM1bfpSC3uVWmsz/soklHwQxtFVJPb2fwQLMAlu29Aw0t7HStwA6qKqZZvEuJ1VXx4yaIhDFNJC1tNfQfIduX2lGjSQVaKJxaySA0BZPT/89BJ+4evss259ZBvgWYBrnIkoR8hAOkpwR+bOWUd39XgLU3P329HN+i2HZoC3UIhWkTHrsvk4bf7OqbVnPbhAlFA77XhiHnjRFE+JET6++LkblLLd8MhPVeEzm5LDPkNg3LoqKRPHFLCikFtq2lyq7adHbgMaE8cdrFi/CYzgh19QRk25/56obpLxcyj2dS8LVGFUA6J/cklUQMo/uSNX/r8yzSFwHGWbhwv9+z5uv64WPwLh436V6221ZdRkFGj/tA8PF0Kk/0oU2VGKMPK6aq/VNpkCcZA9F2RaPU7B0UJva4Yhpz4+o9rcaFI6w2/vUZtMiYeGrSfVZk2bdNcegp1EGCL4K8raiSYs2qpLM3T2FEc6jiGSzQRabYsZRt0EJHawugC7n3ilMsbNPViObvAQQuqDGv6iZ468YLLyqReJSFHg0zB+kKCBQ0NNXgsqV7l4Fg+hIQB3gfewPG2Sbvef5m8kBcFj+qHXEgQOsaSnDJPYcBSr1dbxbzAFo16AGov2O/+/WHK1A8KJDAJnnY3Nunwja/erwOrWB7t9KxzK1EcJSYMHkXLHiVg3lyqma+7nnFexbbJzQGqOoeZwTK5UfjAysQkoC8OAgqEn/owRin/+RkRC5QTF1VblhG4sahVBb2ea2tlUe0mAQKZqfs1HQNThI1Jj99By6Ze8BrMoyl1AMJ9kokH84ePgkUwCDOGqDD16U1uAFjCBr2Fah0 RaN+f7gM 60YkCZhf5WsADIe1SEofPbDNFb/dnXWz1os/6y9nnaqAHP8zPhJvbyJx5kJw3R4ni8R05IUWScKzER7NUvlOUS6CpFPvhRm/f1hCbU3cMtiPrlefcXWkPFWDEhjvEYv71cjWbLbU3yi5wHW+rjvfjRUEwTrwBcUGa6h3CdxIz3iCq0ngBEfZl5fGP8xKMYt1AaY+YJ1AIlUaU1KPoyGRK3U6EUbN8sn9deXk/oDHt+7G/7cq5xXFtKCXVz44at4yW6tllr2DkqJ3GatZtTH+mS0a54viOxCRRkyBfKU5N7LraL3gfMq6clmakPkP3LgtoCjuEXe1TX/2sUB+QcemjGFUawEOQdzPG8cioVMqW9WBD1sRidJEe4HEjzo8rA7R7wI6MsEYCbf3o5qqBw5frctQ7Sidp6a5Yohs1PSjgqLR01ig9okocv3PmKA== 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 2024/5/28 23:41, Luck, Tony wrote: > + if (unlikely(folio_mc_copy(dst, src))) { > + folio_ref_unfreeze(src, expected_count); > + return -EFAULT; > > It doesn't look like any code takes action to avoid re-using the poisoned page. > > So you survived, hurrah! But left the problem page for some other code to trip over. Hi Tony, thanks for your review, We tried to avoid calling memory_failure_queue() after copy_mc_{user_}highpage(), and I think the memory_failure() should be called by ARCH's code(eg, mce in x86)[1] to handle the poisoned page, but for current mainline, the x86 mce don't do that, so yes, we need a memory_failure_queue() for x86, but it is not true for upcoming arm64, the poisoned page is handled by apei_claim_sea(),and a new memory_failure_queue() is unnecessary(no issue since the TestSetPageHWPoison() check in memory_failure()). It seems that the khugepaged[3][4] should do the same thing, we could call memory_failure_queue() in copy_mc_{user_}highpage(), and remove it from each caller, is that OK? diff --git a/include/linux/highmem.h b/include/linux/highmem.h index 00341b56d291..6b0d6f3c8580 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h @@ -352,6 +352,9 @@ static inline int copy_mc_user_highpage(struct page *to, struct page *from, kunmap_local(vto); kunmap_local(vfrom); + if (ret) + memory_failure_queue(page_to_pfn(from), 0); + return ret; } @@ -368,6 +371,9 @@ static inline int copy_mc_highpage(struct page *to, struct page *from) kunmap_local(vto); kunmap_local(vfrom); + if (ret) + memory_failure_queue(page_to_pfn(from), 0); + return ret; } Thanks. [1] https://lore.kernel.org/linux-mm/20240204082627.3892816-3-tongtiangen@huawei.com/ [2] https://lore.kernel.org/linux-mm/20240528085915.1955987-1-tongtiangen@huawei.com/ [3] 12904d953364 mm/khugepaged: recover from poisoned file-backed memory [4] 6efc7afb5cc9 mm/hwpoison: introduce copy_mc_highpage > > -Tony