All of lore.kernel.org
 help / color / mirror / Atom feed
* linux-next: build warning after merge of the printk tree
@ 2018-07-10  6:45 Stephen Rothwell
       [not found] ` <CGME20180710064527epcas1p16fd9ad765711d69264b3251890bbcc2e@epcms5p5>
  0 siblings, 1 reply; 13+ messages in thread
From: Stephen Rothwell @ 2018-07-10  6:45 UTC (permalink / raw)
  To: Petr Mladek
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Maninder Singh

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

Hi all,

After merging the printk tree, today's linux-next build (x86_64
allnoconfig) produced this warning:

kernel/printk/printk.c:2033:13: warning: 'suppress_message_printing' defined but not used [-Wunused-function]
 static bool suppress_message_printing(int level) { return false; }
             ^~~~~~~~~~~~~~~~~~~~~~~~~

Introduced by commit

  375899cddcbb ("printk: make sure to print log on console.")

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: linux-next: build warning after merge of the printk tree
       [not found] ` <CGME20180710064527epcas1p16fd9ad765711d69264b3251890bbcc2e@epcms5p5>
@ 2018-07-10  7:16   ` Maninder Singh
  2018-07-10  9:19       ` Petr Mladek
  0 siblings, 1 reply; 13+ messages in thread
From: Maninder Singh @ 2018-07-10  7:16 UTC (permalink / raw)
  To: Stephen Rothwell, Petr Mladek
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
	Vaneet Narang, PANKAJ MISHRA

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

Hi Petr,
 
> Hi all,
 
> After merging the printk tree, today's linux-next build (x86_64
> allnoconfig) produced this warning:
 
> kernel/printk/printk.c:2033:13: warning: 'suppress_message_printing' defined but not used [-Wunused-function]
> static bool suppress_message_printing(int level) { return false; }
             ^~~~~~~~~~~~~~~~~~~~~~~~~
 
seems there is no user for suppress_message_printing when CONFIG_PRINTK is disabled,
because earlier it was getting used in console_unlock and now we shifted this into vprintk_emit
which will be disabled on disabling CONFIG_PRINTk.

should we remove this defination when CONFIG_PRINTK is disabled ?

> Introduced by commit
>  375899cddcbb ("printk: make sure to print log on console.")

[-- Attachment #2: No File Name 0 --]
[-- Type: application/octet-stream, Size: 499 bytes --]

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAltEVfoACgkQAVBC80lX
0GxQTwf9EZwdtrXMLQwD1/qJOadRHs1fyvT5nyUdMbCPctaMkdIm4Nsyx1lai8r/
oFMjjlMqmwO+YqneRwojhv+nAZ77+CtBURnV7k2riazf3mHcrUjHCzfQ2el5Fgsj
6p3Yaowl45+lTVYa9uEZxs59QWWFrZnfPKdDk8jDFeFppG1N3UHr9rQJm9pis6TA
9rZFucyeWAZAe7wMkbpeKPl8whpVUPXxwDgtgIjiotVg5tKluC7RNcQwLzMbBH0o
u2haX3SDfeqOdxi05Weh4QIXKo7kFAyX3os+wyyUPoIv40uWuhLAf1I6WhdPBdbi
gLCiuK5xrnNYmgxURg7moHUQ+0PzDw==
=bSrM
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: linux-next: build warning after merge of the printk tree
  2018-07-10  7:16   ` Maninder Singh
@ 2018-07-10  9:19       ` Petr Mladek
  0 siblings, 0 replies; 13+ messages in thread
From: Petr Mladek @ 2018-07-10  9:19 UTC (permalink / raw)
  To: Maninder Singh
  Cc: Stephen Rothwell, Linux-Next Mailing List,
	Linux Kernel Mailing List, Vaneet Narang, PANKAJ MISHRA

On Tue 2018-07-10 12:46:14, Maninder Singh wrote:
> Hi Petr,
>  
> > Hi all,
>  
> > After merging the printk tree, today's linux-next build (x86_64
> > allnoconfig) produced this warning:
>  
> > kernel/printk/printk.c:2033:13: warning: 'suppress_message_printing' defined but not used [-Wunused-function]
> > static bool suppress_message_printing(int level) { return false; }
>              ^~~~~~~~~~~~~~~~~~~~~~~~~
>  
> seems there is no user for suppress_message_printing when CONFIG_PRINTK is disabled,
> because earlier it was getting used in console_unlock and now we shifted this into vprintk_emit
> which will be disabled on disabling CONFIG_PRINTk.
> 
> should we remove this defination when CONFIG_PRINTK is disabled ?
> 
> > Introduced by commit
> >  375899cddcbb ("printk: make sure to print log on console.")

Grr, I wonder how I missed it. I usually try build with CONFIG_PRINTK
disabled.

Anyway, I have just pushed the following patch into printk.git,
branch for-4.19:


From 7b83946e61a1e4a080d48c24396aeb18b6366203 Mon Sep 17 00:00:00 2001
From: Petr Mladek <pmladek@suse.com>
Date: Tue, 10 Jul 2018 10:44:53 +0200
Subject: [PATCH] printk: Fix warning about unused suppress_message_printing
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

suppress_message_printing() is not longer called in console_unlock().
Therefore it is not longer needed with disabled CONFIG_PRINTK.

This fixes the warning:

kernel/printk/printk.c:2033:13: warning: ‘suppress_message_printing’ defined but not used [-Wunused-function]
 static bool suppress_message_printing(int level) { return false; }

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Suggested-by: Maninder Singh <maninder1.s@samsung.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
---
 kernel/printk/printk.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index fcc1992c040a..e2cb0fc18e2d 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2021,7 +2021,6 @@ static void call_console_drivers(const char *ext_text, size_t ext_len,
 				 const char *text, size_t len) {}
 static size_t msg_print_text(const struct printk_log *msg,
 			     bool syslog, char *buf, size_t size) { return 0; }
-static bool suppress_message_printing(int level) { return false; }
 
 #endif /* CONFIG_PRINTK */
 
-- 
2.13.7



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: linux-next: build warning after merge of the printk tree
@ 2018-07-10  9:19       ` Petr Mladek
  0 siblings, 0 replies; 13+ messages in thread
From: Petr Mladek @ 2018-07-10  9:19 UTC (permalink / raw)
  To: Maninder Singh
  Cc: Stephen Rothwell, Linux-Next Mailing List,
	Linux Kernel Mailing List, Vaneet Narang, PANKAJ MISHRA

On Tue 2018-07-10 12:46:14, Maninder Singh wrote:
> Hi Petr,
>  
> > Hi all,
>  
> > After merging the printk tree, today's linux-next build (x86_64
> > allnoconfig) produced this warning:
>  
> > kernel/printk/printk.c:2033:13: warning: 'suppress_message_printing' defined but not used [-Wunused-function]
> > static bool suppress_message_printing(int level) { return false; }
>              ^~~~~~~~~~~~~~~~~~~~~~~~~
>  
> seems there is no user for suppress_message_printing when CONFIG_PRINTK is disabled,
> because earlier it was getting used in console_unlock and now we shifted this into vprintk_emit
> which will be disabled on disabling CONFIG_PRINTk.
> 
> should we remove this defination when CONFIG_PRINTK is disabled ?
> 
> > Introduced by commit
> >  375899cddcbb ("printk: make sure to print log on console.")

Grr, I wonder how I missed it. I usually try build with CONFIG_PRINTK
disabled.

Anyway, I have just pushed the following patch into printk.git,
branch for-4.19:


>From 7b83946e61a1e4a080d48c24396aeb18b6366203 Mon Sep 17 00:00:00 2001
From: Petr Mladek <pmladek@suse.com>
Date: Tue, 10 Jul 2018 10:44:53 +0200
Subject: [PATCH] printk: Fix warning about unused suppress_message_printing
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

suppress_message_printing() is not longer called in console_unlock().
Therefore it is not longer needed with disabled CONFIG_PRINTK.

This fixes the warning:

kernel/printk/printk.c:2033:13: warning: ‘suppress_message_printing’ defined but not used [-Wunused-function]
 static bool suppress_message_printing(int level) { return false; }

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Suggested-by: Maninder Singh <maninder1.s@samsung.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
---
 kernel/printk/printk.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index fcc1992c040a..e2cb0fc18e2d 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2021,7 +2021,6 @@ static void call_console_drivers(const char *ext_text, size_t ext_len,
 				 const char *text, size_t len) {}
 static size_t msg_print_text(const struct printk_log *msg,
 			     bool syslog, char *buf, size_t size) { return 0; }
-static bool suppress_message_printing(int level) { return false; }
 
 #endif /* CONFIG_PRINTK */
 
-- 
2.13.7

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH] printk: Fix warning about unused suppress_message_printing
  2018-07-10  9:19       ` Petr Mladek
  (?)
@ 2018-07-10 11:53       ` kbuild test robot
  -1 siblings, 0 replies; 13+ messages in thread
From: kbuild test robot @ 2018-07-10 11:53 UTC (permalink / raw)
  To: Petr Mladek
  Cc: kbuild-all, Maninder Singh, Stephen Rothwell,
	Linux-Next Mailing List, Linux Kernel Mailing List,
	Vaneet Narang, PANKAJ MISHRA

[-- 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 --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: linux-next: build warning after merge of the printk tree
  2018-07-10  9:19       ` Petr Mladek
  (?)
  (?)
@ 2018-07-10 13:15       ` Sergey Senozhatsky
  -1 siblings, 0 replies; 13+ messages in thread
From: Sergey Senozhatsky @ 2018-07-10 13:15 UTC (permalink / raw)
  To: Petr Mladek
  Cc: Maninder Singh, Stephen Rothwell, Linux-Next Mailing List,
	Linux Kernel Mailing List, Vaneet Narang, PANKAJ MISHRA

On (07/10/18 11:19), Petr Mladek wrote:
> suppress_message_printing() is not longer called in console_unlock().
> Therefore it is not longer needed with disabled CONFIG_PRINTK.
> 
> This fixes the warning:
> 
> kernel/printk/printk.c:2033:13: warning: ‘suppress_message_printing’ defined but not used [-Wunused-function]
>  static bool suppress_message_printing(int level) { return false; }
> 
> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
> Suggested-by: Maninder Singh <maninder1.s@samsung.com>
> Signed-off-by: Petr Mladek <pmladek@suse.com>

Acked-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>


Happens all the time to me as well. I'd rather remove CONFIG_PRINTK
at this point ;)


	-ss

^ permalink raw reply	[flat|nested] 13+ messages in thread

* linux-next: build warning after merge of the printk tree
@ 2022-11-22  7:10 Stephen Rothwell
  0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2022-11-22  7:10 UTC (permalink / raw)
  To: Petr Mladek
  Cc: John Ogness, Linux Kernel Mailing List, Linux Next Mailing List

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

Hi all,

After merging the printk tree, today's linux-next build (htmldocs)
produced this warning:

kernel/printk/printk.c:298: warning: Function parameter or member 'cookie' not described in 'console_srcu_read_unlock'

Introduced by commit

  8bdbdd7f43cd ("printk: Prepare for SRCU console list protection")

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: linux-next: build warning after merge of the printk tree
  2021-07-25 21:16     ` Jonathan Corbet
  2021-07-26 12:28       ` Petr Mladek
@ 2021-07-26 13:07       ` Chris Down
  1 sibling, 0 replies; 13+ messages in thread
From: Chris Down @ 2021-07-26 13:07 UTC (permalink / raw)
  To: Jonathan Corbet
  Cc: Stephen Rothwell, linux-doc, Petr Mladek,
	Linux Kernel Mailing List, Linux Next Mailing List

Jonathan Corbet writes:
>The problem is that you moved printk(), but left the associated
>kerneldoc comment tied to _printk(), which isn't what you really want to
>document.  The fix should look something like the attached.

Ah, I see. Thank you for your help!

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: linux-next: build warning after merge of the printk tree
  2021-07-25 21:16     ` Jonathan Corbet
@ 2021-07-26 12:28       ` Petr Mladek
  2021-07-26 13:07       ` Chris Down
  1 sibling, 0 replies; 13+ messages in thread
From: Petr Mladek @ 2021-07-26 12:28 UTC (permalink / raw)
  To: Jonathan Corbet
  Cc: Chris Down, Stephen Rothwell, linux-doc,
	Linux Kernel Mailing List, Linux Next Mailing List

On Sun 2021-07-25 15:16:00, Jonathan Corbet wrote:
> Chris Down <chris@chrisdown.name> writes:
> 
> > Chris Down writes:
> >>+Cc: Jonathan Corbet <corbet@lwn.net>, linux-doc@vger.kernel.org
> >
> > Well, let's actually Cc them this time...
> >
> >>Stephen Rothwell writes:
> >>>After merging the printk tree, today's linux-next build (htmldocs)
> >>>produced this warning:
> >>>
> >>>kernel/printk/printk.c:1: warning: 'printk' not found
> >>>
> >>>Introduced by commit
> >>>
> >>> 337015573718 ("printk: Userspace format indexing support")
> >>>
> >>>I presume that "printk" is referred to elsewhere in the documentation
> >>>as being in this file.
> >>
> >>Hmm, this is an interesting one, because I think we still generally 
> >>just want to refer to the API as being `printk()`. Changing it all 
> >>over the place seems wrong. As you'd imagine, there are quite a few 
> >>references to this name, so it requires a lot of noise all over the 
> >>docs and inline comments.
> >>
> >>Jonathan and other docs folks, how can one tell Sphinx that when it 
> >>sees printk() it's referring to a function-like macro, or otherwise 
> >>squelch this reasonably? :-)
> 
> The problem is that you moved printk(), but left the associated
> kerneldoc comment tied to _printk(), which isn't what you really want to
> document.  The fix should look something like the attached.
> 
> Thanks,
> 
> jon
> 
> --------snip here----------------------
> printk: Move the printk() kerneldoc comment to its new home
> 
> Commit 337015573718 ("printk: Userspace format indexing support") turned
> printk() into a macro, but left the kerneldoc comment for it with the (now)
> _printk() function, resulting in this docs-build warning:
> 
>   kernel/printk/printk.c:1: warning: 'printk' not found
> 
> Move the kerneldoc comment back next to the (now) macro it's meant to
> describe and have the docs build find it there.
> 
> Signed-off-by: Jonathan Corbet <corbet@lwn.net>

This looks better than my variant. I have pushed it into
printk/linux.git, branch for-5.15-printk-index.

Best Regards,
Petr

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: linux-next: build warning after merge of the printk tree
  2021-07-20 12:22   ` Chris Down
@ 2021-07-25 21:16     ` Jonathan Corbet
  2021-07-26 12:28       ` Petr Mladek
  2021-07-26 13:07       ` Chris Down
  0 siblings, 2 replies; 13+ messages in thread
From: Jonathan Corbet @ 2021-07-25 21:16 UTC (permalink / raw)
  To: Chris Down, Stephen Rothwell
  Cc: linux-doc, Petr Mladek, Linux Kernel Mailing List,
	Linux Next Mailing List

Chris Down <chris@chrisdown.name> writes:

> Chris Down writes:
>>+Cc: Jonathan Corbet <corbet@lwn.net>, linux-doc@vger.kernel.org
>
> Well, let's actually Cc them this time...
>
>>Stephen Rothwell writes:
>>>After merging the printk tree, today's linux-next build (htmldocs)
>>>produced this warning:
>>>
>>>kernel/printk/printk.c:1: warning: 'printk' not found
>>>
>>>Introduced by commit
>>>
>>> 337015573718 ("printk: Userspace format indexing support")
>>>
>>>I presume that "printk" is referred to elsewhere in the documentation
>>>as being in this file.
>>
>>Hmm, this is an interesting one, because I think we still generally 
>>just want to refer to the API as being `printk()`. Changing it all 
>>over the place seems wrong. As you'd imagine, there are quite a few 
>>references to this name, so it requires a lot of noise all over the 
>>docs and inline comments.
>>
>>Jonathan and other docs folks, how can one tell Sphinx that when it 
>>sees printk() it's referring to a function-like macro, or otherwise 
>>squelch this reasonably? :-)

The problem is that you moved printk(), but left the associated
kerneldoc comment tied to _printk(), which isn't what you really want to
document.  The fix should look something like the attached.

Thanks,

jon

--------snip here----------------------
printk: Move the printk() kerneldoc comment to its new home

Commit 337015573718 ("printk: Userspace format indexing support") turned
printk() into a macro, but left the kerneldoc comment for it with the (now)
_printk() function, resulting in this docs-build warning:

  kernel/printk/printk.c:1: warning: 'printk' not found

Move the kerneldoc comment back next to the (now) macro it's meant to
describe and have the docs build find it there.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
---
 Documentation/core-api/printk-basics.rst |  5 +----
 include/linux/printk.h                   | 24 ++++++++++++++++++++++++
 kernel/printk/printk.c                   | 24 ------------------------
 3 files changed, 25 insertions(+), 28 deletions(-)

diff --git a/Documentation/core-api/printk-basics.rst b/Documentation/core-api/printk-basics.rst
index 965e4281eddd..2dde24ca7d9f 100644
--- a/Documentation/core-api/printk-basics.rst
+++ b/Documentation/core-api/printk-basics.rst
@@ -107,9 +107,6 @@ also ``CONFIG_DYNAMIC_DEBUG`` in the case of pr_debug()) is defined.
 Function reference
 ==================
 
-.. kernel-doc:: kernel/printk/printk.c
-   :functions: printk
-
 .. kernel-doc:: include/linux/printk.h
-   :functions: pr_emerg pr_alert pr_crit pr_err pr_warn pr_notice pr_info
+   :functions: printk pr_emerg pr_alert pr_crit pr_err pr_warn pr_notice pr_info
       pr_fmt pr_debug pr_devel pr_cont
diff --git a/include/linux/printk.h b/include/linux/printk.h
index 2651b82ed352..c1e176403967 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -431,6 +431,30 @@ struct pi_entry {
 	})
 
 
+/**
+ * printk - print a kernel message
+ * @fmt: format string
+ *
+ * This is printk(). It can be called from any context. We want it to work.
+ *
+ * If printk indexing is enabled, _printk() is called from printk_index_wrap.
+ * Otherwise, printk is simply #defined to _printk.
+ *
+ * We try to grab the console_lock. If we succeed, it's easy - we log the
+ * output and call the console drivers.  If we fail to get the semaphore, we
+ * place the output into the log buffer and return. The current holder of
+ * the console_sem will notice the new output in console_unlock(); and will
+ * send it to the consoles before releasing the lock.
+ *
+ * One effect of this deferred printing is that code which calls printk() and
+ * then changes console_loglevel may break. This is because console_loglevel
+ * is inspected when the actual printing occurs.
+ *
+ * See also:
+ * printf(3)
+ *
+ * See the vsnprintf() documentation for format string extensions over C99.
+ */
 #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
 #define printk_deferred(fmt, ...)					\
 	printk_index_wrap(_printk_deferred, fmt, ##__VA_ARGS__)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index 9b3bd6e017f1..63176be3b50c 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2186,30 +2186,6 @@ int vprintk_default(const char *fmt, va_list args)
 }
 EXPORT_SYMBOL_GPL(vprintk_default);
 
-/**
- * _printk - print a kernel message
- * @fmt: format string
- *
- * This is _printk(). It can be called from any context. We want it to work.
- *
- * If printk indexing is enabled, _printk() is called from printk_index_wrap.
- * Otherwise, printk is simply #defined to _printk.
- *
- * We try to grab the console_lock. If we succeed, it's easy - we log the
- * output and call the console drivers.  If we fail to get the semaphore, we
- * place the output into the log buffer and return. The current holder of
- * the console_sem will notice the new output in console_unlock(); and will
- * send it to the consoles before releasing the lock.
- *
- * One effect of this deferred printing is that code which calls printk() and
- * then changes console_loglevel may break. This is because console_loglevel
- * is inspected when the actual printing occurs.
- *
- * See also:
- * printf(3)
- *
- * See the vsnprintf() documentation for format string extensions over C99.
- */
 asmlinkage __visible int _printk(const char *fmt, ...)
 {
 	va_list args;
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: linux-next: build warning after merge of the printk tree
  2021-07-20 12:18 ` Chris Down
@ 2021-07-20 12:22   ` Chris Down
  2021-07-25 21:16     ` Jonathan Corbet
  0 siblings, 1 reply; 13+ messages in thread
From: Chris Down @ 2021-07-20 12:22 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Jonathan Corbet, linux-doc, Petr Mladek,
	Linux Kernel Mailing List, Linux Next Mailing List

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

Chris Down writes:
>+Cc: Jonathan Corbet <corbet@lwn.net>, linux-doc@vger.kernel.org

Well, let's actually Cc them this time...

>Stephen Rothwell writes:
>>After merging the printk tree, today's linux-next build (htmldocs)
>>produced this warning:
>>
>>kernel/printk/printk.c:1: warning: 'printk' not found
>>
>>Introduced by commit
>>
>> 337015573718 ("printk: Userspace format indexing support")
>>
>>I presume that "printk" is referred to elsewhere in the documentation
>>as being in this file.
>
>Hmm, this is an interesting one, because I think we still generally 
>just want to refer to the API as being `printk()`. Changing it all 
>over the place seems wrong. As you'd imagine, there are quite a few 
>references to this name, so it requires a lot of noise all over the 
>docs and inline comments.
>
>Jonathan and other docs folks, how can one tell Sphinx that when it 
>sees printk() it's referring to a function-like macro, or otherwise 
>squelch this reasonably? :-)



[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 963 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: linux-next: build warning after merge of the printk tree
  2021-07-20  6:24 Stephen Rothwell
@ 2021-07-20 12:18 ` Chris Down
  2021-07-20 12:22   ` Chris Down
  0 siblings, 1 reply; 13+ messages in thread
From: Chris Down @ 2021-07-20 12:18 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Petr Mladek, Linux Kernel Mailing List, Linux Next Mailing List

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

+Cc: Jonathan Corbet <corbet@lwn.net>, linux-doc@vger.kernel.org

Stephen Rothwell writes:
>After merging the printk tree, today's linux-next build (htmldocs)
>produced this warning:
>
>kernel/printk/printk.c:1: warning: 'printk' not found
>
>Introduced by commit
>
>  337015573718 ("printk: Userspace format indexing support")
>
>I presume that "printk" is referred to elsewhere in the documentation
>as being in this file.

Hmm, this is an interesting one, because I think we still generally just want 
to refer to the API as being `printk()`. Changing it all over the place seems 
wrong. As you'd imagine, there are quite a few references to this name, so it 
requires a lot of noise all over the docs and inline comments.

Jonathan and other docs folks, how can one tell Sphinx that when it sees 
printk() it's referring to a function-like macro, or otherwise squelch this 
reasonably? :-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 963 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* linux-next: build warning after merge of the printk tree
@ 2021-07-20  6:24 Stephen Rothwell
  2021-07-20 12:18 ` Chris Down
  0 siblings, 1 reply; 13+ messages in thread
From: Stephen Rothwell @ 2021-07-20  6:24 UTC (permalink / raw)
  To: Petr Mladek
  Cc: Chris Down, Linux Kernel Mailing List, Linux Next Mailing List

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

Hi all,

After merging the printk tree, today's linux-next build (htmldocs)
produced this warning:

kernel/printk/printk.c:1: warning: 'printk' not found

Introduced by commit

  337015573718 ("printk: Userspace format indexing support")

I presume that "printk" is referred to elsewhere in the documentation
as being in this file.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-11-22  7:11 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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       ` [PATCH] printk: Fix warning about unused suppress_message_printing kbuild test robot
2018-07-10 13:15       ` linux-next: build warning after merge of the printk tree Sergey Senozhatsky
2021-07-20  6:24 Stephen Rothwell
2021-07-20 12:18 ` Chris Down
2021-07-20 12:22   ` Chris Down
2021-07-25 21:16     ` Jonathan Corbet
2021-07-26 12:28       ` Petr Mladek
2021-07-26 13:07       ` Chris Down
2022-11-22  7:10 Stephen Rothwell

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.