linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [trivial PATCH] vfs: fs_context: Deduplicate logging calls to reduce object size
@ 2021-05-23 17:43 Joe Perches
  0 siblings, 0 replies; only message in thread
From: Joe Perches @ 2021-05-23 17:43 UTC (permalink / raw)
  To: Alexander Viro; +Cc: linux-fsdevel, LKML

Deduplicate the logging calls by using a temporary for KERN_<LEVEL>
with miscellaneous source code neatening of the output calls.

$ size fs/fs_context.o* #defconfig x86_64
   text	   data	    bss	    dec	    hex	filename
   6727	    192	      0	   6919	   1b07	fs/fs_context.o.new
   6802	    192	      0	   6994	   1b52	fs/fs_context.o.old

Signed-off-by: Joe Perches <joe@perches.com>
---
 fs/fs_context.c | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/fs/fs_context.c b/fs/fs_context.c
index 2834d1afa6e80..2a6ff20da40f5 100644
--- a/fs/fs_context.c
+++ b/fs/fs_context.c
@@ -359,33 +359,40 @@ EXPORT_SYMBOL(vfs_dup_fs_context);
  * @fc: The filesystem context to log to.
  * @fmt: The format of the buffer.
  */
-void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt, ...)
+void logfc(struct fc_log *log, const char *prefix, char level,
+	   const char *fmt, ...)
 {
 	va_list va;
 	struct va_format vaf = {.fmt = fmt, .va = &va};
 
 	va_start(va, fmt);
 	if (!log) {
+		const char *kern_level;
+
 		switch (level) {
 		case 'w':
-			printk(KERN_WARNING "%s%s%pV\n", prefix ? prefix : "",
-						prefix ? ": " : "", &vaf);
+			kern_level = KERN_WARNING;
 			break;
 		case 'e':
-			printk(KERN_ERR "%s%s%pV\n", prefix ? prefix : "",
-						prefix ? ": " : "", &vaf);
+			kern_level = KERN_ERR;
 			break;
 		default:
-			printk(KERN_NOTICE "%s%s%pV\n", prefix ? prefix : "",
-						prefix ? ": " : "", &vaf);
+			kern_level = KERN_NOTICE;
 			break;
 		}
+		printk("%s%s%s%pV\n",
+		       kern_level,
+		       prefix ? prefix : "",
+		       prefix ? ": " : "",
+		       &vaf);
 	} else {
 		unsigned int logsize = ARRAY_SIZE(log->buffer);
 		u8 index;
-		char *q = kasprintf(GFP_KERNEL, "%c %s%s%pV\n", level,
-						prefix ? prefix : "",
-						prefix ? ": " : "", &vaf);
+		char *q = kasprintf(GFP_KERNEL, "%c %s%s%pV\n",
+				    level,
+				    prefix ? prefix : "",
+				    prefix ? ": " : "",
+				    &vaf);
 
 		index = log->head & (logsize - 1);
 		BUILD_BUG_ON(sizeof(log->head) != sizeof(u8) ||



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-05-23 17:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-23 17:43 [trivial PATCH] vfs: fs_context: Deduplicate logging calls to reduce object size Joe Perches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).