From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751546AbcFXQFm (ORCPT ); Fri, 24 Jun 2016 12:05:42 -0400 Received: from mx2.suse.de ([195.135.220.15]:35009 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751096AbcFXQFl (ORCPT ); Fri, 24 Jun 2016 12:05:41 -0400 Date: Fri, 24 Jun 2016 18:05:34 +0200 From: Petr Mladek To: Sergey Senozhatsky Cc: Andrew Morton , Tejun Heo , Jan Kara , Calvin Owens , linux-kernel@vger.kernel.org, Sergey Senozhatsky Subject: Re: [PATCH] printk: introduce should_ignore_loglevel() Message-ID: <20160624160533.GI29718@pathway.suse.cz> References: <20160623163302.761-1-sergey.senozhatsky@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160623163302.761-1-sergey.senozhatsky@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri 2016-06-24 01:33:02, Sergey Senozhatsky wrote: > The thing here is this deferred `level >= console_loglevel' check. We are > wasting CPU cycles on sprintfs/memcpy/etc. preparing the messages that we > will eventually drop. > > Signed-off-by: Sergey Senozhatsky > --- > kernel/printk/printk.c | 25 +++++++++++++++++++------ > 1 file changed, 19 insertions(+), 6 deletions(-) > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > index 414a89f..bfb766b 100644 > --- a/kernel/printk/printk.c > +++ b/kernel/printk/printk.c > @@ -987,6 +987,11 @@ module_param(ignore_loglevel, bool, S_IRUGO | S_IWUSR); > MODULE_PARM_DESC(ignore_loglevel, > "ignore loglevel setting (prints all kernel messages to the console)"); > > +static bool should_ignore_loglevel(int level) > +{ > + return (level >= console_loglevel && !ignore_loglevel); The patch looks fine. It is nice optimization. I was just quite confused by the name of this function. A function called should_ignore_loglevel() should not return false when ignore_loglevel variable is true. I would call it ignore_message() or ignore_message_on_console() or so. Best Regards, Petr