forked from mirrors/linux
		
	When printk-indexing is enabled, each printk() invocation emits a pi_entry structure. This is even true when the call is protected by an always-false check: while the actual code to print the message is optimized out by the compiler, the pi_entry structure is still emitted. Fix this by replacing "if (0) printk(...)" constructs by calls to the no_printk() helper. This reduces the size of an arm64 kernel with CONFIG_PRINTK_INDEX=y and CONFIG_CEPH_FS=y by ca. 4 KiB. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Xiubo Li <xiubli@redhat.com> Reviewed-by: Chris Down <chris@chrisdown.name> Reviewed-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/a21767eccb823435a7f18cdf115d7d572b4e945d.1709127473.git.geert+renesas@glider.be Signed-off-by: Petr Mladek <pmladek@suse.com>
		
			
				
	
	
		
			73 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0 */
 | 
						|
#ifndef _FS_CEPH_DEBUG_H
 | 
						|
#define _FS_CEPH_DEBUG_H
 | 
						|
 | 
						|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 | 
						|
 | 
						|
#include <linux/string.h>
 | 
						|
 | 
						|
#ifdef CONFIG_CEPH_LIB_PRETTYDEBUG
 | 
						|
 | 
						|
/*
 | 
						|
 * wrap pr_debug to include a filename:lineno prefix on each line.
 | 
						|
 * this incurs some overhead (kernel size and execution time) due to
 | 
						|
 * the extra function call at each call site.
 | 
						|
 */
 | 
						|
 | 
						|
# if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG)
 | 
						|
#  define dout(fmt, ...)						\
 | 
						|
	pr_debug("%.*s %12.12s:%-4d : " fmt,				\
 | 
						|
		 8 - (int)sizeof(KBUILD_MODNAME), "    ",		\
 | 
						|
		 kbasename(__FILE__), __LINE__, ##__VA_ARGS__)
 | 
						|
#  define doutc(client, fmt, ...)					\
 | 
						|
	pr_debug("%.*s %12.12s:%-4d : [%pU %llu] " fmt,			\
 | 
						|
		 8 - (int)sizeof(KBUILD_MODNAME), "    ",		\
 | 
						|
		 kbasename(__FILE__), __LINE__,				\
 | 
						|
		 &client->fsid, client->monc.auth->global_id,		\
 | 
						|
		 ##__VA_ARGS__)
 | 
						|
# else
 | 
						|
/* faux printk call just to see any compiler warnings. */
 | 
						|
#  define dout(fmt, ...)					\
 | 
						|
		no_printk(KERN_DEBUG fmt, ##__VA_ARGS__)
 | 
						|
#  define doutc(client, fmt, ...)				\
 | 
						|
		no_printk(KERN_DEBUG "[%pU %llu] " fmt,		\
 | 
						|
			  &client->fsid,			\
 | 
						|
			  client->monc.auth->global_id,		\
 | 
						|
			  ##__VA_ARGS__)
 | 
						|
# endif
 | 
						|
 | 
						|
#else
 | 
						|
 | 
						|
/*
 | 
						|
 * or, just wrap pr_debug
 | 
						|
 */
 | 
						|
# define dout(fmt, ...)	pr_debug(" " fmt, ##__VA_ARGS__)
 | 
						|
# define doutc(client, fmt, ...)					\
 | 
						|
	pr_debug(" [%pU %llu] %s: " fmt, &client->fsid,			\
 | 
						|
		 client->monc.auth->global_id, __func__, ##__VA_ARGS__)
 | 
						|
 | 
						|
#endif
 | 
						|
 | 
						|
#define pr_notice_client(client, fmt, ...)				\
 | 
						|
	pr_notice("[%pU %llu]: " fmt, &client->fsid,			\
 | 
						|
		  client->monc.auth->global_id, ##__VA_ARGS__)
 | 
						|
#define pr_info_client(client, fmt, ...)				\
 | 
						|
	pr_info("[%pU %llu]: " fmt, &client->fsid,			\
 | 
						|
		client->monc.auth->global_id, ##__VA_ARGS__)
 | 
						|
#define pr_warn_client(client, fmt, ...)				\
 | 
						|
	pr_warn("[%pU %llu]: " fmt, &client->fsid,			\
 | 
						|
		client->monc.auth->global_id, ##__VA_ARGS__)
 | 
						|
#define pr_warn_once_client(client, fmt, ...)				\
 | 
						|
	pr_warn_once("[%pU %llu]: " fmt, &client->fsid,			\
 | 
						|
		     client->monc.auth->global_id, ##__VA_ARGS__)
 | 
						|
#define pr_err_client(client, fmt, ...)					\
 | 
						|
	pr_err("[%pU %llu]: " fmt, &client->fsid,			\
 | 
						|
	       client->monc.auth->global_id, ##__VA_ARGS__)
 | 
						|
#define pr_warn_ratelimited_client(client, fmt, ...)			\
 | 
						|
	pr_warn_ratelimited("[%pU %llu]: " fmt, &client->fsid,		\
 | 
						|
			    client->monc.auth->global_id, ##__VA_ARGS__)
 | 
						|
#define pr_err_ratelimited_client(client, fmt, ...)			\
 | 
						|
	pr_err_ratelimited("[%pU %llu]: " fmt, &client->fsid,		\
 | 
						|
			   client->monc.auth->global_id, ##__VA_ARGS__)
 | 
						|
 | 
						|
#endif
 |