Message ID | 20210720074228.76342-1-songmuchun@bytedance.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm: mmap_lock: fix disabling preemption directly | expand |
On Tue, Jul 20, 2021 at 03:42:28PM +0800, Muchun Song wrote: > The commit 832b50725373 ("mm: mmap_lock: use local locks instead of > disabling preemption") fix a bug by using local locks. But commit > d01079f3d0c0 ("mm/mmap_lock: remove dead code for !CONFIG_TRACING > configurations") changes those lines to original version. I guess > it is introduced by the conflicts fixing on merging. > > Fixes: d01079f3d0c0 ("mm/mmap_lock: remove dead code for !CONFIG_TRACING configurations") > Signed-off-by: Muchun Song <songmuchun@bytedance.com> Acked-by: Mel Gorman <mgorman@techsingularity.net>
On Tue, Jul 20, 2021 at 12:43 AM Muchun Song <songmuchun@bytedance.com> wrote: > > The commit 832b50725373 ("mm: mmap_lock: use local locks instead of > disabling preemption") fix a bug by using local locks. But commit > d01079f3d0c0 ("mm/mmap_lock: remove dead code for !CONFIG_TRACING > configurations") changes those lines to original version. I guess > it is introduced by the conflicts fixing on merging. > > Fixes: d01079f3d0c0 ("mm/mmap_lock: remove dead code for !CONFIG_TRACING configurations") > Signed-off-by: Muchun Song <songmuchun@bytedance.com> Reviewed-by: Yang Shi <shy828301@gmail.com> > --- > mm/mmap_lock.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/mmap_lock.c b/mm/mmap_lock.c > index f5852a058ce0..1854850b4b89 100644 > --- a/mm/mmap_lock.c > +++ b/mm/mmap_lock.c > @@ -156,14 +156,14 @@ static inline void put_memcg_path_buf(void) > #define TRACE_MMAP_LOCK_EVENT(type, mm, ...) \ > do { \ > const char *memcg_path; \ > - preempt_disable(); \ > + local_lock(&memcg_paths.lock); \ > memcg_path = get_mm_memcg_path(mm); \ > trace_mmap_lock_##type(mm, \ > memcg_path != NULL ? memcg_path : "", \ > ##__VA_ARGS__); \ > if (likely(memcg_path != NULL)) \ > put_memcg_path_buf(); \ > - preempt_enable(); \ > + local_unlock(&memcg_paths.lock); \ > } while (0) > > #else /* !CONFIG_MEMCG */ > -- > 2.11.0 >
> The commit 832b50725373 ("mm: mmap_lock: use local locks instead of > disabling preemption") fix a bug by using local locks. But commit > d01079f3d0c0 ("mm/mmap_lock: remove dead code for !CONFIG_TRACING > configurations") changes those lines to original version. I guess > it is introduced by the conflicts fixing on merging. > > Fixes: d01079f3d0c0 ("mm/mmap_lock: remove dead code for !CONFIG_TRACING configurations") > Signed-off-by: Muchun Song <songmuchun@bytedance.com> > --- > mm/mmap_lock.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/mmap_lock.c b/mm/mmap_lock.c > index f5852a058ce0..1854850b4b89 100644 > --- a/mm/mmap_lock.c > +++ b/mm/mmap_lock.c > @@ -156,14 +156,14 @@ static inline void put_memcg_path_buf(void) > #define TRACE_MMAP_LOCK_EVENT(type, mm, ...) \ > do { \ > const char *memcg_path; \ > - preempt_disable(); \ > + local_lock(&memcg_paths.lock); \ > memcg_path = get_mm_memcg_path(mm); \ > trace_mmap_lock_##type(mm, \ > memcg_path != NULL ? memcg_path : "", \ > ##__VA_ARGS__); \ > if (likely(memcg_path != NULL)) \ > put_memcg_path_buf(); \ > - preempt_enable(); \ > + local_unlock(&memcg_paths.lock); \ > } while (0) > > #else /* !CONFIG_MEMCG */ Reviewed-by: Pankaj Gupta <pankaj.gupta@ionos.com>
diff --git a/mm/mmap_lock.c b/mm/mmap_lock.c index f5852a058ce0..1854850b4b89 100644 --- a/mm/mmap_lock.c +++ b/mm/mmap_lock.c @@ -156,14 +156,14 @@ static inline void put_memcg_path_buf(void) #define TRACE_MMAP_LOCK_EVENT(type, mm, ...) \ do { \ const char *memcg_path; \ - preempt_disable(); \ + local_lock(&memcg_paths.lock); \ memcg_path = get_mm_memcg_path(mm); \ trace_mmap_lock_##type(mm, \ memcg_path != NULL ? memcg_path : "", \ ##__VA_ARGS__); \ if (likely(memcg_path != NULL)) \ put_memcg_path_buf(); \ - preempt_enable(); \ + local_unlock(&memcg_paths.lock); \ } while (0) #else /* !CONFIG_MEMCG */
The commit 832b50725373 ("mm: mmap_lock: use local locks instead of disabling preemption") fix a bug by using local locks. But commit d01079f3d0c0 ("mm/mmap_lock: remove dead code for !CONFIG_TRACING configurations") changes those lines to original version. I guess it is introduced by the conflicts fixing on merging. Fixes: d01079f3d0c0 ("mm/mmap_lock: remove dead code for !CONFIG_TRACING configurations") Signed-off-by: Muchun Song <songmuchun@bytedance.com> --- mm/mmap_lock.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)