Re: + lazy-tlb-fix-hotplug-exit-race-with-mmu_lazy_tlb_shootdown.patch added to mm-hotfixes-unstable branch

From: Thomas Gleixner
Date: Tue Jun 20 2023 - 02:32:38 EST


On Tue, Jun 20 2023 at 16:02, Nicholas Piggin wrote:
> On Sun Jun 11, 2023 at 5:29 AM AEST, Thomas Gleixner wrote:
>> /*
>> * Invoked on the outgoing CPU in context of the CPU hotplug thread
>> * after ensuring that there are no user space tasks left on the CPU.
>> *
>> * If there is a lazy mm in use on the hotplug thread, drop it and
>> * switch to init_mm.
>> *
>> * The reference count on init_mm is dropped in finish_cpu().
>> */
>> static void sched_force_init_mm(void)
>> {
>>
>> No?
>
> It could be done in many places. Peter touched it last and it's
> been in the tree since prehistoric times.

That's an argument for slapping it into some randomly chosen place and
be done with it, right?

>> > +/*
>> > + * After the CPU is offline, double check that it was previously switched to
>> > + * init_mm. This call can be removed because the condition is caught in
>> > + * finish_cpu() as well.
>>
>> So why adding it in the first place?
>>
>> The changelog mumbles something about reducing churn, but I fail to see
>> that reduction. This adds 10 lines of pointless code and comments for
>> zero value.
>
> Not sure what you're talking about. The patch didn't add it. Removing it
> requires removing it from all archs, which is the churn.

Sure. That's left as an exercise for others, right?

Oh well.

tglx