aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/netdev-times.py
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2024-06-26 17:29:24 +0200
committerAndrew Morton <akpm@linux-foundation.org>2024-07-04 18:05:57 -0700
commit2a22b773b15f5aa97c029acad79bda11ce5f2b4d (patch)
tree74e0d41bb17f63affc2201d6d8016e5d79a2d0fe /tools/perf/scripts/python/netdev-times.py
parentmm: memcg: put struct task_struct::in_user_fault under CONFIG_MEMCG_V1 (diff)
downloadlinux-2a22b773b15f5aa97c029acad79bda11ce5f2b4d.tar.gz
linux-2a22b773b15f5aa97c029acad79bda11ce5f2b4d.zip
memcg: mm_update_next_owner: kill the "retry" logic
Add the new helper, try_to_set_owner(), which tries to update mm->owner once we see c->mm == mm. This way mm_update_next_owner() doesn't need to restart the list_for_each_entry/for_each_process loops from the very beginning if it races with exit/exec, it can just continue. Unlike the current code, try_to_set_owner() re-checks tsk->mm == mm before it drops tasklist_lock, so it doesn't need get/put_task_struct(). Link: https://lkml.kernel.org/r/20240626152924.GA17933@redhat.com Signed-off-by: Oleg Nesterov <oleg@redhat.com> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Christian Brauner <brauner@kernel.org> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: Jens Axboe <axboe@kernel.dk> Cc: Jinliang Zheng <alexjlzheng@tencent.com> Cc: Mateusz Guzik <mjguzik@gmail.com> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Tycho Andersen <tandersen@netflix.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'tools/perf/scripts/python/netdev-times.py')
0 files changed, 0 insertions, 0 deletions