From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758240AbdLRNjz (ORCPT ); Mon, 18 Dec 2017 08:39:55 -0500 Received: from mail-pg0-f67.google.com ([74.125.83.67]:37581 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750830AbdLRNjx (ORCPT ); Mon, 18 Dec 2017 08:39:53 -0500 X-Google-Smtp-Source: ACJfBosFjCeTXMbDo9SCu/89MQ6ge4XvTQFRmd6Jlup8Exouw387DzZlU/Wb/Wwmfbx/V8hTrsYK6w== Date: Mon, 18 Dec 2017 22:39:48 +0900 From: Sergey Senozhatsky To: Petr Mladek Cc: Sergey Senozhatsky , Steven Rostedt , Tejun Heo , Sergey Senozhatsky , Jan Kara , Andrew Morton , Peter Zijlstra , Rafael Wysocki , Pavel Machek , Tetsuo Handa , linux-kernel@vger.kernel.org Subject: Re: [RFC][PATCHv6 00/12] printk: introduce printing kernel thread Message-ID: <20171218133948.GD31274@jagdpanzerIV> References: <20171214125506.52a7e5fa@gandalf.local.home> <20171214181153.GZ3919388@devbig577.frc2.facebook.com> <20171215021024.GA11199@jagdpanzerIV> <20171214221831.3ead0298@vmware.local.home> <20171215050607.GC11199@jagdpanzerIV> <20171215083151.cu3xbdgmxqkszwso@pathway.suse.cz> <20171215084236.GE468@jagdpanzerIV> <20171215090801.eulx4pg54p667ya5@pathway.suse.cz> <20171218093405.GA31274@jagdpanzerIV> <20171218133101.ri55uwivhc5xwg5y@pathway.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171218133101.ri55uwivhc5xwg5y@pathway.suse.cz> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On (12/18/17 14:31), Petr Mladek wrote: > On Mon 2017-12-18 18:36:15, Sergey Senozhatsky wrote: > > On (12/15/17 10:08), Petr Mladek wrote: > > 1) it opens both soft and hard lockup vectors > > > > I see *a lot* of cases when CPU that call printk in a loop does not > > end up flushing its messages. And the problem seems to be - preemption. > > > > > > CPU0 CPU1 > > > > for_each_process_thread(g, p) > > printk() > > You print one message for each process in a tight loop. > Is there a code like this? um... show_state() -> show_state_filter()? which prints million times more info than a single line per-PID. -ss