]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
enable maple-tree RCU mode
authorSuren Baghdasaryan <surenb@google.com>
Tue, 8 Nov 2022 17:40:09 +0000 (17:40 +0000)
committerSuren Baghdasaryan <surenb@google.com>
Wed, 23 Nov 2022 02:09:43 +0000 (02:09 +0000)
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
kernel/fork.c
mm/mmap.c

index 08969f5aa38d5906b2f42f975054c62bc7f7bf80..f8ce1fc21378502272081b2911d91e4040656d60 100644 (file)
@@ -700,6 +700,8 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
        retval = arch_dup_mmap(oldmm, mm);
 loop_out:
        mas_destroy(&mas);
+       if (!retval)
+               mt_set_in_rcu(mas.tree);
 out:
        mmap_write_unlock(mm);
        flush_tlb_mm(oldmm);
index c3c5c1d6103d1cbaff34ceb9e12cc17f410a33d0..374e0da0f711d82af312ca51f922f9a697ecfcf1 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -3100,6 +3100,7 @@ void exit_mmap(struct mm_struct *mm)
         */
        set_bit(MMF_OOM_SKIP, &mm->flags);
        mmap_write_lock(mm);
+       mt_clear_in_rcu(&mm->mm_mt);
        free_pgtables(&tlb, &mm->mm_mt, vma, FIRST_USER_ADDRESS,
                      USER_PGTABLES_CEILING);
        tlb_finish_mmu(&tlb);