Messages in this thread | | | Subject | Re: [PATCH RFC] mm/memcontrol: reclaim severe usage over high limit in get_user_pages loop | From | Konstantin Khlebnikov <> | Date | Tue, 6 Aug 2019 10:19:49 +0300 |
| |
On 8/6/19 10:07 AM, Michal Hocko wrote: > On Fri 02-08-19 13:44:38, Michal Hocko wrote: > [...] >>>> diff --git a/mm/memcontrol.c b/mm/memcontrol.c >>>> index ba9138a4a1de..53a35c526e43 100644 >>>> --- a/mm/memcontrol.c >>>> +++ b/mm/memcontrol.c >>>> @@ -2429,8 +2429,12 @@ static int try_charge(struct mem_cgroup *memcg, gfp_t gfp_mask, >>>> schedule_work(&memcg->high_work); >>>> break; >>>> } >>>> - current->memcg_nr_pages_over_high += batch; >>>> - set_notify_resume(current); >>>> + if (gfpflags_allow_blocking(gfp_mask)) { >>>> + reclaim_high(memcg, nr_pages, GFP_KERNEL); >> >> ups, this should be s@GFP_KERNEL@gfp_mask@ >> >>>> + } else { >>>> + current->memcg_nr_pages_over_high += batch; >>>> + set_notify_resume(current); >>>> + } >>>> break; >>>> } >>>> } while ((memcg = parent_mem_cgroup(memcg))); >>>> > > Should I send an official patch for this? >
I prefer to keep it as is while we have no better solution.
| |