From: Thomas Gleixner <tglx@linutronix.de>
To: Xie Yuanbin <qq570070308@gmail.com>,
peterz@infradead.org, riel@surriel.com,
segher@kernel.crashing.org, david@kernel.org, hpa@zytor.com,
arnd@arndb.de, acme@kernel.org, adrian.hunter@intel.com,
agordeev@linux.ibm.com, akpm@linux-foundation.org, alex@ghiti.fr,
alexander.shishkin@linux.intel.com, andreas@gaisler.com,
anshuman.khandual@arm.com, aou@eecs.berkeley.edu,
borntraeger@linux.ibm.com, bp@alien8.de, bsegall@google.com,
dave.hansen@linux.intel.com, davem@davemloft.net,
dietmar.eggemann@arm.com, frederic@kernel.org, gor@linux.ibm.com,
hca@linux.ibm.com, irogers@google.com, james.clark@linaro.org,
jolsa@kernel.org, juri.lelli@redhat.com, justinstitt@google.com,
lorenzo.stoakes@oracle.com, luto@kernel.org,
mark.rutland@arm.com, mathieu.desnoyers@efficios.com,
max.kellermann@ionos.com, mgorman@suse.de, mingo@redhat.com,
morbo@google.com, namhyung@kernel.org, nathan@kernel.org,
nick.desaulniers+lkml@gmail.com, nysal@linux.ibm.com,
palmer@dabbelt.com, paulmck@kernel.org, pjw@kernel.org,
rostedt@goodmis.org, ryan.roberts@arm.com, svens@linux.ibm.com,
thuth@redhat.com, urezki@gmail.com, vincent.guittot@linaro.org,
vschneid@redhat.com, linux@armlinux.org.uk
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
sparclinux@vger.kernel.org, linux-perf-users@vger.kernel.org,
llvm@lists.linux.dev
Subject: Re: [PATCH v5 1/3] x86/mm/tlb: Make enter_lazy_tlb() always inline on x86
Date: Mon, 15 Dec 2025 16:42:13 +0100 [thread overview]
Message-ID: <87345beoq2.ffs@tglx> (raw)
In-Reply-To: <20251214190907.184793-2-qq570070308@gmail.com>
On Mon, Dec 15 2025 at 03:09, Xie Yuanbin wrote:
> enter_lazy_tlb() on x86 is short enough, and is called in context
> switching, which is the hot code path.
>
> Make enter_lazy_tlb() always inline on x86 to optimize performance.
>
> Signed-off-by: Xie Yuanbin <qq570070308@gmail.com>
> Reviewed-by: Rik van Riel <riel@surriel.com>
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202511091959.kfmo9kPB-lkp@intel.com/
> Closes: https://lore.kernel.org/oe-kbuild-all/202511092219.73aMMES4-lkp@intel.com/
> Closes: https://lore.kernel.org/oe-kbuild-all/202511100042.ZklpqjOY-lkp@intel.com/
These Reported-by and Closes tags are just wrong. This is a new patch
and the robot reported failures against earlier versions. The robot
report is very clear about that:
"If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
Reported-by:...
Closes:..."
No?
> +/*
> + * Please ignore the name of this function. It should be called
> + * switch_to_kernel_thread().
And why is it not renamed then?
> + *
> + * enter_lazy_tlb() is a hint from the scheduler that we are entering a
We enter a kernel thread? AFAIK the metaverse has been canceled.
> + * kernel thread or other context without an mm. Acceptable implementations
> + * include doing nothing whatsoever, switching to init_mm, or various clever
> + * lazy tricks to try to minimize TLB flushes.
> + *
> + * The scheduler reserves the right to call enter_lazy_tlb() several times
> + * in a row. It will notify us that we're going back to a real mm by
It will notify us by sending email or what?
> + * calling switch_mm_irqs_off().
> + */
> #define enter_lazy_tlb enter_lazy_tlb
> -extern void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk);
> +#ifndef MODULE
> +static __always_inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
> +{
> + if (this_cpu_read(cpu_tlbstate.loaded_mm) == &init_mm)
> + return;
> +
> + this_cpu_write(cpu_tlbstate_shared.is_lazy, true);
> +}
Please move the '#define enter_....' under the inline function. That's
way simpler to read.
Thanks,
tglx
WARNING: multiple messages have this Message-ID (diff)
From: Thomas Gleixner <tglx@linutronix.de>
To: Xie Yuanbin <qq570070308@gmail.com>,
peterz@infradead.org, riel@surriel.com,
segher@kernel.crashing.org, david@kernel.org, hpa@zytor.com,
arnd@arndb.de, acme@kernel.org, adrian.hunter@intel.com,
agordeev@linux.ibm.com, akpm@linux-foundation.org, alex@ghiti.fr,
alexander.shishkin@linux.intel.com, andreas@gaisler.com,
anshuman.khandual@arm.com, aou@eecs.berkeley.edu,
borntraeger@linux.ibm.com, bp@alien8.de, bsegall@google.com,
dave.hansen@linux.intel.com, davem@davemloft.net,
dietmar.eggemann@arm.com, frederic@kernel.org, gor@linux.ibm.com,
hca@linux.ibm.com, irogers@google.com, james.clark@linaro.org,
jolsa@kernel.org, juri.lelli@redhat.com, justinstitt@google.com,
lorenzo.stoakes@oracle.com, luto@kernel.org,
mark.rutland@arm.com, mathieu.desnoyers@efficios.com,
max.kellermann@ionos.com, mgorman@suse.de, mingo@redhat.com,
morbo@google.com, namhyung@kernel.org, nathan@kernel.org,
nick.desaulniers+lkml@gmail.com, nysal@linux.ibm.com,
palmer@dabbelt.com, paulmck@kernel.org, pjw@kernel.org,
rostedt@goodmis.org, ryan.roberts@arm.com, svens@linux.ibm.com,
thuth@redhat.com, urezki@gmail.com, vincent.guittot@linaro.org,
vschneid@redhat.com, linux@armlinux.org.uk
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
sparclinux@vger.kernel.org, linux-perf-users@vger.kernel.org,
llvm@lists.linux.dev
Subject: Re: [PATCH v5 1/3] x86/mm/tlb: Make enter_lazy_tlb() always inline on x86
Date: Mon, 15 Dec 2025 16:42:13 +0100 [thread overview]
Message-ID: <87345beoq2.ffs@tglx> (raw)
In-Reply-To: <20251214190907.184793-2-qq570070308@gmail.com>
On Mon, Dec 15 2025 at 03:09, Xie Yuanbin wrote:
> enter_lazy_tlb() on x86 is short enough, and is called in context
> switching, which is the hot code path.
>
> Make enter_lazy_tlb() always inline on x86 to optimize performance.
>
> Signed-off-by: Xie Yuanbin <qq570070308@gmail.com>
> Reviewed-by: Rik van Riel <riel@surriel.com>
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202511091959.kfmo9kPB-lkp@intel.com/
> Closes: https://lore.kernel.org/oe-kbuild-all/202511092219.73aMMES4-lkp@intel.com/
> Closes: https://lore.kernel.org/oe-kbuild-all/202511100042.ZklpqjOY-lkp@intel.com/
These Reported-by and Closes tags are just wrong. This is a new patch
and the robot reported failures against earlier versions. The robot
report is very clear about that:
"If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
Reported-by:...
Closes:..."
No?
> +/*
> + * Please ignore the name of this function. It should be called
> + * switch_to_kernel_thread().
And why is it not renamed then?
> + *
> + * enter_lazy_tlb() is a hint from the scheduler that we are entering a
We enter a kernel thread? AFAIK the metaverse has been canceled.
> + * kernel thread or other context without an mm. Acceptable implementations
> + * include doing nothing whatsoever, switching to init_mm, or various clever
> + * lazy tricks to try to minimize TLB flushes.
> + *
> + * The scheduler reserves the right to call enter_lazy_tlb() several times
> + * in a row. It will notify us that we're going back to a real mm by
It will notify us by sending email or what?
> + * calling switch_mm_irqs_off().
> + */
> #define enter_lazy_tlb enter_lazy_tlb
> -extern void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk);
> +#ifndef MODULE
> +static __always_inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
> +{
> + if (this_cpu_read(cpu_tlbstate.loaded_mm) == &init_mm)
> + return;
> +
> + this_cpu_write(cpu_tlbstate_shared.is_lazy, true);
> +}
Please move the '#define enter_....' under the inline function. That's
way simpler to read.
Thanks,
tglx
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2025-12-15 15:42 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-14 19:09 [PATCH v5 0/3] Optimize code generation during context switching Xie Yuanbin
2025-12-14 19:09 ` Xie Yuanbin
2025-12-14 19:09 ` [PATCH v5 1/3] x86/mm/tlb: Make enter_lazy_tlb() always inline on x86 Xie Yuanbin
2025-12-14 19:09 ` Xie Yuanbin
2025-12-15 15:42 ` Thomas Gleixner [this message]
2025-12-15 15:42 ` Thomas Gleixner
2025-12-16 15:49 ` Xie Yuanbin
2025-12-16 15:49 ` Xie Yuanbin
2025-12-14 19:09 ` [PATCH v5 2/3] sched: Make raw_spin_rq_unlock() inline Xie Yuanbin
2025-12-14 19:09 ` Xie Yuanbin
2025-12-14 23:39 ` Rik van Riel
2025-12-14 23:39 ` Rik van Riel
2025-12-14 19:13 ` [PATCH v5 3/3] sched/core: Make finish_task_switch() and its subfunctions always inline Xie Yuanbin
2025-12-14 19:13 ` Xie Yuanbin
2025-12-22 16:48 ` Xie Yuanbin
2025-12-22 16:48 ` Xie Yuanbin
2025-12-15 13:10 ` [PATCH v5 0/3] Optimize code generation during context switching Xie Yuanbin
2025-12-15 13:10 ` Xie Yuanbin
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=87345beoq2.ffs@tglx \
--to=tglx@linutronix.de \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=agordeev@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=alex@ghiti.fr \
--cc=alexander.shishkin@linux.intel.com \
--cc=andreas@gaisler.com \
--cc=anshuman.khandual@arm.com \
--cc=aou@eecs.berkeley.edu \
--cc=arnd@arndb.de \
--cc=borntraeger@linux.ibm.com \
--cc=bp@alien8.de \
--cc=bsegall@google.com \
--cc=dave.hansen@linux.intel.com \
--cc=davem@davemloft.net \
--cc=david@kernel.org \
--cc=dietmar.eggemann@arm.com \
--cc=frederic@kernel.org \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=hpa@zytor.com \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=jolsa@kernel.org \
--cc=juri.lelli@redhat.com \
--cc=justinstitt@google.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=llvm@lists.linux.dev \
--cc=lorenzo.stoakes@oracle.com \
--cc=luto@kernel.org \
--cc=mark.rutland@arm.com \
--cc=mathieu.desnoyers@efficios.com \
--cc=max.kellermann@ionos.com \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=morbo@google.com \
--cc=namhyung@kernel.org \
--cc=nathan@kernel.org \
--cc=nick.desaulniers+lkml@gmail.com \
--cc=nysal@linux.ibm.com \
--cc=palmer@dabbelt.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=pjw@kernel.org \
--cc=qq570070308@gmail.com \
--cc=riel@surriel.com \
--cc=rostedt@goodmis.org \
--cc=ryan.roberts@arm.com \
--cc=segher@kernel.crashing.org \
--cc=sparclinux@vger.kernel.org \
--cc=svens@linux.ibm.com \
--cc=thuth@redhat.com \
--cc=urezki@gmail.com \
--cc=vincent.guittot@linaro.org \
--cc=vschneid@redhat.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.