From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752038AbdF3Nij (ORCPT ); Fri, 30 Jun 2017 09:38:39 -0400 Received: from mail-pg0-f66.google.com ([74.125.83.66]:35835 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751690AbdF3Nih (ORCPT ); Fri, 30 Jun 2017 09:38:37 -0400 Date: Fri, 30 Jun 2017 22:38:44 +0900 From: Sergey Senozhatsky To: Petr Mladek Cc: Sergey Senozhatsky , Sergey Senozhatsky , Steven Rostedt , Jan Kara , Andrew Morton , Peter Zijlstra , "Rafael J . Wysocki" , Eric Biederman , Greg Kroah-Hartman , Jiri Slaby , Pavel Machek , Andreas Mohr , Tetsuo Handa , linux-kernel@vger.kernel.org Subject: Re: [RFC][PATCHv3 2/5] printk: introduce printing kernel thread Message-ID: <20170630133844.GD792@jagdpanzerIV.localdomain> References: <20170509082859.854-1-sergey.senozhatsky@gmail.com> <20170509082859.854-3-sergey.senozhatsky@gmail.com> <20170510055935.GA1966@jagdpanzerIV.localdomain> <20170529092906.GD21894@pathway.suse.cz> <20170531072233.GC7672@jagdpanzerIV.localdomain> <20170628121925.GN1538@pathway.suse.cz> <20170629073321.GA475@jagdpanzerIV.localdomain> <20170630070131.GA474@jagdpanzerIV.localdomain> <20170630131610.GT1538@pathway.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170630131610.GT1538@pathway.suse.cz> User-Agent: Mutt/1.8.3 (2017-05-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On (06/30/17 15:16), Petr Mladek wrote: > Anyway, the handshake during offloading might be pretty > problematic. To be honest, I do not have much experience > with it. I have shared some my fears in the other mail[1]. > Jan Kara spent a lot of time on this and probably could > say more. > > Maybe, we could try to look into the throotling path. Slowing down > massive printk() callers looks necessary when things gets > out of control. throttling, in some form, is already there. I think. there is a printk_delay() function. which we can silently activate when things don't look cool anymore. and printk_delay() is already getting called on every vprintk_emit() entry. the question is -- how big should be our delay value, and... when do we need to activate printk_delay()? when the distance between console_seq and log_next_seq... suggests that we will drop (overwrite) un-flushed messages sooner than console_seq reaches log_next_seq? so log_next_seq is closer to log_first_seq than console_seq to log_next_seq. or something like this... I'm a bit tired after a long week; need more time to think about it. the same printk_delay() *may be* can be used in console_unlock(), to give potential new console_sem owner more time. just an idea. > I wonder if I could add some counter into task_struct. > It might be configurable. I am not sure if people would > want this enabled on production systems where the level > of messages should be lower anyway. -ss