From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932854AbdLSCqR (ORCPT ); Mon, 18 Dec 2017 21:46:17 -0500 Received: from mail-pl0-f68.google.com ([209.85.160.68]:36208 "EHLO mail-pl0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750733AbdLSCqQ (ORCPT ); Mon, 18 Dec 2017 21:46:16 -0500 X-Google-Smtp-Source: ACJfBovoiytKTXAC6YmIOgQ/SPimIcPMxy3DvSGsogi+OfPtHusV0QqwXIIAD9tZhLRftnvOi/UAbg== Date: Tue, 19 Dec 2017 11:46:10 +0900 From: Sergey Senozhatsky To: Steven Rostedt Cc: Sergey Senozhatsky , Petr Mladek , 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: <20171219024610.GC17164@jagdpanzerIV> References: <20171215090801.eulx4pg54p667ya5@pathway.suse.cz> <20171218093405.GA31274@jagdpanzerIV> <20171218133101.ri55uwivhc5xwg5y@pathway.suse.cz> <20171218133948.GD31274@jagdpanzerIV> <20171218141353.6shpvcwth34k6dsi@pathway.suse.cz> <20171218124613.1df152da@gandalf.local.home> <20171219010311.GB8892@jagdpanzerIV> <20171218200806.56a6507e@gandalf.local.home> <20171219012455.GB17164@jagdpanzerIV> <20171218210356.71a1f60e@vmware.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171218210356.71a1f60e@vmware.local.home> 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 21:03), Steven Rostedt wrote: > > and this is exactly what I'm still observing. i_do_printks-1992 stops > > printing, while console_sem is owned by another task. Since log_store() > > much faster than call_console_drivers() AND console_sem owner is getting > > preempted for unknown period of time, we end up having pending messages > > in logbuf... and it's kworker/0:1-135 that prints them all. > > > > systemd-udevd-671 [003] d..3 66.334866: offloading: set console_owner > > kworker/0:1-135 [000] d..2 66.335999: offloading: vprintk_emit()->trylock FAIL will spin? :1 > > i_do_printks-1992 [002] d..2 66.345474: offloading: vprintk_emit()->trylock FAIL will spin? :0 x 1100 > > ... > > systemd-udevd-671 [003] d..3 66.345917: offloading: clear console_owner waiter != NULL :1 > > And kworker will still be bounded in what it can print. Yes it may end > up being the entire buffer, but that should not take longer than a > watchdog. not the case on my setup. "1100 messages" is already longer than watchdog. consoles don't scale. if anyone's console can keep up with 2 printing CPUs, then let's see what logbuf size that person will set on a system with 1024 CPUs under OOM. I doubt that will be 128KB. anyway, before you guys push the patch to printk.git, can we wait for Tejun to run his tests against it? (or do we have a preemptive "non realistic tests" conclusion?) -ss