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 6C37DCD1292 for ; Tue, 9 Apr 2024 01:55:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AF2506B007B; Mon, 8 Apr 2024 21:55:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA2426B0083; Mon, 8 Apr 2024 21:55:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 990AD6B0088; Mon, 8 Apr 2024 21:55:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 7CBB46B007B for ; Mon, 8 Apr 2024 21:55:54 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 03843A06F4 for ; Tue, 9 Apr 2024 01:55:53 +0000 (UTC) X-FDA: 81988327428.04.F7FACE5 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by imf17.hostedemail.com (Postfix) with ESMTP id C515740009 for ; Tue, 9 Apr 2024 01:55:50 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf17.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712627752; 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=WpB83Q6jtVrxpnbYwwxE7cxIiuFnaD0VzOFqDs3ujpQ=; b=7X6TBIpSGPCPMgiQhvX+JIndPm8aFT6tW4hdGF73F8jgWxIO87beOtp5XllddvypR9hxwR cw3Gks6UyRUniKcz+TwoQrlE/AgvRKWk0y/pY3Yttbg807a3ZM4oclenj5iR2tyREXrF+K CBAnhzGgmoSaeU13esyeLAkiw8tVGRM= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf17.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712627752; a=rsa-sha256; cv=none; b=XcMMLW8cEtllZ2zr3G3vwCX+wW0woNPc8h03cMcOFNChHoMiblPDCkVkS3fEu1woyXFtEQ OqVwCEsNh0OreDEx+y+T2IlRkCTvfY4IIxJSh6wogLSWOrxPdwzICM7emi7D4DAfZWt6nV kpWvkXjHhOag0n7Cd5SvfA8apGpPBPI= Received: from mail.maildlp.com (unknown [172.19.88.105]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4VD89r6mytztRxm; Tue, 9 Apr 2024 09:53:04 +0800 (CST) Received: from canpemm500002.china.huawei.com (unknown [7.192.104.244]) by mail.maildlp.com (Postfix) with ESMTPS id 9A210140124; Tue, 9 Apr 2024 09:55:46 +0800 (CST) Received: from [10.173.135.154] (10.173.135.154) by canpemm500002.china.huawei.com (7.192.104.244) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 9 Apr 2024 09:55:46 +0800 Subject: Re: [PATCH] mm/memory-failure: fix deadlock when hugetlb_optimize_vmemmap is enabled To: Andrew Morton CC: , , References: <20240407085456.2798193-1-linmiaohe@huawei.com> <20240408122955.82183316d06cfe32fbacad0e@linux-foundation.org> From: Miaohe Lin Message-ID: <7a0bdaac-73cc-fb90-d323-aa68444c7e54@huawei.com> Date: Tue, 9 Apr 2024 09:55:45 +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: <20240408122955.82183316d06cfe32fbacad0e@linux-foundation.org> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.173.135.154] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To canpemm500002.china.huawei.com (7.192.104.244) X-Rspamd-Queue-Id: C515740009 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: ra4kpjwdir7q3wb1f5km9e997gt87pc6 X-HE-Tag: 1712627750-890596 X-HE-Meta: U2FsdGVkX1+fQf+sY8Czn02bJvXHiPUAOmlSbBpJpKOX+PHUNfs2RSnx9kZXYa8ceSKJ6nETDw2vPpyAq4RpMiS9TrG+5Xy/JTkPrMJr2UO30jBkv/tS/5CrXY6bCLG5CXcifVuYWveY4RDRa5Ud4SacMLqw1qtL4kkIIJxE9QBlPNr6sORdgwX7VX2ebOjxBYfsL1Pa5KPxI0+AliBRWR9tq19+DYX7swVVU1YRogfAJ/kr+R2kW8EQKYV8orK888eHwJC0WIAAHQEUhnRW8xMGwmbU7xvFviHRftcjJUfjSgPNLBDmlKq5t/YwUA2b6R9teWwRppI9XMUfvelIGQl+lKAHZyCHUImE1l4KuqkCNqUR3SGUNxi0XdxVqyejsbakIwcJf5jOmQ6ZpdKU5p2QZd33l5QM/CZu/N3R4WBg1btkTAvc+43C1lvNT3FJe31a7pxvLeMQzvJLhoCjgvZCYWRQfvpj1sq2AUve5PPEV1NR7b50s9OerrXhrJehev/RZydonqcy60uCju7esC+Hqej1x5wI48VLgcnLUtTibW1iQhtShaLF3tffWPNWj1k2sD5sPmlOqDMANCmvgbOcoq7RlxjPSPzcO0wjWWw1qnj8hKz3HeZ8wmr80vbFgnKMpldu8KYAIUfzXXvD0OGOXYkPnpucDRm9ISxfuxq59foQCA6TPidjyu8mMcH1gqTXVoBqimq9vSixZxppTG8V50yhC61SNRcAkJW3Gtf645R7DSEYkrve86wfmP+hOLuA+/t32iapI5yUrKMYl0wUYuBqaaPdXc1zntNU2EsSecxV5f5Zh7s4qMTNjaZkiTKdZyjtl3lxat9hUqSZV62DVXvu/y3tnYvQAMcNw5yDEAeX4shUI2D/Cm9GEBCzNLUf5XMyng5JngLchOdMBIrZAgixaAJz7zmFfk0lPMC2MSR35ygoSTdhgiiu4UIqTLYRCtpk2KMCo26y5vF 5ij20Onr XJo3+Tmtdjzv/U8As/78DzzeWRIUfxZH/Y9+At5PYIDfeDKZqEPOJjpROJkI4ihBh2JThYG9x/dRgxOQP9dkhdqheopCNoCMrFGVtiYyxxNoA6l9C8G7Asn3wyZncjb3xjN6Z3OM+kdmnPcSQI65QSh0kEbQNGe+s9k+trJ3BTxc44Y4nd+WNLUI4wqVs5ptQojoxFccTD5rolsi01XD2f6l8xKwLDkT9SAPX4djuP/5H4lYJ35sZ7XlFl894X6WjxM6+FELNrz7oxIc= 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/4/9 3:29, Andrew Morton wrote: > On Sun, 7 Apr 2024 16:54:56 +0800 Miaohe Lin wrote: > >> When I did hard offline test with hugetlb pages, below deadlock occurs: >> >> ... >> >> Fix this by calling drain_all_pages() instead. > > Thanks. I propose > > Fixes: 510d25c92ec4a ("mm/hwpoison: disable pcp for page_handle_poison()") IMHO this issue won't occur until commit a6b40850c442 ("mm: hugetlb: replace hugetlb_free_vmemmap_enabled with a static_key"). As it introduced rlock(cpu_hotplug_lock) in dissolve_free_huge_page() code path while lock(pcp_batch_high_lock) is already in the __page_handle_poison(). So it might be more appropriate to use: Fixes: a6b40850c442 ("mm: hugetlb: replace hugetlb_free_vmemmap_enabled with a static_key") > Cc: Thanks for doing this. > > . >