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 04FB8C67861 for ; Tue, 9 Apr 2024 16:10:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6F4286B0088; Tue, 9 Apr 2024 12:10:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6A3F06B0089; Tue, 9 Apr 2024 12:10:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 56BC66B008A; Tue, 9 Apr 2024 12:10:30 -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 38B4B6B0088 for ; Tue, 9 Apr 2024 12:10:30 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 845AA160477 for ; Tue, 9 Apr 2024 16:10:29 +0000 (UTC) X-FDA: 81990480978.21.A16A2B7 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf05.hostedemail.com (Postfix) with ESMTP id 6E4AA10001F for ; Tue, 9 Apr 2024 16:10:26 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="bd/HlzmU"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=lqY1P33Q; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="bd/HlzmU"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=lqY1P33Q; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf05.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.130 as permitted sender) smtp.mailfrom=osalvador@suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712679026; 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=jXgA26xKibh2o58sqe/B4dfezkEe1t/U2zFmJxz2JwM=; b=R1YmJeLYndxieEIh4Q90W36elM0EEeO/IIj+Dn0Ibm2OAlCniL0mVHkFlsgAKDmHn23yQj lcfxJaz4QSjwptgf3ek01HjvR3ktFCEX3/JE//AMwKGZm6mtXlSibD6y2ulCDaEhPpJfbE 1m1yCB8d+RuGyH2psqomXiAi/qYdHUU= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="bd/HlzmU"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=lqY1P33Q; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="bd/HlzmU"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=lqY1P33Q; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf05.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.130 as permitted sender) smtp.mailfrom=osalvador@suse.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712679026; a=rsa-sha256; cv=none; b=FBfYc9AuroncucJ3f2vSsYCDQySI/xqmLNr9YtrthJOBXoA0DxDktGJpZDUXDV8o96Dn89 15MgUnKD7ALSW80PRqGSch1e1syi05j9ip2ktFq6oQxl3M0jXsJl4TPw6obrpJ76YgiMyI Sau4d+ZSsa8/gyjTSME7R+iKLA1OT/E= Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 9920533ABB; Tue, 9 Apr 2024 16:10:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1712679024; h=from:from:reply-to: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=jXgA26xKibh2o58sqe/B4dfezkEe1t/U2zFmJxz2JwM=; b=bd/HlzmUb1UmUPcaoMwg8saPSV75UIqeAfyWXQ6tWimnXIWn7qL2Ews7h78Ce7+jpEasrk NS58DvrXCK6MqQQ5rkxuorUaeUHrfvMvIweF/LPmNITl5rHUjwy2w6sOLPfoClq0pgHwE6 RrIhnpOPsoztiGCT+jc/wgFVrb/+UW8= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1712679024; h=from:from:reply-to: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=jXgA26xKibh2o58sqe/B4dfezkEe1t/U2zFmJxz2JwM=; b=lqY1P33QMvJ12f+QN69G4Kj6wTMJoxsx5RS615NBlpSjSJY03sRq5pjBnDilVvenqyu3Fk BZ497XHlc6TV1RDg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1712679024; h=from:from:reply-to: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=jXgA26xKibh2o58sqe/B4dfezkEe1t/U2zFmJxz2JwM=; b=bd/HlzmUb1UmUPcaoMwg8saPSV75UIqeAfyWXQ6tWimnXIWn7qL2Ews7h78Ce7+jpEasrk NS58DvrXCK6MqQQ5rkxuorUaeUHrfvMvIweF/LPmNITl5rHUjwy2w6sOLPfoClq0pgHwE6 RrIhnpOPsoztiGCT+jc/wgFVrb/+UW8= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1712679024; h=from:from:reply-to: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=jXgA26xKibh2o58sqe/B4dfezkEe1t/U2zFmJxz2JwM=; b=lqY1P33QMvJ12f+QN69G4Kj6wTMJoxsx5RS615NBlpSjSJY03sRq5pjBnDilVvenqyu3Fk BZ497XHlc6TV1RDg== Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 446511332F; Tue, 9 Apr 2024 16:10:24 +0000 (UTC) Received: from dovecot-director2.suse.de ([10.150.64.162]) by imap2.dmz-prg2.suse.org with ESMTPSA id E0DuDXBoFWY7JAAAn2gu4w (envelope-from ); Tue, 09 Apr 2024 16:10:24 +0000 Date: Tue, 9 Apr 2024 18:10:18 +0200 From: Oscar Salvador To: Miaohe Lin Cc: akpm@linux-foundation.org, naoya.horiguchi@nec.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/memory-failure: fix deadlock when hugetlb_optimize_vmemmap is enabled Message-ID: References: <20240407085456.2798193-1-linmiaohe@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 6E4AA10001F X-Stat-Signature: at7yip16x15s4gd5wd55hxxc9ptumtxm X-Rspam-User: X-HE-Tag: 1712679026-144658 X-HE-Meta: U2FsdGVkX19HdOEWBqfF9EtuG5vnSQy83BFKfs0JeQG39iXOQucJhjcB+os/GlQGmps2EMqlWhTKdlAmdcl0SbRb4IVq5ICW90eTFURh8TOB7WRnWRHexkJaXL+AMIxIG141/Ws4wWOXrOLVZq8yCL6sXJvpuHxGvsT8ClstfPy+hDlZxW6XHhbZ8WpO+b9HHbvQoN9YJAUPyhI9sbWNtVjxBeMaxs19Osn7YEqjpztmT8F5sF+Q0cJO+9Dtwu8k5b5Gcer5cy+Ou6uzQFng4vh8ux7FbP3hgHlrSoL2qIkFFjy8rGOSw9A5zOWklhW7eP4hBNFId1IoS+7jmSjuPTVScuI3rez0OVQQjX2uZR/JppTuKfuMgldeXQxmsepHv0HShcM7glegfNE1ZM8X93u6d8NnS3v1fpV/ukhuPYWPvdRMIhK2LULp+6HQY/q8i/IBZE36GA6CGXSPA0lf4slbHbQTE6vM1PSYMeHjYrZB86p3CSDRotJnz0sBB7jLP2gNoVbeMo8V36MPSdLwngZJl3hdRH3KMBJt+L7R7BVJscBLR5gLknz0TKdZldnjYT8l8d3rxUnFQ4QqbJsSiF1xNiP4PjVMXQ96q8K+08Ekjed+ij82dYUecPwMfti4CqicVfNEpOu6MZn4CmiF2uHj1oYGK5bu8ZKgXf1u2OYjbCvy4S46vpbUyLGZ6TCFLvFOa2YCk9mnBCcbQcnlRILFRijZBEACNCUvq2+4h98Vh2Eoo4bI+TMFiYf2M+aZ6DftRfufZfHI5Ipbs3I1L9JRUt/VjgA77OBZdQza3KBNpR+OYHmWL6l5SyqyKXe5RdxLT4VH3pQBYmXB1yZOXsZLiCyxtKZLuJxrJ7rW36wJYv1oWIysnMld6KdpuIboebwyqvKBUEXyoa6DSRETHY1p9e2Pe0etRifrg7aK1nE= 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 Tue, Apr 09, 2024 at 04:10:22PM +0200, Oscar Salvador wrote: > On Sun, Apr 07, 2024 at 04:54:56PM +0800, Miaohe Lin wrote: > > In short, below scene breaks the lock dependency chain: > > > > memory_failure > > __page_handle_poison > > zone_pcp_disable -- lock(pcp_batch_high_lock) > > dissolve_free_huge_page > > __hugetlb_vmemmap_restore_folio > > static_key_slow_dec > > cpus_read_lock -- rlock(cpu_hotplug_lock) > > > > Fix this by calling drain_all_pages() instead. > > > > Signed-off-by: Miaohe Lin > > Acked-by: Oscar Salvador On a second though, disabling pcp via zone_pcp_disable() was a deterministic approach. Now, with drain_all_pages() we drain PCP queues to buddy, but nothing guarantees that those pages do not end up in a PCP queue again before we the call to take_page_off_budy() if we need refilling, right? I guess we can live with that because we will let the system know that we failed to isolate that page. -- Oscar Salvador SUSE Labs