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 --]
next prev parent 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.