Messages in this thread | | | From | Shakeel Butt <> | Date | Tue, 8 Jan 2019 09:24:18 -0800 | Subject | Re: [PATCH] memcg: schedule high reclaim for remote memcgs on high_work |
| |
On Tue, Jan 8, 2019 at 6:59 AM Michal Hocko <mhocko@kernel.org> wrote: > > On Wed 02-01-19 17:56:38, Shakeel Butt wrote: > > If a memcg is over high limit, memory reclaim is scheduled to run on > > return-to-userland. However it is assumed that the memcg is the current > > process's memcg. With remote memcg charging for kmem or swapping in a > > page charged to remote memcg, current process can trigger reclaim on > > remote memcg. So, schduling reclaim on return-to-userland for remote > > memcgs will ignore the high reclaim altogether. So, punt the high > > reclaim of remote memcgs to high_work. > > Have you seen this happening in real life workloads?
No, just during code review.
> And is this offloading what we really want to do?
That's the question I am brainstorming nowadays. More generally how memcg-oom-kill should work in the remote memcg charging case.
> I mean it is clearly the current > task that has triggered the remote charge so why should we offload that > work to a system? Is there any reason we cannot reclaim on the remote > memcg from the return-to-userland path? >
The only reason I did this was the code was much simpler but I see that the current is charging the given memcg and maybe even reclaiming, so, why not do the high reclaim as well. I will update the patch.
thanks, Shakeel
| |