From 38d6c60e146a67d7a2b0c71a7bb8640afc454472 Mon Sep 17 00:00:00 2001 From: "Liam R. Howlett" Date: Fri, 28 Aug 2020 15:32:05 -0400 Subject: [PATCH] sched/mm and kernel/fork: Add maple tree rcu enable/disable Signed-off-by: Liam R. Howlett --- include/linux/sched/mm.h | 3 +++ kernel/fork.c | 1 + 2 files changed, 4 insertions(+) diff --git a/include/linux/sched/mm.h b/include/linux/sched/mm.h index d5ece7a9a403..919e2e44b764 100644 --- a/include/linux/sched/mm.h +++ b/include/linux/sched/mm.h @@ -8,6 +8,7 @@ #include #include #include +#include /* * Routines for handling mm_structs @@ -67,11 +68,13 @@ static inline void mmdrop(struct mm_struct *mm) */ static inline void mmget(struct mm_struct *mm) { + mt_set_in_rcu(&mm->mm_mt); atomic_inc(&mm->mm_users); } static inline bool mmget_not_zero(struct mm_struct *mm) { + mt_set_in_rcu(&mm->mm_mt); return atomic_inc_not_zero(&mm->mm_users); } diff --git a/kernel/fork.c b/kernel/fork.c index 7de6437caa65..5ea4b5690508 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -1095,6 +1095,7 @@ static inline void __mmput(struct mm_struct *mm) } if (mm->binfmt) module_put(mm->binfmt->module); + mt_clear_in_rcu(&mm->mm_mt); mmdrop(mm); } -- 2.50.1