Re: [PATCH 0/3] mm, thp: remove duplication and fix locking issues in swapin

From: Ebru Akagunduz
Date: Sat Jun 11 2016 - 15:21:16 EST


On Fri, May 27, 2016 at 03:12:47PM +0200, Michal Hocko wrote:
> On Mon 23-05-16 20:29:29, Ebru Akagunduz wrote:
> > On Mon, May 23, 2016 at 08:14:08PM +0300, Ebru Akagunduz wrote:
> > > This patch series removes duplication of included header
> > > and fixes locking inconsistency in khugepaged swapin
> > >
> > > Ebru Akagunduz (3):
> > > mm, thp: remove duplication of included header
> > > mm, thp: fix possible circular locking dependency caused by
> > > sum_vm_event()
> > > mm, thp: make swapin readahead under down_read of mmap_sem
> > >
> > > mm/huge_memory.c | 39 ++++++++++++++++++++++++++++++---------
> > > 1 file changed, 30 insertions(+), 9 deletions(-)
> > >
> >
> > Hi Andrew,
> >
> > I prepared this patch series to solve rest of
> > problems of khugepaged swapin.
> >
> > I have seen the discussion:
> > http://marc.info/?l=linux-mm&m=146373278424897&w=2
> >
> > In my opinion, checking whether kswapd is wake up
> > could be good.
>
> This is still not enough because it doesn't help memcg loads. kswapd
> might be sleeping but the memcg reclaim can still be active. So I think
> we really need to do ~__GFP_DIRECT_RECLAIM thing.
>
> > It's up to you. I can take an action according to community's decision.
>
> IMHO we should drop the current ALLOCSTALL heuristic and replace it with
> ~__GFP_DIRECT_RECLAIM.
Actually, I don't lean towards to touch do_swap_page giving gfp parameter.
do_swap_page is also used by do_page_fault, it can cause many side effect
that I can't see.

I've just sent a patch series for converting from optimistic to conservative and take
back allocstall. Maybe that way can be easier to be approved and less problemitical.

Thanks.