Re: [PATCH] mm: hugetlb: avoid soft lockup when mprotect with PROT_MTE
From: Yang Shi
Date: Fri Sep 26 2025 - 13:51:59 EST
On 9/26/25 9:56 AM, Catalin Marinas wrote:
On Fri, Sep 26, 2025 at 09:29:54AM -0700, Christoph Lameter (Ampere) wrote:
On Fri, 26 Sep 2025, Yang Shi wrote:Yeah, with MTE set_huge_pte_at() isn't just setting a pte but also
When calling mprotect() with PROT_MTE, kernel will initialize MTE tagsAFAICT this is a bug fix. The hugetlb path should be doing a
for every single page in the affected area. Soft lockup was observed
when doing this for large HugeTLB memory area in our customer's workload
(~300GB memory):
cond_resched() like the base page code does.
It is not MTE specific. If other processing takes a long time in the loop
(setting up terabyte size mappings for hugetlb for example) then the
softlockup could also be triggered on non MTE workloads.
clearing the tags. So it can take considerable time.
The fix is indeed not related to MTE, so I don't think the Fixes tag
should mention MTE (but I'm fine with a cc stable). Let's say we change
a hugetlb from RW to RX and have to do cache maintenance, we'd trigger a
similar soft lockup, depending on how fast the system is.
Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
Thank you. Yes, I agree this should be not MTE specific although it was triggered by MTE in certain workload. I will remove the fix tag and make the commit message more generic.
Yang