All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Petr Mladek <pmladek@suse.com>
Cc: kbuild-all@01.org, Maninder Singh <maninder1.s@samsung.com>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Linux-Next Mailing List <linux-next@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Vaneet Narang <v.narang@samsung.com>,
	PANKAJ MISHRA <pankaj.m@samsung.com>
Subject: Re: [PATCH] printk: Fix warning about unused suppress_message_printing
Date: Tue, 10 Jul 2018 19:53:36 +0800	[thread overview]
Message-ID: <201807101928.55g4DgyB%fengguang.wu@intel.com> (raw)
In-Reply-To: <20180710091909.rwgtahcew6grhd6n@pathway.suse.cz>

[-- Attachment #1: Type: text/plain, Size: 17474 bytes --]

Hi Petr,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.18-rc4 next-20180709]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Petr-Mladek/printk-Fix-warning-about-unused-suppress_message_printing/20180710-174802
config: ia64-allnoconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 8.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=8.1.0 make.cross ARCH=ia64 

All errors (new ones prefixed by >>):

   kernel/printk/printk.c: In function 'console_unlock':
>> kernel/printk/printk.c:2351:7: error: implicit declaration of function 'suppress_message_printing' [-Werror=implicit-function-declaration]
      if (suppress_message_printing(msg->level)) {
          ^~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/suppress_message_printing +2351 kernel/printk/printk.c

a8199371a kernel/printk/printk.c Sergey Senozhatsky      2016-03-17  2273  
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2274  /**
ac751efa6 kernel/printk.c        Torben Hohn             2011-01-25  2275   * console_unlock - unlock the console system
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2276   *
ac751efa6 kernel/printk.c        Torben Hohn             2011-01-25  2277   * Releases the console_lock which the caller holds on the console system
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2278   * and the console driver list.
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2279   *
ac751efa6 kernel/printk.c        Torben Hohn             2011-01-25  2280   * While the console_lock was held, console output may have been buffered
ac751efa6 kernel/printk.c        Torben Hohn             2011-01-25  2281   * by printk().  If this is the case, console_unlock(); emits
ac751efa6 kernel/printk.c        Torben Hohn             2011-01-25  2282   * the output prior to releasing the lock.
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2283   *
7f3a781d6 kernel/printk.c        Kay Sievers             2012-05-09  2284   * If there is output waiting, we wake /dev/kmsg and syslog() users.
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2285   *
ac751efa6 kernel/printk.c        Torben Hohn             2011-01-25  2286   * console_unlock(); may be called from any context.
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2287   */
ac751efa6 kernel/printk.c        Torben Hohn             2011-01-25  2288  void console_unlock(void)
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2289  {
6fe29354b kernel/printk/printk.c Tejun Heo               2015-06-25  2290  	static char ext_text[CONSOLE_EXT_LOG_MAX];
704982531 kernel/printk.c        Kay Sievers             2012-07-16  2291  	static char text[LOG_LINE_MAX + PREFIX_MAX];
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2292  	unsigned long flags;
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2293  	bool do_cond_resched, retry;
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2294  
557240b48 kernel/printk.c        Linus Torvalds          2006-06-19  2295  	if (console_suspended) {
bd8d7cf5b kernel/printk/printk.c Jan Kara                2014-06-04  2296  		up_console_sem();
557240b48 kernel/printk.c        Linus Torvalds          2006-06-19  2297  		return;
557240b48 kernel/printk.c        Linus Torvalds          2006-06-19  2298  	}
78944e549 kernel/printk.c        Antonino A. Daplas      2006-08-05  2299  
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2300  	/*
257ab4431 kernel/printk/printk.c Petr Mladek             2017-03-24  2301  	 * Console drivers are called with interrupts disabled, so
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2302  	 * @console_may_schedule should be cleared before; however, we may
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2303  	 * end up dumping a lot of lines, for example, if called from
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2304  	 * console registration path, and should invoke cond_resched()
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2305  	 * between lines if allowable.  Not doing so can cause a very long
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2306  	 * scheduling stall on a slow console leading to RCU stall and
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2307  	 * softlockup warnings which exacerbate the issue with more
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2308  	 * messages practically incapacitating the system.
257ab4431 kernel/printk/printk.c Petr Mladek             2017-03-24  2309  	 *
257ab4431 kernel/printk/printk.c Petr Mladek             2017-03-24  2310  	 * console_trylock() is not able to detect the preemptive
257ab4431 kernel/printk/printk.c Petr Mladek             2017-03-24  2311  	 * context reliably. Therefore the value must be stored before
257ab4431 kernel/printk/printk.c Petr Mladek             2017-03-24  2312  	 * and cleared after the the "again" goto label.
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2313  	 */
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2314  	do_cond_resched = console_may_schedule;
257ab4431 kernel/printk/printk.c Petr Mladek             2017-03-24  2315  again:
78944e549 kernel/printk.c        Antonino A. Daplas      2006-08-05  2316  	console_may_schedule = 0;
78944e549 kernel/printk.c        Antonino A. Daplas      2006-08-05  2317  
a8199371a kernel/printk/printk.c Sergey Senozhatsky      2016-03-17  2318  	/*
a8199371a kernel/printk/printk.c Sergey Senozhatsky      2016-03-17  2319  	 * We released the console_sem lock, so we need to recheck if
a8199371a kernel/printk/printk.c Sergey Senozhatsky      2016-03-17  2320  	 * cpu is online and (if not) is there at least one CON_ANYTIME
a8199371a kernel/printk/printk.c Sergey Senozhatsky      2016-03-17  2321  	 * console.
a8199371a kernel/printk/printk.c Sergey Senozhatsky      2016-03-17  2322  	 */
a8199371a kernel/printk/printk.c Sergey Senozhatsky      2016-03-17  2323  	if (!can_use_console()) {
a8199371a kernel/printk/printk.c Sergey Senozhatsky      2016-03-17  2324  		console_locked = 0;
a8199371a kernel/printk/printk.c Sergey Senozhatsky      2016-03-17  2325  		up_console_sem();
a8199371a kernel/printk/printk.c Sergey Senozhatsky      2016-03-17  2326  		return;
a8199371a kernel/printk/printk.c Sergey Senozhatsky      2016-03-17  2327  	}
a8199371a kernel/printk/printk.c Sergey Senozhatsky      2016-03-17  2328  
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2329  	for (;;) {
62e32ac35 kernel/printk/printk.c Joe Perches             2013-07-31  2330  		struct printk_log *msg;
6fe29354b kernel/printk/printk.c Tejun Heo               2015-06-25  2331  		size_t ext_len = 0;
3ce9a7c0a kernel/printk.c        Kay Sievers             2012-05-13  2332  		size_t len;
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2333  
f975237b7 kernel/printk/printk.c Sergey Senozhatsky      2016-12-27  2334  		printk_safe_enter_irqsave(flags);
f975237b7 kernel/printk/printk.c Sergey Senozhatsky      2016-12-27  2335  		raw_spin_lock(&logbuf_lock);
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2336  		if (console_seq < log_first_seq) {
9afe77ed8 kernel/printk/printk.c Maxim Akristiniy        2017-10-23  2337  			len = sprintf(text, "** %u printk messages dropped **\n",
84b5ec8a9 kernel/printk/printk.c Will Deacon             2014-06-04  2338  				      (unsigned)(log_first_seq - console_seq));
84b5ec8a9 kernel/printk/printk.c Will Deacon             2014-06-04  2339  
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2340  			/* messages are gone, move to first one */
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2341  			console_seq = log_first_seq;
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2342  			console_idx = log_first_idx;
84b5ec8a9 kernel/printk/printk.c Will Deacon             2014-06-04  2343  		} else {
84b5ec8a9 kernel/printk/printk.c Will Deacon             2014-06-04  2344  			len = 0;
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2345  		}
084681d14 kernel/printk.c        Kay Sievers             2012-06-28  2346  skip:
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2347  		if (console_seq == log_next_seq)
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2348  			break;
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2349  
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2350  		msg = log_from_idx(console_idx);
d9c23523e kernel/printk/printk.c Sergey Senozhatsky      2016-12-24 @2351  		if (suppress_message_printing(msg->level)) {
084681d14 kernel/printk.c        Kay Sievers             2012-06-28  2352  			/*
084681d14 kernel/printk.c        Kay Sievers             2012-06-28  2353  			 * Skip record we have buffered and already printed
cf7754441 kernel/printk/printk.c Sergey Senozhatsky      2016-08-02  2354  			 * directly to the console when we received it, and
cf7754441 kernel/printk/printk.c Sergey Senozhatsky      2016-08-02  2355  			 * record that has level above the console loglevel.
084681d14 kernel/printk.c        Kay Sievers             2012-06-28  2356  			 */
084681d14 kernel/printk.c        Kay Sievers             2012-06-28  2357  			console_idx = log_next(console_idx);
084681d14 kernel/printk.c        Kay Sievers             2012-06-28  2358  			console_seq++;
084681d14 kernel/printk.c        Kay Sievers             2012-06-28  2359  			goto skip;
084681d14 kernel/printk.c        Kay Sievers             2012-06-28  2360  		}
649e6ee33 kernel/printk.c        Kay Sievers             2012-05-10  2361  
cca10d58d kernel/printk/printk.c Sergey Senozhatsky      2017-12-21  2362  		len += msg_print_text(msg,
cca10d58d kernel/printk/printk.c Sergey Senozhatsky      2017-12-21  2363  				console_msg_format & MSG_FORMAT_SYSLOG,
cca10d58d kernel/printk/printk.c Sergey Senozhatsky      2017-12-21  2364  				text + len,
cca10d58d kernel/printk/printk.c Sergey Senozhatsky      2017-12-21  2365  				sizeof(text) - len);
6fe29354b kernel/printk/printk.c Tejun Heo               2015-06-25  2366  		if (nr_ext_console_drivers) {
6fe29354b kernel/printk/printk.c Tejun Heo               2015-06-25  2367  			ext_len = msg_print_ext_header(ext_text,
6fe29354b kernel/printk/printk.c Tejun Heo               2015-06-25  2368  						sizeof(ext_text),
5aa068ea4 kernel/printk/printk.c Linus Torvalds          2016-10-25  2369  						msg, console_seq);
6fe29354b kernel/printk/printk.c Tejun Heo               2015-06-25  2370  			ext_len += msg_print_ext_body(ext_text + ext_len,
6fe29354b kernel/printk/printk.c Tejun Heo               2015-06-25  2371  						sizeof(ext_text) - ext_len,
6fe29354b kernel/printk/printk.c Tejun Heo               2015-06-25  2372  						log_dict(msg), msg->dict_len,
6fe29354b kernel/printk/printk.c Tejun Heo               2015-06-25  2373  						log_text(msg), msg->text_len);
6fe29354b kernel/printk/printk.c Tejun Heo               2015-06-25  2374  		}
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2375  		console_idx = log_next(console_idx);
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2376  		console_seq++;
07354eb1a kernel/printk.c        Thomas Gleixner         2009-07-25  2377  		raw_spin_unlock(&logbuf_lock);
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2378  
dbdda842f kernel/printk/printk.c Steven Rostedt (VMware  2018-01-10  2379) 		/*
dbdda842f kernel/printk/printk.c Steven Rostedt (VMware  2018-01-10  2380) 		 * While actively printing out messages, if another printk()
dbdda842f kernel/printk/printk.c Steven Rostedt (VMware  2018-01-10  2381) 		 * were to occur on another CPU, it may wait for this one to
dbdda842f kernel/printk/printk.c Steven Rostedt (VMware  2018-01-10  2382) 		 * finish. This task can not be preempted if there is a
dbdda842f kernel/printk/printk.c Steven Rostedt (VMware  2018-01-10  2383) 		 * waiter waiting to take over.
dbdda842f kernel/printk/printk.c Steven Rostedt (VMware  2018-01-10  2384) 		 */
c162d5b43 kernel/printk/printk.c Petr Mladek             2018-01-12  2385  		console_lock_spinning_enable();
dbdda842f kernel/printk/printk.c Steven Rostedt (VMware  2018-01-10  2386) 
81d68a96a kernel/printk.c        Steven Rostedt          2008-05-12  2387  		stop_critical_timings();	/* don't trace print latency */
d9c23523e kernel/printk/printk.c Sergey Senozhatsky      2016-12-24  2388  		call_console_drivers(ext_text, ext_len, text, len);
81d68a96a kernel/printk.c        Steven Rostedt          2008-05-12  2389  		start_critical_timings();
dbdda842f kernel/printk/printk.c Steven Rostedt (VMware  2018-01-10  2390) 
c162d5b43 kernel/printk/printk.c Petr Mladek             2018-01-12  2391  		if (console_lock_spinning_disable_and_check()) {
c162d5b43 kernel/printk/printk.c Petr Mladek             2018-01-12  2392  			printk_safe_exit_irqrestore(flags);
43a17111c kernel/printk/printk.c Sergey Senozhatsky      2018-04-19  2393  			return;
c162d5b43 kernel/printk/printk.c Petr Mladek             2018-01-12  2394  		}
dbdda842f kernel/printk/printk.c Steven Rostedt (VMware  2018-01-10  2395) 
f975237b7 kernel/printk/printk.c Sergey Senozhatsky      2016-12-27  2396  		printk_safe_exit_irqrestore(flags);
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2397  
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2398  		if (do_cond_resched)
8d91f8b15 kernel/printk/printk.c Tejun Heo               2016-01-15  2399  			cond_resched();
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2400  	}
dbdda842f kernel/printk/printk.c Steven Rostedt (VMware  2018-01-10  2401) 
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2402  	console_locked = 0;
fe3d8ad31 kernel/printk.c        Feng Tang               2011-03-22  2403  
fe3d8ad31 kernel/printk.c        Feng Tang               2011-03-22  2404  	/* Release the exclusive_console once it is used */
fe3d8ad31 kernel/printk.c        Feng Tang               2011-03-22  2405  	if (unlikely(exclusive_console))
fe3d8ad31 kernel/printk.c        Feng Tang               2011-03-22  2406  		exclusive_console = NULL;
fe3d8ad31 kernel/printk.c        Feng Tang               2011-03-22  2407  
07354eb1a kernel/printk.c        Thomas Gleixner         2009-07-25  2408  	raw_spin_unlock(&logbuf_lock);
4f2a8d3cf kernel/printk.c        Peter Zijlstra          2011-06-22  2409  
bd8d7cf5b kernel/printk/printk.c Jan Kara                2014-06-04  2410  	up_console_sem();
4f2a8d3cf kernel/printk.c        Peter Zijlstra          2011-06-22  2411  
4f2a8d3cf kernel/printk.c        Peter Zijlstra          2011-06-22  2412  	/*
4f2a8d3cf kernel/printk.c        Peter Zijlstra          2011-06-22  2413  	 * Someone could have filled up the buffer again, so re-check if there's
4f2a8d3cf kernel/printk.c        Peter Zijlstra          2011-06-22  2414  	 * something to flush. In case we cannot trylock the console_sem again,
4f2a8d3cf kernel/printk.c        Peter Zijlstra          2011-06-22  2415  	 * there's a new owner and the console_unlock() from them will do the
4f2a8d3cf kernel/printk.c        Peter Zijlstra          2011-06-22  2416  	 * flush, no worries.
4f2a8d3cf kernel/printk.c        Peter Zijlstra          2011-06-22  2417  	 */
07354eb1a kernel/printk.c        Thomas Gleixner         2009-07-25  2418  	raw_spin_lock(&logbuf_lock);
7ff9554bb kernel/printk.c        Kay Sievers             2012-05-03  2419  	retry = console_seq != log_next_seq;
f975237b7 kernel/printk/printk.c Sergey Senozhatsky      2016-12-27  2420  	raw_spin_unlock(&logbuf_lock);
f975237b7 kernel/printk/printk.c Sergey Senozhatsky      2016-12-27  2421  	printk_safe_exit_irqrestore(flags);
09dc3cf93 kernel/printk.c        Peter Zijlstra          2011-12-08  2422  
4f2a8d3cf kernel/printk.c        Peter Zijlstra          2011-06-22  2423  	if (retry && console_trylock())
4f2a8d3cf kernel/printk.c        Peter Zijlstra          2011-06-22  2424  		goto again;
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2425  }
ac751efa6 kernel/printk.c        Torben Hohn             2011-01-25  2426  EXPORT_SYMBOL(console_unlock);
^1da177e4 kernel/printk.c        Linus Torvalds          2005-04-16  2427  

:::::: The code at line 2351 was first introduced by commit
:::::: d9c23523ed98a3acaa0bfd8fef143595d6aa631d printk: drop call_console_drivers() unused param

:::::: TO: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
:::::: CC: Petr Mladek <pmladek@suse.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 5528 bytes --]

  reply	other threads:[~2018-07-10 11:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-10  6:45 linux-next: build warning after merge of the printk tree Stephen Rothwell
     [not found] ` <CGME20180710064527epcas1p16fd9ad765711d69264b3251890bbcc2e@epcms5p5>
2018-07-10  7:16   ` Maninder Singh
2018-07-10  9:19     ` Petr Mladek
2018-07-10  9:19       ` Petr Mladek
2018-07-10 11:53       ` kbuild test robot [this message]
2018-07-10 13:15       ` Sergey Senozhatsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201807101928.55g4DgyB%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=maninder1.s@samsung.com \
    --cc=pankaj.m@samsung.com \
    --cc=pmladek@suse.com \
    --cc=sfr@canb.auug.org.au \
    --cc=v.narang@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.