]> www.infradead.org Git - users/willy/pagecache.git/commit
Merge branch 'vsnprintf'
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 20 Jan 2025 05:28:57 +0000 (21:28 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 20 Jan 2025 05:28:57 +0000 (21:28 -0800)
commit5293b5f97ea17814da1b88a807290c392823162b
tree6a90fcaa7c798081eca0c3c0fb33d5ac87236552
parentffd294d346d185b70e28b1a28abe367bbfe53c04
parentecdc475e0707c98c2a89da8d0024b3ea2924ef9b
Merge branch 'vsnprintf'

This merges the vsnprintf internal cleanups I did, which were triggered
by a combination of performance issues (see for example commit
f9ed1f7c2e26: "genirq/proc: Use seq_put_decimal_ull_width() for decimal
values") and discussion about tracing abusing the vsnprintf code in odd
ways.

The intent was to improve code generation, but also to possibly
eventually expose the cleaned-up printf format decoding state machine.

It certainly didn't get to the point where we'd want to expose the
format decoding to external users, but it's an improvement over what we
used to have.  Several of the complex case statements have been
simplified, or removed entirely to be replaced by simple table lookups.

* branch 'vsnprintf':
  vsnprintf: fix the number base for non-numeric formats
  vsnprintf: fix up kerneldoc for argument name changes
  vsprintf: don't make the 'binary' version pack small integer arguments
  vsnprintf: collapse the number format state into one single state
  vsnprintf: mark the indirect width and precision cases unlikely
  vsnprintf: inline skip_atoi() again
  vsprintf: deal with format specifiers with a lookup table
  vsprintf: deal with format flags with a simple lookup table
  vsprintf: associate the format state with the format pointer
  vsprintf: fix calling convention for format_decode()
  vsprintf: avoid nested switch statement on same variable
  vsprintf: simplify number handling