Messages in this thread | | | From | Yosry Ahmed <> | Date | Fri, 1 Apr 2022 02:23:33 -0700 | Subject | Re: [PATCH resend] memcg: introduce per-memcg reclaim interface |
| |
On Fri, Apr 1, 2022 at 1:39 AM Vaibhav Jain <vaibhav@linux.ibm.com> wrote: > > > Yosry Ahmed <yosryahmed@google.com> writes: > > From: Shakeel Butt <shakeelb@google.com> > > > > Introduce an memcg interface to trigger memory reclaim on a memory cgroup. > <snip> > > > + > > + while (nr_reclaimed < nr_to_reclaim) { > > + unsigned long reclaimed; > > + > > + if (signal_pending(current)) > > + break; > > + > > + reclaimed = try_to_free_mem_cgroup_pages(memcg, > > + nr_to_reclaim - nr_reclaimed, > > + GFP_KERNEL, true); > > + > > + if (!reclaimed && !nr_retries--) > > + break; > > + > > + nr_reclaimed += reclaimed; > > I think there should be a cond_resched() in this loop before > try_to_free_mem_cgroup_pages() to have better chances of reclaim > succeding early. > Thanks for taking the time to look at this!
I believe this loop is modeled after the loop in memory_high_write() for the memory.high interface. Is there a reason why it should be needed here but not there?
> <snip> > > -- > Cheers > ~ Vaibhav
| |