From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933495AbeAKKiy (ORCPT + 1 other); Thu, 11 Jan 2018 05:38:54 -0500 Received: from mail-pg0-f65.google.com ([74.125.83.65]:35431 "EHLO mail-pg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933374AbeAKKiv (ORCPT ); Thu, 11 Jan 2018 05:38:51 -0500 X-Google-Smtp-Source: ACJfBoth1yPPq3n2fWdAzRx+CaWHgyCn/rF8E8nEI9/ClpSL3R/YB+CfJyHRwayS8wBBXr+Nv8fsIg== Date: Thu, 11 Jan 2018 19:38:45 +0900 From: Sergey Senozhatsky To: Petr Mladek Cc: Sergey Senozhatsky , Steven Rostedt , Tejun Heo , Sergey Senozhatsky , akpm@linux-foundation.org, linux-mm@kvack.org, Cong Wang , Dave Hansen , Johannes Weiner , Mel Gorman , Michal Hocko , Vlastimil Babka , Peter Zijlstra , Linus Torvalds , Jan Kara , Mathieu Desnoyers , Tetsuo Handa , rostedt@home.goodmis.org, Byungchul Park , Pavel Machek , linux-kernel@vger.kernel.org Subject: Re: [PATCH v5 0/2] printk: Console owner and waiter logic cleanup Message-ID: <20180111103845.GB477@jagdpanzerIV> References: <20180110132418.7080-1-pmladek@suse.com> <20180110140547.GZ3668920@devbig577.frc2.facebook.com> <20180110130517.6ff91716@vmware.local.home> <20180111045817.GA494@jagdpanzerIV> <20180111093435.GA24497@linux.suse> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180111093435.GA24497@linux.suse> 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 Return-Path: On (01/11/18 10:34), Petr Mladek wrote: [..] > > except that handing off a console_sem to atomic task when there > > is O(logbuf) > watchdog_thresh is a regression, basically... > > it is what it is. > > How this could be a regression? Is not the victim that handles > other printk's random? What protected the atomic task to > handle the other printks before this patch? the non-atomic -> atomic context console_sem transfer. we previously would have kept the console_sem owner to its non-atomic owner. we now will make sure that if printk from atomic context happens then it will make it to console_unlock() loop. emphasis on O(logbuf) > watchdog_thresh. - if the patch's goal is to bound (not necessarily to watchdog's threshold) the amount of time we spend in console_unlock(), then the patch is kinda overcomplicated. but no further questions in this case. - but if the patch's goal is to bound (to lockup threshold) the amount of time spent in console_unlock() in order to avoid lockups [uh, a reason], then the patch is rather oversimplified. claiming that for any given A, B, C the following is always true A * B < C where A is the amount of data to print in the worst case B the time call_console_drivers() needs to print a single char to all registered and enabled consoles C the watchdog's threshold is not really a step forward. and the "last console_sem owner prints all pending messages" rule is still there. > Or do you have a system that started to suffer from softlockups > with this patchset and did not do this before? [..] > Do you know about any system where this patch made the softlockup > deterministically or statistically more likely, please? I have explained many, many times why my boards die just like before. why would I bother collecting any numbers... -ss