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 3C0C9EB64D7 for ; Fri, 23 Jun 2023 07:28:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 80B3A8D0002; Fri, 23 Jun 2023 03:28:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7BBA68D0001; Fri, 23 Jun 2023 03:28:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 682AC8D0002; Fri, 23 Jun 2023 03:28:02 -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 558468D0001 for ; Fri, 23 Jun 2023 03:28:02 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 23CF8A0D98 for ; Fri, 23 Jun 2023 07:28:02 +0000 (UTC) X-FDA: 80933183604.18.6D2BA07 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf30.hostedemail.com (Postfix) with ESMTP id 494F880009 for ; Fri, 23 Jun 2023 07:27:58 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=UR5KrLjG; dkim=pass header.d=linutronix.de header.s=2020e header.b=V54q1NLH; dmarc=pass (policy=none) header.from=linutronix.de; spf=pass (imf30.hostedemail.com: domain of bigeasy@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=bigeasy@linutronix.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687505279; 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=kbNFZDtzcGV+OhhVRA6Vc1BzVq2/V1jrjENYCvBq/gM=; b=SzqQpSrlzYD9jUNspszrHUrvrnCOc5D/iU9afRqIPXdyHo79dRKBVPEcxIT5kY9HqCuDdF X0gbwODwjqOmD5Ab/a7sjKwxY/y8EodJ/GJPtjTLb5w7fuR1JoNebXjGCfX+LVhJ/ZExgy ULQ/wc/qcbtopLqHuEcTnnsx5h/3KSE= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=UR5KrLjG; dkim=pass header.d=linutronix.de header.s=2020e header.b=V54q1NLH; dmarc=pass (policy=none) header.from=linutronix.de; spf=pass (imf30.hostedemail.com: domain of bigeasy@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=bigeasy@linutronix.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687505279; a=rsa-sha256; cv=none; b=suEsBXEqzW9MCESpZnEwVidSF4ZDssPWXdKxPv+jg9joZQsixfTdlnA+yVVV3aUO8RnWKQ fv019Gtm6XRSEfy+RPWXfAz+6mY+obVxf7dVsJ9Gk6Ych9pcfA1vByH4FrKbutSTx3hWy8 LGyaWynFayHskzJ5YYHK836N6WaHc6M= Date: Fri, 23 Jun 2023 09:27:54 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1687505277; 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=kbNFZDtzcGV+OhhVRA6Vc1BzVq2/V1jrjENYCvBq/gM=; b=UR5KrLjG1rTbIwwHZGsLl0yPtmuqS1Rp8vb8c+B0tzGEhfeTjXVCEUyYxvLV+an9mQo5Se aVtis1QhNjqH5s01SFEC17OHPUEnAucgBsOJFwDCxN/G72wZzDj1pFJ4GskTvsVcABXMwV m1TPDzokkmHsAdJdLM4sgoeBQl5fP1wz648gmWs3v0swbFmsFDlIk7bKcjbjYjRW6RZfTh 34WBptYCdz0fVD3wIRJTQzWtPwkawps5hW9O3hCZTwclZ/iuv86NrSxRJpVCVc4kI5JTHz gozlardvLZ/Q/OphfTELoMufZjf8ieLAvi99U1FUy3h2DmTNBJaLDI3tn6YzUg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1687505277; 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=kbNFZDtzcGV+OhhVRA6Vc1BzVq2/V1jrjENYCvBq/gM=; b=V54q1NLHDWGo31lpm+WJi3rnVAzrXhxiEwx0ETaM6MaTcybI4YeDhpoxRIqMMASMug+PeD RAFciJBvZmwcCCDQ== From: Sebastian Andrzej Siewior To: Tetsuo Handa Cc: linux-mm@kvack.org, "Luis Claudio R. Goncalves" , Andrew Morton , Mel Gorman , Michal Hocko , Thomas Gleixner , Petr Mladek Subject: Re: [PATCH] mm/page_alloc: Use write_seqlock_irqsave() instead write_seqlock() + local_irq_save(). Message-ID: <20230623072754.uZLbQXn4@linutronix.de> References: <20230621104034.HT6QnNkQ@linutronix.de> <0e9fc992-8e05-2e63-b3b1-d8d3ce89fc16@I-love.SAKURA.ne.jp> <20230621130641.-5iueY1I@linutronix.de> <20230621143421.BgHjJklo@linutronix.de> <01031ffe-c81f-9cec-76fb-e70d548429cf@I-love.SAKURA.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <01031ffe-c81f-9cec-76fb-e70d548429cf@I-love.SAKURA.ne.jp> X-Rspam-User: X-Stat-Signature: qhchpbs6x8ownmttdcapr79dbwma5ub3 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 494F880009 X-HE-Tag: 1687505278-38130 X-HE-Meta: U2FsdGVkX19gfvdo9VRNqnZ2cSgMkExyRGI8sTrtL4bcZh/mu3so2PbwgVtUNU6Car/3lIOVuSp5XuD45wvK3prylFI6kGKYFxm8VBQcgSER7lHuiSy9o9n+N9ghdqaiNpbDACG7FdGM0xTVidxk1mM7MjyH6LQwaGxlbCPHXU1MufoKcaOehEzRSemaavA38Mmbu/a/Bry5k+sH5yb0eYZ4Ker9RU5TT7pzVobg2mz5CT7BKdCKvl+guW8+9GJCMGJGkvv/cKwbYsclnwPfj7leUdzkQisSwrCGHbr7mAlw3Qcp3q3EYvhj0ZYKperdmnP+TJhTE8FSlVaRpDlwGbGEPspO/wMBnemIciYRHiotilAdn0iZB3+TTmnzgfKTXlqoMUqNKyEh9b++lFoXugK+ZiJQyOGk90JKv86YOf8bIrxkNJ81NmBJ/+CqqqXiTyXfXE57weRK7K4tdDfHB8amt3YIyfnTMqoYq/BoD2ROPiFF5RRqYdw88Q9+DcTFYOiwdqI831Dj2zqGJAmlEAEpPtITXND76ZYouAgLd4eBR+N92M9ZEPOa288m54YnkygdoNruqNTFxZ2aFFcG2YRrEZBD+/4b1rGf6xBRT4qlVNMSc1uKnEoAla+LtzuCfEy5QtozET06W3olVZE4PxlowPK6GkGRmpNPHLKKo4lQ6FwpmR+x+YFclsGJEYUWutTjSE/6FiCblvtzDHzn5fVD2z59gQdspDFtLhGTQKEQCxyIPtMGY+yADIL6NG43ubw0zjuxynfUlMYGpcVR1wxwUuW+DNIzj1sqY1kmN3Mp+jzYgsUemrDdV3NS7cybrHQ8NhGND5T0PSh4Xsn5QAHImwIYRB74ycNvGARqd6qtL8hXfLHFRiQJZyQVETUZNBMJKBAkvrc8rhZzM3RkdFZPAHT8KZeKY+JjaC1C4oBbULu95yH7leO8+9C2TeE9iCT8TT0IKJe65OHgxlf K7g4209f k7PY1VOH/S4gm6dYBpxi+oE8RFQ1mX98DA2edMvmYeZSHnwdp9X7+ZAbeI1nn6rBEo2hVkalBWydo0TcsPSfuEYBh4U9TraP7KOjML9ro1Ld3UtHoDGo93+ulm6CJyGqfs3Yjd07pa1UW8/U= 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 2023-06-21 23:50:02 [+0900], Tetsuo Handa wrote: > On 2023/06/21 23:34, Sebastian Andrzej Siewior wrote: > >> Also, if local_irq_save() is hidden due to RT, what guarantees that > >> > >> write_seqlock_irqsave(&zonelist_update_seq, flags); > >> <> > >> some_timer_function() { > >> printk(); > >> } > >> <> > >> printk_deferred_enter(); > >> > >> does not happen because write_seqlock_irqsave() does not disable IRQ? > > > > I don't see how zonelist_update_seq and printk here are connected > > without the port lock/ or memory allocation. But there are two things > > that are different on RT which probably answer your question: > > It is explained as the first deadlock scenario in commit 1007843a9190 > ("mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock"). > We have to disable IRQ before making zonelist_update_seq.seqcount odd. You did explain the relation zonelist_update_seq -> kmalloc(, GFP_ATOMIC) and tty_insert_flip_string_and_push_buffer() -> kmalloc(, GFP_ATOMIC) with printk() on another CPU. As far as PREEMPT_RT goes, it is not an issue because the port-lock is not used or printing is deferred. Sebastian