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 A57C0C6FD18 for ; Wed, 19 Apr 2023 08:23:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 23EA48E0005; Wed, 19 Apr 2023 04:23:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1EEF08E0001; Wed, 19 Apr 2023 04:23:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0B6E88E0005; Wed, 19 Apr 2023 04:23:39 -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 EFEC88E0001 for ; Wed, 19 Apr 2023 04:23:38 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id B2DF41601F5 for ; Wed, 19 Apr 2023 08:23:38 +0000 (UTC) X-FDA: 80697451716.21.1564C12 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by imf22.hostedemail.com (Postfix) with ESMTP id D4022C000F for ; Wed, 19 Apr 2023 08:23:35 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b=OLZ2UIpr; spf=pass (imf22.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.29 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681892616; a=rsa-sha256; cv=none; b=FGtUVfVvMaDPfV5fgPfIrvY8nimG3fUn93O8Xp420598hUwsDHs/cZ2LlSUIy2evw7EL7c mlbPHhkJGkw5IcLH1RrUwLTYwDtWCLH5QLdKuynxfDQQE3JT3VMNCUOEJE3jBF2wNUfktb QONIpPU4XMq8rAMAzN0abwpg1MuNH3A= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b=OLZ2UIpr; spf=pass (imf22.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.29 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681892616; 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=75D13D0LUebYcEJ9NM2sXESbsiUK/Wt0lgxoIsRvT1Q=; b=LR2DLexT6RzHok/LYf0V58xvQzLQ3Bpz+GBjjuR0nw0Xe6MaW1KaPdSQFTBgMDH8B2H0rv FUjD6r/ZiIUkTDkzT0N0H3RsUH2CzM+Zkhus9h/H+4WrLJBUAWurnEM1JaezPBOuNZZNDV pZBjeo5giqMyM3erxhz029ISDPNoDwE= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 72D7C1FD8B; Wed, 19 Apr 2023 08:23:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1681892614; 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=75D13D0LUebYcEJ9NM2sXESbsiUK/Wt0lgxoIsRvT1Q=; b=OLZ2UIpr7Cvswbp0AxgUGiRbBt1Md8aNcKzxAivVEwp1L24/nKJ8kDkcQlusgx4tDO6cAi nCDcK+wbvJcR6ZANOiIalnR0H9mOSTtC4bary7wDK2nUpwl7CaHGQ/xtokH+9dVfNvkR4c 786qh0jzlu6swyZOKvis8GvzwWDwZJQ= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4CFBD1390E; Wed, 19 Apr 2023 08:23:34 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 95v1DwalP2Q1YgAAMHmgww (envelope-from ); Wed, 19 Apr 2023 08:23:34 +0000 Date: Wed, 19 Apr 2023 10:23:33 +0200 From: Michal Hocko To: Petr Mladek Cc: John Ogness , Sergey Senozhatsky , Steven Rostedt , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] printk: Enough to disable preemption in printk deferred context Message-ID: References: <20230419074210.17646-1-pmladek@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230419074210.17646-1-pmladek@suse.com> X-Rspam-User: X-Rspamd-Queue-Id: D4022C000F X-Rspamd-Server: rspam01 X-Stat-Signature: 76qfk5e39dcbauiri6ftfuoxx4j5wz54 X-HE-Tag: 1681892615-635598 X-HE-Meta: U2FsdGVkX19iHBtbdY+5+7vCNAZ3/I+BcbPRlIM2zwjPfp9xeYzFPiwv3R7in3AIk31WpdRlIV5AJMgwXCjTpObPa39ICYJT3v1eG577/Oo6Z56O/ZK3jgyESWonfOG+A7DQls+jenOILBjIzdxBJY+gz5nzNjDW/a++3pr6nctfF5NxBic+5MEQ4j1XsAhIL9t3sOcVLRz707xC/Qk0pVMsxHiSaRkkAdQJDotlhpURDWqbIDxW6RwBEsgPgrNYtCojr6hqnmyiyulhLG/8nibpzGMLKEFlAQh7Z5N2lmPBrqiHGjgFL3LNwdOAR9piBF8wU5ekaSJAUgNXbgwfL3Zib0ujdAnnSYHO+NPMUfU5VLVbHX1EaS2HOHBRXUhfOgJcPOSuMQw7E21sabGKf+bqkn7NlVG9c9nDLjTyTlwCQ7TtohzRr/y/0+TmjiBQPc/cX+pa+du81btYAuSgG5vGcGHW/yi+/fnq8G6mdKkAag2O40Z0zFwKJ+wbyn0Aexnya0D9uCLYPWtwpM1eW0v90dR0/qHwtzRFCMWrG+vKOB4TqM/XRUHLNty2CzYc04moFBmL/gjOLjk38V6walgyY8j292iP2mxfiTUhzzOdkadrOABOCSwkDWljHZraym7v4PLAI/Ghmwgj7IZFItmmcD1bPZaudZ3R8CQ82/EVCenhBWTEfQTkW6aj1hwvGylokJ5BhGSi9xrIcLXwdRm0hih2yz8xn7to114kMXIzGgbWy0mPlFtDuRdzCuK0WNrebBgscyHj/5iM5TskGOE4KA53JPD4VyPgSbp5uN3ZW5oowReJ+t32q6BooLGmQiTiHRdCw6OsJe2afueBqTVM3fTgnmdke295FFL9fmwnKYAaisScilOJnxP3d3z7dsEzfLAKgsOYaBSRXmELQOd+v5bfykFgF4Ao3RwaFlEfFd+JLhIYljcX9P7CqarPnZiK90w5c2UbmfmXB83 bWdowcR+ 2gsbXgymqGkzMtmQa5tGVdhtNi3IJgXh3uOt8xVbN98KSZNIxPvSafRiZ6oyt+/RMK5WS2es50R7bYuB8laZIz86141z4+aC2ZSM945q9jRvZQ69nCWX813WT4dig4FIqKvmo8e9IEJtVMWgZqQxcl7WDVARkumHhAqZfKSN/KF4Z+QnbtHeB3RqDCbb8O8fZKEbQzFdquVRpjjqMW9IexEEF9crzB09/QLHu 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 Wed 19-04-23 09:42:10, Petr Mladek wrote: > The comment above printk_deferred_enter()/exit() definition claims > that it can be used only when interrupts are disabled. > > It was required by the original printk_safe_log_store() implementation. > The code provided lockless synchronization between a single writer and > a single reader. The interrupt and the normal context shared the same > buffer. > > The commit 93d102f094be ("printk: remove safe buffers") removed > these temporary buffers. Instead, the messages are stored directly into > the new global lockless buffer which supports multiple parallel writers. > > As a result, it is safe to interrupt one writer now. The preemption still > has to be disabled because the deferred context is CPU specific. Thanks for the clarification and explanation. > Fixes: 93d102f094be ("printk: remove safe buffers") Is this a fix though? I would expect some users to be changed from irq to preempt to disabling to be considered a fix. > Signed-off-by: Petr Mladek > --- > include/linux/printk.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/printk.h b/include/linux/printk.h > index 8ef499ab3c1e..915a321b491e 100644 > --- a/include/linux/printk.h > +++ b/include/linux/printk.h > @@ -161,7 +161,7 @@ extern void __printk_safe_enter(void); > extern void __printk_safe_exit(void); > /* > * The printk_deferred_enter/exit macros are available only as a hack for > - * some code paths that need to defer all printk console printing. Interrupts > + * some code paths that need to defer all printk console printing. Preemption > * must be disabled for the deferred duration. > */ > #define printk_deferred_enter __printk_safe_enter > -- > 2.35.3 -- Michal Hocko SUSE Labs