On 2023/3/6 21:49, David Hildenbrand wrote: > On 06.03.23 03:49, Haifeng Xu wrote: >> mem_cgroup_oom_synchronize() has checked whether current memcg_in_oom is >> set or not, so remove the check in handle_mm_fault(). > > "mem_cgroup_oom_synchronize() will returned immediately if memcg_in_oom is not set, so remove the check from handle_mm_fault()". > > However, that requires now always an indirect function call -- do we care about dropping that optimization? > > If memcg_in_oom is set, we will check it twice, one is from handle_mm_fault(), the other is from mem_cgroup_oom_synchronize(). That seems a bit redundant. if memcg_in_oom is not set, mem_cgroup_oom_synchronize() returns directly. Though it's an indirect function call, but the time spent can be negligible compare to the whole mm user falut preocess. And that won't cause stack overflow error. Thanks.