Re: [mmots] build error: mm: prevent racy access to tlb_flush_pending

From: Nadav Amit
Date: Thu Jul 27 2017 - 11:18:11 EST


Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> wrote:

> Hello,
>
> 8c636138f497b36ae95f ("mm: prevent racy access to tlb_flush_pending") kills
> the build
>
> kernel/fork.c: In function âmm_initâ:
> kernel/fork.c:810:18: error: âstruct mm_structâ has no member named âtlb_flush_pendingâ; did you mean âtlb_flush_batchedâ?
> atomic_set(&mm->tlb_flush_pending, 0);
> ^~~~~~~~~~~~~~~~~
> tlb_flush_batched
>
>
>
> replacing clear_tlb_flush_pending() with a direct ->tlb_flush_pending
> access
>
> @@ -807,7 +807,7 @@ static struct mm_struct *mm_init(struct mm_struct *mm, struct task_struct *p,
> mm_init_aio(mm);
> mm_init_owner(mm, p);
> mmu_notifier_mm_init(mm);
> - clear_tlb_flush_pending(mm);
> + atomic_set(&mm->tlb_flush_pending, 0);
>
>
> doesn't work on on !CONFIG_NUMA_BALANCING && !CONFIG_COMPACTION systems.
>
> -ss

Missed this one. Thanks, I will fix it for v3.

When Minchan repurpose this field, he should remove all of these defines
(including those in mm_types.h).

Minchan, do you want me to do it?

Nadav