All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Josh Poimboeuf <jpoimboe@kernel.org>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Uros Bizjak <ubizjak@gmail.com>
Subject: Re: [PATCH RFC 3/5] noinstr: Use asm_inline() in instrumentation_{begin,end}()
Date: Tue, 8 Apr 2025 10:30:24 +0200	[thread overview]
Message-ID: <Z_TeoLQfZA858jk-@gmail.com> (raw)
In-Reply-To: <7cb41fe7e87a003fc925164d5cc18efd8e95fcc0.1744098446.git.jpoimboe@kernel.org>


* Josh Poimboeuf <jpoimboe@kernel.org> wrote:

> Use asm_inline() to prevent the compiler from making poor inlining
> decisions based on the length of the objtool annotations.
> 
> For a defconfig kernel built with GCC 14.2.1, bloat-o-meter reports a
> 0.18% text size increase:
> 
>   add/remove: 88/433 grow/shrink: 967/487 up/down: 87579/-52630 (34949)
>   Total: Before=19448407, After=19483356, chg +0.18%
> 
> Presumably the text growth is due to increased inlining.  A net total of
> 345 functions were removed.

Since +0.18% puts this into the 'significant' category of .text size 
increases, it would be nice to see a bit more details about the nature 
of these function calls removed: were they really explicit calls to 
__instrumentation_begin()/end(), or somehow tail-call optimized out, or 
something else?

Also, I'm wondering where the 34,949 bytes bloat comes from: with 345 
functions removed that's 100 bytes per function? Doesn't sound right.

Also, is the bloat-o-meter output limited to the .text section, or does 
it include growth in out-of-line sections too?

Thanks,

	Ingo

  reply	other threads:[~2025-04-08  8:30 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-08  8:21 [PATCH RFC 0/5] x86/asm: Improve code generation Josh Poimboeuf
2025-04-08  8:21 ` [PATCH RFC 1/5] objtool: Remove ANNOTATE_IGNORE_ALTERNATIVE from CLAC/STAC Josh Poimboeuf
2025-04-08 18:07   ` Linus Torvalds
2025-04-08 20:45   ` [tip: objtool/urgent] " tip-bot2 for Josh Poimboeuf
2025-04-08  8:21 ` [PATCH RFC 2/5] objtool, x86/hweight: Remove ANNOTATE_IGNORE_ALTERNATIVE Josh Poimboeuf
2025-04-08  8:21 ` [PATCH RFC 3/5] noinstr: Use asm_inline() in instrumentation_{begin,end}() Josh Poimboeuf
2025-04-08  8:30   ` Ingo Molnar [this message]
2025-04-08 11:10     ` Uros Bizjak
2025-04-08 16:46       ` Josh Poimboeuf
2025-04-08  8:21 ` [PATCH RFC 4/5] x86/alternative: Improve code generation readability Josh Poimboeuf
2025-04-09 14:38   ` Peter Zijlstra
2025-04-09 17:41     ` Josh Poimboeuf
2025-04-09 18:02       ` Linus Torvalds
2025-04-09 19:51         ` Josh Poimboeuf
2025-04-09 21:20           ` Linus Torvalds
2025-04-09 21:27             ` Josh Poimboeuf
2025-04-09 21:55               ` Josh Poimboeuf
2025-04-16 23:30         ` Josh Poimboeuf
2025-04-08  8:21 ` [PATCH RFC 5/5] objtool: " Josh Poimboeuf
2025-04-09 14:40   ` Peter Zijlstra

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=Z_TeoLQfZA858jk-@gmail.com \
    --to=mingo@kernel.org \
    --cc=jpoimboe@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=torvalds@linux-foundation.org \
    --cc=ubizjak@gmail.com \
    --cc=x86@kernel.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.