Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1470161pxj; Fri, 18 Jun 2021 07:50:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxcS58lOxyi1waTPZSEuVK15jBMPy0LnI6f6p5u9GBQWPEFDkymiLZe/ea7SCtGQzgKP2K9 X-Received: by 2002:a17:906:8aaf:: with SMTP id mu47mr11084152ejc.195.1624027844752; Fri, 18 Jun 2021 07:50:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624027844; cv=none; d=google.com; s=arc-20160816; b=BV/++8RZbGqOEOgxtmcW95dsdupI7H1N5IhXbwCD1SfBrgXx1PwGF5/EJU5zbUItyf WFKdq3UkvMRNSTLm1qjIvNkgTFglU0Pnp38ebXdtxNqV5s/UtGDqbAp1e+o6l4EHSLTF 67XzN6Ii0o3UxrXjwmoblJcWP5pdtmXvXdTJXdPVVnZprXg+3Qc0AuA5sG/cB0hz9yGT 8z0HPTMXssnV8e27aT47sxxcKzLL6j1MRDU5ybxVWYskDCR1NGA4vWXuni5SgALRtxhx ShNLGQjTGxDomajfdUQuoMvtvzZWSGOUW81bAz1RtgQXjw1eCjXFTmMWgpuqkQxVBRjt +fqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=ofS7wVEDsIrS30FJCm8VcnZVpnOGoYipKdIZZ4xEpsA=; b=NcQO62W47qSi+52VdXP9TNfWNMnjyf78qBVCK0+4jiK3JZgkoP4ZrM+lj2ubjMeERa 3/q7HYaVsW5mtXQZ9K6CKcDywIC7AkFZYPj99KlFHDNNFehJ1czMwm7rQcS1vYq+VUXx 4dDj0DOjayYj5OIDSNPzLXkSj3g1LePqkJQj4viaWrwt4b4GpKKS6OsMYtgDH5vCFNPn GfS/nAdTsO6OF1eDtYbD7TGfFMtjmRx3M5c5AnCu5Y/1IkEy0jv8Mvi3ubjo3LZhKTEF ovMpwfTF5H5Azg0ES8kMoZDHxkLS14zA6x0owaJuQBZj6tjflNfk1B+kPhFEaQ/CPhbH hHxQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=MW8ncgLS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v26si8965104eds.296.2021.06.18.07.50.19; Fri, 18 Jun 2021 07:50:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=MW8ncgLS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234678AbhFROtw (ORCPT + 99 others); Fri, 18 Jun 2021 10:49:52 -0400 Received: from smtp-out1.suse.de ([195.135.220.28]:48062 "EHLO smtp-out1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234624AbhFROtu (ORCPT ); Fri, 18 Jun 2021 10:49:50 -0400 Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) by smtp-out1.suse.de (Postfix) with ESMTP id 836EA21ACB; Fri, 18 Jun 2021 14:47:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1624027659; 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=ofS7wVEDsIrS30FJCm8VcnZVpnOGoYipKdIZZ4xEpsA=; b=MW8ncgLSjk3Wrh8A5faRk3XwqAqJUaIzrECob2rzsFJT1qQNusNDuYRyn77DM7wk9ntO60 sADqxfJWJN4mqjKVWaX0ZVeXALbH0sch5GcQfu7MePe/M8wOp28SXDddGSdGMLe/69g4BE jjHrIuZcmNb8SURTdUmkVUr7hjFS03M= Received: from suse.cz (unknown [10.100.224.162]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by relay2.suse.de (Postfix) with ESMTPS id 64EFCA3BCF; Fri, 18 Jun 2021 14:47:39 +0000 (UTC) Date: Fri, 18 Jun 2021 16:47:39 +0200 From: Petr Mladek To: Steven Rostedt Cc: John Ogness , Sergey Senozhatsky , Thomas Gleixner , linux-kernel@vger.kernel.org, Stephen Rothwell , Andrew Morton , Peter Zijlstra , Daniel Bristot de Oliveira , Stephen Boyd , Alexander Potapenko Subject: Re: [PATCH next v4 1/2] lib/dump_stack: move cpu lock to printk.c Message-ID: References: <20210617095051.4808-1-john.ogness@linutronix.de> <20210617095051.4808-2-john.ogness@linutronix.de> <20210617093243.795b4853@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210617093243.795b4853@gandalf.local.home> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu 2021-06-17 09:32:43, Steven Rostedt wrote: > On Thu, 17 Jun 2021 11:56:50 +0206 > John Ogness wrote: > > > dump_stack() implements its own cpu-reentrant spinning lock to > > best-effort serialize stack traces in the printk log. However, > > there are other functions (such as show_regs()) that can also > > benefit from this serialization. > > > > Move the cpu-reentrant spinning lock (cpu lock) into new helper > > functions printk_cpu_lock_irqsave()/printk_cpu_unlock_irqrestore() > > so that it is available for others as well. For !CONFIG_SMP the > > cpu lock is a NOP. > > > > Note that having multiple cpu locks in the system can easily > > lead to deadlock. Code needing a cpu lock should use the > > printk cpu lock, since the printk cpu lock could be acquired > > from any code and any context. > > > > Also note that it is not necessary for a cpu lock to disable > > interrupts. However, in upcoming work this cpu lock will be used > > for emergency tasks (for example, atomic consoles during kernel > > crashes) and any interruptions while holding the cpu lock should > > be avoided if possible. > > > > Signed-off-by: John Ogness > > --- > > Can we add this lock to early_printk() ? > > This would make early_printk() so much more readable. Good point! Just to be sure. Do you see the messed output with plain kernel? Or do you need the extra patches (from Peter Zijlstra) that redirect normal printk() to early_printk()? My understanding is that early_printk() is used only for very early boot message in plain kernel. And that there is not much concurrency at that time. That said. I always wanted to upstream Peter's patchset. But I never found time to clean it up. Best Regards, Petr