seq_file: Optimize seq_puts()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Mon, 22 Apr 2024 10:24:06 +0000 (12:24 +0200)
committerChristian Brauner <brauner@kernel.org>
Thu, 2 May 2024 14:28:15 +0000 (16:28 +0200)
commit45751097aeb386eb239f6a8ed0ccfd7dabce068e
tree1dea3dfa299c70189a729c6343d9941df709f536
parent0a960ba49869ebe8ff859d000351504dd6b93b68
seq_file: Optimize seq_puts()

Most of seq_puts() usages are done with a string literal. In such cases,
the length of the string car be computed at compile time in order to save
a strlen() call at run-time. seq_putc() or seq_write() can then be used
instead.

This saves a few cycles.

To have an estimation of how often this optimization triggers:
   $ git grep seq_puts.*\" | wc -l
   3436

   $ git grep seq_puts.*\".\" | wc -l
   84

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/a8589bffe4830dafcb9111e22acf06603fea7132.1713781332.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Christian Brauner <brauner@kernel.org>
The output for seq_putc() generation has also be checked and works.
fs/seq_file.c
include/linux/seq_file.h