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 758EFEB64D7 for ; Mon, 26 Jun 2023 13:13:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0E6468D0002; Mon, 26 Jun 2023 09:13:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 096D68D0001; Mon, 26 Jun 2023 09:13:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EA13E8D0002; Mon, 26 Jun 2023 09:13:08 -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 D98FD8D0001 for ; Mon, 26 Jun 2023 09:13:08 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 4E0FA1C837A for ; Mon, 26 Jun 2023 13:13:08 +0000 (UTC) X-FDA: 80944939656.19.E8FB345 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf22.hostedemail.com (Postfix) with ESMTP id 3647AC002B for ; Mon, 26 Jun 2023 13:13:05 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=fgyoaiRn; dkim=pass header.d=linutronix.de header.s=2020e header.b="/JKRY25+"; dmarc=pass (policy=none) header.from=linutronix.de; spf=pass (imf22.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=1687785186; a=rsa-sha256; cv=none; b=H/KEGssM56CMCa6ydaZqcV8FKXtGyCznSDT/NPLLvnhnXhZt39icJZerNUIGVnSX1XT4qj cmG9iZKx248nrd5xuyoRgNSKCqy76aixNUTzXw6MZd+B3yEQSxgLWyJ3uc7vfgRk6zS4HR bqAXptcxCZxSWVCeNs6HaRW4edk52G8= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=fgyoaiRn; dkim=pass header.d=linutronix.de header.s=2020e header.b="/JKRY25+"; dmarc=pass (policy=none) header.from=linutronix.de; spf=pass (imf22.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=1687785186; 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=dJ4Di89KqvgxUq7+UJZlhQS8x66yPkUdMBNqO/L1Rec=; b=09BHsh2qx9F8pFRRAQUeR822ij97wT4uMJrzZvuUYWj3naHUWeOsu8ZdSv1+mlb26Lqm2y tnIrt1vTvK5GxgU4OmMoU+FbZV2klepzo0CiWG5/JnndlzPUbWiALArEFnt7fT/sQXbUhy cCDSNEF5sSggCVIN97/YUT3Vh61a8jE= Date: Mon, 26 Jun 2023 15:13:02 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1687785184; 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=dJ4Di89KqvgxUq7+UJZlhQS8x66yPkUdMBNqO/L1Rec=; b=fgyoaiRnwPpzjij3YonvglSVuPKoz7tB3jQL5S2xPWD9go0IqdjyIJM5VK+Xz4tS0jJxTI ReAkJ5oDzqXxNggzgyJS+M9Tfbx8t0kUWB3xaDftWRbpBhT5InNws4U5cdxcwj/GdqV0TO 7UVq5i/DuT0/FAAkWfefQ8Y+VljTvfmoQmaFoAL+HysHyZVtQqGgq1E//aXWGI+zOgdOYY onS7Ch5mEyw7jX1SY25gM+FMwNLGjpqj3ygYpEyYNVvQYdu3IM3bEvJuZIg2uHzUSl8UEl hrzC0wFRLAD1tqjYQ1c6Fki3akiex2AnDCqwvkUwvu2fDvQQsaQQoRyyIclfqQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1687785184; 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=dJ4Di89KqvgxUq7+UJZlhQS8x66yPkUdMBNqO/L1Rec=; b=/JKRY25+CV9oEwP8w1J9orRkTduJ2mTQKJYT8OIYSOx7TZY4KzUNdO0991I2iFRgkPYOg/ cqKj0QPwj7wNfhAQ== From: Sebastian Andrzej Siewior To: Peter Zijlstra Cc: Tetsuo Handa , linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Luis Claudio R. Goncalves" , Andrew Morton , Boqun Feng , Ingo Molnar , John Ogness , Mel Gorman , Michal Hocko , Petr Mladek , Thomas Gleixner , Waiman Long , Will Deacon Subject: Re: [PATCH v2 1/2] seqlock: Do the lockdep annotation before locking in do_write_seqcount_begin_nested() Message-ID: <20230626131302.JsFNvwps@linutronix.de> References: <20230623171232.892937-1-bigeasy@linutronix.de> <20230623171232.892937-2-bigeasy@linutronix.de> <20230626081254.XmorFrhs@linutronix.de> <0a0c768c-227d-c0cd-1b91-5a884d161c1b@I-love.SAKURA.ne.jp> <20230626104831.GT4253@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <20230626104831.GT4253@hirez.programming.kicks-ass.net> X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 3647AC002B X-Stat-Signature: gtd8ko8sz3ywzpjo37rymh9wzoed7qnd X-HE-Tag: 1687785185-660434 X-HE-Meta: U2FsdGVkX1+n6Gof2TPHTx1m+bVEkG2JjD0knRE5RNGmJccgB2+H0vacCJA+OMi8xhwlz4uaUhRvtnOo4TgVaG0uMNa0GmhSqlIVEjfN/+SUzrcnr1pTBSFBDQ7e+BfiZd1b6fsnx/a1NzqxBOX42CMy5rZ5F5YDiEM2sd8lYFLQz6bTZUaJAjNq7IdvFo1gKTzyG4e6fQVpZIgefuLqnNLDma3bVnyZkVMX6nBajXK9ZBHW38YDC5PE3YZ5p1MOPrnou9Szoqp/IhlTHBJoz+4qIvsIRHSE3E19tB1mvI/fajV+PIljQYGd55dBPgw9PAasTjvD4cDmT8nhVFkZNa+HsHTGEjf3TmsJFwpcsfNEPft85lhJT37ExEQuC92tDW0XwbXYCH2wabBAlaBhzOVy1KZvhYi6G+VPJFnaPVsUKXkx+n1nqPHkKY0uj8dz0POtD8y5rOFS+J6s8oWjtXXgW1F9/ew53ICDsN71GQJl7Iq4zC393IrNnSSniR93WjYVO9GbcfzlDKAx9kKSj6JqwB7WVXRayaNI5C4EHvtM/rTOytS0KeCr7Y25AD96DS1P8CoGh7u6Z4AjWmkWEiloCCwAnKz32hgz0JWMB0QRA7/6ZTYT4sw2jHBKGygQQLjLuJIb5kwokRwVMUin9CX2oIislOyzH4KEf79sGHdX6IjuSmGePpuuEIKqGe8bqxMvBsejfXRpWZS8vGkYiqQEybtgki4hmTjbeYvwcyvf628jZ/cuSQNxCy4ItWPIW0a5lFq9VdiQQl4vQLdYmn9A+ZiIsan9tJQ4d67TApP25xgpCa8GKHwiveLj+1+fT0znIS1oXXVFbf/rhggYTSWppXVkBdaOr/P6xvn37l0uxS5OsRKn/MTvp6aXIqj+12E0Kbuxu0/cZdT6jAxi1HOLqBttI1k6yBqCYIRVtJeSXK9aSVqbLTLkYUICCOuv+g4rXQ12+aLe3NeEGpK 4b2B/Gge Oz+fSDsa+uFTqluQHNr2nS+wrFZm/4o56rjnfVmkqONCFZnIUEB5aX9aJbzpZ6/rGf1ONXUbRur5ppGoU/4RbUFJg6XQSg1bvklnaUOIq0o80PsSkcl0gG7SDjEqzZqR/Dbo5bLdaTJZnjyJdf/Ny/e50GQ+JuA6/wuaSiCBy0h43eE834KNwRc4JnJ7I5ZKjbEzB0f73A+YWII3YIs+5nAGHaw== 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-26 12:48:31 [+0200], Peter Zijlstra wrote: >=20 > Don't be like that... just hate on prink like the rest of us. In fact, > i've been patching out the actual printk code for years because its > unusable garbage. :) > Will this actually still be a problem once all the fancy printk stuff > lands? That shouldn't do synchronous prints except to 'atomic' consoles > by default IIRC. The fancy printk stuff should have synchronous printing in emergency situations and threaded printing by default. But then I hear John saying that there might be push back because atomic consoles may not be available everywhere=E2=80=A6 Anyway, the requirement for the deadlock to trigger, that Tetsuo Handa is concerned here: - lockdep enabled - console and tty in use. - tty_insert_flip_string_and_push_buffer() on one CPU with tty_port::lock acquired followed with a memory allocation blocking on read_seqbegin(&zonelist_update_seq) due the writer - memory hotplug =3D> __build_all_zonelists() acquiring write_seqlock(&zonelist_update_seq) and now lockdep creates a splat. This is accounted for if the lockdep annotation comes first (1/2 of the series). But the unlock annotation of the seq unlock operation may still create a splat so a possibility for a deadlock remains. The requirement is _high_ and it hardly justifies ugly code. Sebastian