Re: [tip: x86/mm] x86/mm/tlb: Update mm_cpumask lazily
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- Subject: Re: [tip: x86/mm] x86/mm/tlb: Update mm_cpumask lazily
- From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
- Date: Tue, 19 Nov 2024 13:54:32 +0100
- Cc: linux-tip-commits@xxxxxxxxxxxxxxx, Rik van Riel <riel@xxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, Dave Hansen <dave.hansen@xxxxxxxxx>, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, Mel Gorman <mgorman@xxxxxxx>, x86@xxxxxxxxxx
- In-reply-to: <173201565541.412.15037901822386376271.tip-bot2@tip-bot2>
- References: <20241114152723.1294686-2-riel@surriel.com> <173201565541.412.15037901822386376271.tip-bot2@tip-bot2>
On Tue, Nov 19, 2024 at 11:27:35AM -0000, tip-bot2 for Rik van Riel wrote:
> diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
> index d17518c..8b66a55 100644
> --- a/arch/x86/kernel/alternative.c
> +++ b/arch/x86/kernel/alternative.c
> @@ -1825,11 +1825,18 @@ static inline temp_mm_state_t use_temporary_mm(struct mm_struct *mm)
> return temp_state;
> }
>
> +__ro_after_init struct mm_struct *poking_mm;
> +__ro_after_init unsigned long poking_addr;
> +
> static inline void unuse_temporary_mm(temp_mm_state_t prev_state)
> {
> lockdep_assert_irqs_disabled();
> +
> switch_mm_irqs_off(NULL, prev_state.mm, current);
>
> + /* Clear the cpumask, to indicate no TLB flushing is needed anywhere */
> + cpumask_clear_cpu(raw_smp_processor_id(), mm_cpumask(poking_mm));
Oh bugger, this is really unfortunate.
Let me try and fix this.
[Index of Archives]
[Linux Stable Commits]
[Linux Stable Kernel]
[Linux Kernel]
[Linux USB Devel]
[Linux Video &Media]
[Linux Audio Users]
[Yosemite News]
[Linux SCSI]