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 1DC0BEB64D7 for ; Wed, 21 Jun 2023 11:16:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B2C1D8D0003; Wed, 21 Jun 2023 07:16:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ADC7B8D0001; Wed, 21 Jun 2023 07:16:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9A4A28D0003; Wed, 21 Jun 2023 07:16:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 8B3F08D0001 for ; Wed, 21 Jun 2023 07:16:44 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4D8B24096F for ; Wed, 21 Jun 2023 11:16:44 +0000 (UTC) X-FDA: 80926502328.18.014F236 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf18.hostedemail.com (Postfix) with ESMTP id 75DCB1C001B for ; Wed, 21 Jun 2023 11:16:42 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=yFGotoy7; dkim=pass header.d=linutronix.de header.s=2020e header.b=9mLALH3h; spf=pass (imf18.hostedemail.com: domain of bigeasy@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=bigeasy@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687346202; 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:dkim-signature; bh=VK8yIGCkCSXwo0SVRi4qhqVJe8n05RNNXZGb7k1cCRw=; b=5BDwndN4bTuiy1Vp2U0n+JF9FqQbbuC8o6QbBgAK4PQi9nXWrk1ZbQd419nNjmBJd0B/6Y rJjj8F445bpBs8oE+eX0G8KBTi8YCyaQveoSxYGaOVhTV0/Z1lAfCbNM9fk7BODL+WiGXI PybPgroNeDyglKMhUttlz/9ZqJYDT1Q= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687346202; a=rsa-sha256; cv=none; b=Vu12He2pB51FPUf+fjeclO5SAYMx2DMwQLbW+GRjWSHbjuSSn1AKl7gDCGdsfyMvmqHhtN N4SpKCXy3M2/ZU62tjjWmBmv3IWYyyoN966yR0VTl7/DCE97PpsnR80kLfE+P3EKEnREhy D2gbsroGZqrbsZ+8CS+DjXOziIPD8vQ= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=yFGotoy7; dkim=pass header.d=linutronix.de header.s=2020e header.b=9mLALH3h; spf=pass (imf18.hostedemail.com: domain of bigeasy@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=bigeasy@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de Date: Wed, 21 Jun 2023 13:16:36 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1687346200; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VK8yIGCkCSXwo0SVRi4qhqVJe8n05RNNXZGb7k1cCRw=; b=yFGotoy7exCV0Xlp0NqzZD7Fo9Ll6+4yB+AaQ3te9zD85den1aBgdXQcbX6opCgSJ76aa7 Tk9G7Lhloy5kwcPFyePQsv3JkDvsVgKO3yonUlgJEfy4s2+fRLrJJnOwgF0y8df5fNWvcj XN8TT2zKM5G6hyit3vYBo6ykKuuqs3Vm5elzY8ooFmc0Dxybd8CNKQkqbfup9+5dZ+0QQY TWSHzC2mXknTgKd2xII0AJr6csmg0VhSasDMztZfq9t0PzGLj6fQzXPkM1FByny9OFjvRC QuAJb9jScCrctoE+whKXV6F8KRd1XdPdWyV37o7Q0JW7najB7E4UmVH4aSpUAg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1687346200; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VK8yIGCkCSXwo0SVRi4qhqVJe8n05RNNXZGb7k1cCRw=; b=9mLALH3hklC6cao9IZMIsRXhpt1u9qIEevxpRRID6MNoMKkoZQpaV9fQI9/H21y8A57sDP kfbt5ncH1zb06AAQ== From: Sebastian Andrzej Siewior To: Michal Hocko Cc: linux-mm@kvack.org, "Luis Claudio R. Goncalves" , Andrew Morton , Mel Gorman , Tetsuo Handa , Thomas Gleixner Subject: Re: [PATCH] mm/page_alloc: Use write_seqlock_irqsave() instead write_seqlock() + local_irq_save(). Message-ID: <20230621111636.92RxISzY@linutronix.de> References: <20230621104034.HT6QnNkQ@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Stat-Signature: u5g34477azz6wkpmgbhphtosp614t7sz X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 75DCB1C001B X-Rspam-User: X-HE-Tag: 1687346202-438895 X-HE-Meta: U2FsdGVkX1+ClM+evs4ZqeAwBgYyVQhan38WfL0u5usbQDlOxaghFZi6a0Mzg+HKDsijN6PozczynZ1ewKTn1xdqS+/qp7I8ETvPBiN/wUYA8Ime9T6UjBU6+pP3fBgbcFYFFZjHz0a4552eFKGARTCnsFBCua1HWOgIK9rBW689iy3W5f6Dy78U6RmwJdh9R6PVCBNQGO9AaZPd7QlLlY06ysYK0Nu9Kdd8zGDfbjCoLHy6iEOdfk7+1PQcTz6YRGEh7IqD88LOW20LRznkoD+uMhoBEa/I0h46WmItGQOFis0AIb4T/+AC3aa04AXPAp6pxCjUSYN4+fOdMEHF4s5Qtj2PGoKxe0envcwn/PRdWdM6Ts25ZoJPMDAb89RUpkPmsXhdgCqthBWEAAeECDZeioVULtAq5suktCXJUs753zn2FSXy6S7crgkgapsfArYyVmKYOReFD4HSbd37yPOw489KiT7/YYuE1H+e6KBSo/0/ACl6L3yLeQyZ5tqas9Fnbgvmp0pBvFLw5VwprunvRUPaYzz9e9kFLxOcCao7OhBaOl6tiO+zn6e1LvNlpj8eUhMlesjAv9OS5fdi9ITilh80HLfC3DBvYsI2Fw/6voOG7Jj/0cDr34+JipiEgMgtVvctcFG+N85OUImxgYdQzvvyRtG7GzS2GsN/o8xmyuQhT5kPG+ilxS+ho3dmUk+OF+TviHl6VWo/x+CCGmAJ5SCIF4rP0IvxJEgEFbppO/UuLmGY/DM/Hjw26swdscCJA36DkCM4LXjjOaO2sj9/X0GG+y+vJ8HcC4d1GVv/6/+gbf0oZeF7LO1Lpu9A6H8yvrpKDqRu59xPrmKdWJB1eYKz88Rg3QPRURfpUHB7reB2Xfk8pUtc4HE5H5StddxXO55Uxf7X0DFQssy9xTaUGuzEgehn5DFHd/x3kQj/qXgqFhoS7eOd4O+Fli6rHMcDw85iry5/bQweP8M 6CV+PL/J kj9hpPAzb/BrTKqg/xvzhYPEQ3CoxiyvJOpQps7Cl4A0U8MkexRulopVMs/yD70h1LYHBpWkJWjHzbAULmLDqHw93pgGQnXK5bUF+hQ2h3VD2Dtq3IZszRNwfDmedlXGL2LLekN25C2ey1ukMIRzUnMvKLTZlbzSUjMV43PzVKJgROXA= 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 12:59:44 [+0200], Michal Hocko wrote: > On Wed 21-06-23 12:40:34, Sebastian Andrzej Siewior wrote: > > __build_all_zonelists() acquires zonelist_update_seq by first disabling > > interrupts via local_irq_save() and then acquiring the seqlock with > > write_seqlock(). This is troublesome and leads to problems on > > PREEMPT_RT because the inner spinlock_t is now acquired with disabled > > interrupts. >=20 > And the spinlock might sleep with PREEMPT_RT so a deadlock, right? It > would be better to call that out explicitly No, no deadlock. Let me double check this a VM with mem-hotplug later one but I don't expect an IRQ path. If so there should be more broken pieces=E2=80=A6 On PREEMPT_RT what you can happen is that the writer is preempted by a high-priority reader which then deadlocks because the reader spins while waiting and the writer is blocked. For this issue we have lock + unlock in the seq reader to PI boost the seq writer so it can make progress.=20 Sebastian