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 <[email protected]>
:::::: CC: Petr Mladek <[email protected]>

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

Attachment: .config.gz
Description: application/gzip

Reply via email to