From: Chen Linxuan <chenlinxuan@uniontech.com>
To: hch@lst.de
Cc: akpm@linux-foundation.org, alex.williamson@redhat.com,
andreyknvl@gmail.com, axboe@kernel.dk, boqun.feng@gmail.com,
boris.ostrovsky@oracle.com, bp@alien8.de, changbin.du@intel.com,
chenlinxuan@uniontech.com, dave.hansen@linux.intel.com,
dvyukov@google.com, hannes@cmpxchg.org, hpa@zytor.com,
jackmanb@google.com, jarkko@kernel.org, jgg@ziepe.ca,
jgross@suse.com, justinstitt@google.com,
kasan-dev@googlegroups.com, kbusch@kernel.org,
kevin.tian@intel.com, kvm@vger.kernel.org,
linux-integrity@vger.kernel.org, linux-kbuild@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
linux-nvme@lists.infradead.org, llvm@lists.linux.dev,
masahiroy@kernel.org, mathieu.desnoyers@efficios.com,
mhocko@suse.com, mingo@redhat.com, morbo@google.com,
nathan@kernel.org, nick.desaulniers+lkml@gmail.com,
nicolas.schier@linux.dev, paulmck@kernel.org, peterhuewe@gmx.de,
peterz@infradead.org, sagi@grimberg.me,
shameerali.kolothum.thodi@huawei.com, surenb@google.com,
tglx@linutronix.de, torvalds@linux-foundation.org,
vbabka@suse.cz, virtualization@lists.linux.dev,
wentao@uniontech.com, x86@kernel.org,
xen-devel@lists.xenproject.org, yishaih@nvidia.com,
ziy@nvidia.com
Subject: Re: [PATCH RFC v3 0/8] kernel-hacking: introduce CONFIG_NO_AUTO_INLINE
Date: Tue, 6 May 2025 10:30:53 +0800 [thread overview]
Message-ID: <AB2D78307A5FD403+20250506023053.541751-1-chenlinxuan@uniontech.com> (raw)
In-Reply-To: <20250429123504.GA13093@lst.de>
On Tue, 29 Apr 2025 14:35:04 +0200 Christoph Hellwig wrote:
> On Tue, Apr 29, 2025 at 12:06:04PM +0800, Chen Linxuan via B4 Relay wrote:
>
> > This series introduces a new kernel configuration option NO_AUTO_INLINE,
> > which can be used to disable the automatic inlining of functions.
> >
> > This will allow the function tracer to trace more functions
> > because it only traces functions that the compiler has not inlined.
>
> This still feels like a bad idea because it is extremely fragile.
I'm not entirely sure if we're on the same page regarding this issue.
However, I'd like to address the concerns about the fragility of NO_AUTO_INLINE.
Maintaining NO_AUTO_INLINE to function correctly is indeed challenging,
and I share some reservations about whether it should exist as a Kbuild option,
which is precisely why this patch series is submitted as an RFC.
I cannot even guarantee that I've addressed all existing issues in the current
kernel repository with this patch series, as testing all possible compilation
configurations is beyond my capabilities.
Looking at the functions where I've added __always_inline in this patch series,
nearly all of them require inlining specifically because their calls need to be
resolved at compile time.
The fundamental source of this fragility stems from the fact that compiler
auto-inlining decisions aren't well-defined. If these functions were to change
in the future for unrelated reasons - for example, if they became longer - and
the compiler consequently decided not to automatically inline them, these same
issues would surface regardless.
prev parent reply other threads:[~2025-05-06 2:32 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-29 4:06 Chen Linxuan via B4 Relay
2025-04-29 4:06 ` [PATCH RFC v3 1/8] nvme: add __always_inline for nvme_pci_npages_prp Chen Linxuan via B4 Relay
2025-04-29 4:06 ` [PATCH RFC v3 2/8] mm: add __always_inline for page_contains_unaccepted Chen Linxuan via B4 Relay
2025-04-29 4:06 ` [PATCH RFC v3 3/8] vfio/virtio: add __always_inline for virtiovf_get_device_config_size Chen Linxuan via B4 Relay
2025-04-29 4:06 ` [PATCH RFC v3 4/8] tpm: add __always_inline for tpm_is_hwrng_enabled Chen Linxuan via B4 Relay
2025-04-29 4:06 ` [PATCH RFC v3 5/8] rseq: add __always_inline for rseq_kernel_fields Chen Linxuan via B4 Relay
2025-04-29 4:06 ` [PATCH RFC v3 6/8] kcov: add __always_inline for canonicalize_ip Chen Linxuan via B4 Relay
2025-04-29 4:06 ` [PATCH RFC v3 7/8] x86/xen: add __init for xen_pgd_walk Chen Linxuan via B4 Relay
2025-04-29 4:06 ` [PATCH RFC v3 8/8] lib/Kconfig.debug: introduce CONFIG_NO_AUTO_INLINE Chen Linxuan via B4 Relay
2025-04-29 12:35 ` [PATCH RFC v3 0/8] kernel-hacking: " Christoph Hellwig
2025-05-01 14:19 ` Brendan Jackman
2025-05-01 15:02 ` Peter Zijlstra
2025-05-01 15:22 ` Brendan Jackman
2025-05-01 15:50 ` Peter Zijlstra
2025-05-03 19:13 ` Bart Van Assche
2025-05-06 2:40 ` Chen Linxuan
2025-05-06 2:30 ` Chen Linxuan [this message]
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=AB2D78307A5FD403+20250506023053.541751-1-chenlinxuan@uniontech.com \
--to=chenlinxuan@uniontech.com \
--cc=akpm@linux-foundation.org \
--cc=alex.williamson@redhat.com \
--cc=andreyknvl@gmail.com \
--cc=axboe@kernel.dk \
--cc=boqun.feng@gmail.com \
--cc=boris.ostrovsky@oracle.com \
--cc=bp@alien8.de \
--cc=changbin.du@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=dvyukov@google.com \
--cc=hannes@cmpxchg.org \
--cc=hch@lst.de \
--cc=hpa@zytor.com \
--cc=jackmanb@google.com \
--cc=jarkko@kernel.org \
--cc=jgg@ziepe.ca \
--cc=jgross@suse.com \
--cc=justinstitt@google.com \
--cc=kasan-dev@googlegroups.com \
--cc=kbusch@kernel.org \
--cc=kevin.tian@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nvme@lists.infradead.org \
--cc=llvm@lists.linux.dev \
--cc=masahiroy@kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhocko@suse.com \
--cc=mingo@redhat.com \
--cc=morbo@google.com \
--cc=nathan@kernel.org \
--cc=nick.desaulniers+lkml@gmail.com \
--cc=nicolas.schier@linux.dev \
--cc=paulmck@kernel.org \
--cc=peterhuewe@gmx.de \
--cc=peterz@infradead.org \
--cc=sagi@grimberg.me \
--cc=shameerali.kolothum.thodi@huawei.com \
--cc=surenb@google.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=vbabka@suse.cz \
--cc=virtualization@lists.linux.dev \
--cc=wentao@uniontech.com \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xenproject.org \
--cc=yishaih@nvidia.com \
--cc=ziy@nvidia.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox