Commit e904c2cc authored by Muchun Song's avatar Muchun Song Committed by Linus Torvalds

mm: mmap_lock: fix disabling preemption directly

Commit 832b5072 ("mm: mmap_lock: use local locks instead of
disabling preemption") fixed a bug by using local locks.

But commit d01079f3 ("mm/mmap_lock: remove dead code for
!CONFIG_TRACING configurations") changed those lines back to the
original version.

I guess it was introduced by fixing conflicts.

Link: https://lkml.kernel.org/r/20210720074228.76342-1-songmuchun@bytedance.com
Fixes: d01079f3 ("mm/mmap_lock: remove dead code for !CONFIG_TRACING configurations")
Signed-off-by: default avatarMuchun Song <songmuchun@bytedance.com>
Acked-by: default avatarMel Gorman <mgorman@techsingularity.net>
Reviewed-by: default avatarYang Shi <shy828301@gmail.com>
Reviewed-by: default avatarPankaj Gupta <pankaj.gupta@ionos.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent af642374
...@@ -156,14 +156,14 @@ static inline void put_memcg_path_buf(void) ...@@ -156,14 +156,14 @@ static inline void put_memcg_path_buf(void)
#define TRACE_MMAP_LOCK_EVENT(type, mm, ...) \ #define TRACE_MMAP_LOCK_EVENT(type, mm, ...) \
do { \ do { \
const char *memcg_path; \ const char *memcg_path; \
preempt_disable(); \ local_lock(&memcg_paths.lock); \
memcg_path = get_mm_memcg_path(mm); \ memcg_path = get_mm_memcg_path(mm); \
trace_mmap_lock_##type(mm, \ trace_mmap_lock_##type(mm, \
memcg_path != NULL ? memcg_path : "", \ memcg_path != NULL ? memcg_path : "", \
##__VA_ARGS__); \ ##__VA_ARGS__); \
if (likely(memcg_path != NULL)) \ if (likely(memcg_path != NULL)) \
put_memcg_path_buf(); \ put_memcg_path_buf(); \
preempt_enable(); \ local_unlock(&memcg_paths.lock); \
} while (0) } while (0)
#else /* !CONFIG_MEMCG */ #else /* !CONFIG_MEMCG */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment