All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Viro <viro@ZenIV.linux.org.uk>
To: Joe Perches <joe@perches.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH] seq_file: Use seq_puts when seq_printf has only a format with no args
Date: Sat, 16 Mar 2013 17:54:47 +0000	[thread overview]
Message-ID: <20130316175446.GA21522@ZenIV.linux.org.uk> (raw)
In-Reply-To: <1363441844.2023.17.camel@joe-AO722>

On Sat, Mar 16, 2013 at 06:50:44AM -0700, Joe Perches wrote:
> Instead of converting the 800 or so uses of seq_printf with
> a constant format (without a % substitution) to seq_puts,
> maybe there's another way to slightly speed up these outputs.
> 
> Taking a similar approach to commit abd84d60eb
> ("tracing: Optimize trace_printk() with one arg to use trace_puts()")
> use the preprocessor to convert seq_printf(seq, "string constant")
> to seq_puts(seq, "string constant")
> 
> By stringifying __VA_ARGS__, we can, at compile time, determine
> the number of args that are being passed to seq_printf() and
> call seq_puts or seq_printf appropriately.
> 
> The actual function definition for seq_printf must now
> be enclosed in parenthesis to avoid further macro expansion.

Joe, would you mind showing me a single real-world case where that
"optimization" would really matter?  Adding a module that would
produce a seq_file in procfs, with contents generated by something like
	for(i = 0; i < 4000; i++)
		seq_printf(m, "a");
and application that would keep reading that file in a loop does not count,
TYVM.  Until then,
NAKed-by: Al Viro <viro@zeniv.linux.org.uk>
NAKed-because: GAFL

  parent reply	other threads:[~2013-03-16 17:54 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-16 13:50 [RFC PATCH] seq_file: Use seq_puts when seq_printf has only a format with no args Joe Perches
2013-03-16 15:43 ` Bjorn Helgaas
2013-03-16 16:11   ` Steven Rostedt
2013-03-16 17:42   ` Joe Perches
2013-03-16 17:51   ` Joe Perches
2013-03-16 18:01     ` Al Viro
2013-03-16 19:21       ` Steven Rostedt
2013-03-19  3:11   ` [PATCH] checkpatch: Prefer seq_puts to seq_printf Joe Perches
2013-03-16 15:57 ` [RFC PATCH] seq_file: Use seq_puts when seq_printf has only a format with no args Steven Rostedt
2013-03-16 16:15   ` Joe Perches
2013-03-16 17:02     ` Steven Rostedt
2013-03-16 17:54 ` Al Viro [this message]
2013-03-18 20:59   ` Andrew Morton
2013-03-19  2:41     ` Joe Perches

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130316175446.GA21522@ZenIV.linux.org.uk \
    --to=viro@zeniv.linux.org.uk \
    --cc=akpm@linux-foundation.org \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.