Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-25 Thread Michal Hocko
On Thu 25-10-18 09:18:05, Andrew Morton wrote: > > > On October 25, 2018 9:14:10 AM PDT, Michal Hocko wrote: > > >Andrew. Do you want me to repost the patch or you plan to update the > >changelog yourself? > > Please send a replacement changelog and I'll paste it in? THP allocation mode is qu

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-25 Thread Andrew Morton
On October 25, 2018 9:14:10 AM PDT, Michal Hocko wrote: >Andrew. Do you want me to repost the patch or you plan to update the >changelog yourself? Please send a replacement changelog and I'll paste it in?

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-25 Thread Michal Hocko
On Thu 25-10-18 06:56:37, Vlastimil Babka wrote: > On 10/25/18 1:17 AM, Andrew Morton wrote: > > On Mon, 22 Oct 2018 15:27:54 +0200 Vlastimil Babka wrote: > > > >>> : Moreover the oriinal code allowed to trigger > >>> : WARN_ON_ONCE(policy->mode == MPOL_BIND && (gfp & > >>> __GFP_THISNOD

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-24 Thread Vlastimil Babka
On 10/25/18 1:17 AM, Andrew Morton wrote: > On Mon, 22 Oct 2018 15:27:54 +0200 Vlastimil Babka wrote: > >>> : Moreover the oriinal code allowed to trigger >>> : WARN_ON_ONCE(policy->mode == MPOL_BIND && (gfp & __GFP_THISNODE)); >>> : in policy_node if the requested node (e.g. cpu local one) was

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-24 Thread Andrew Morton
On Mon, 22 Oct 2018 15:27:54 +0200 Vlastimil Babka wrote: > > : Moreover the oriinal code allowed to trigger > > : WARN_ON_ONCE(policy->mode == MPOL_BIND && (gfp & __GFP_THISNODE)); > > : in policy_node if the requested node (e.g. cpu local one) was outside of > > : the mbind nodemask. This is

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-22 Thread Vlastimil Babka
On 10/22/18 3:46 PM, Michal Hocko wrote: > On Mon 22-10-18 15:35:24, Vlastimil Babka wrote: >> On 10/22/18 3:30 PM, Michal Hocko wrote: >>> On Mon 22-10-18 15:15:38, Vlastimil Babka wrote: > Forgot to add. One notable exception would be that the previous code > would allow to hit > WA

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-22 Thread Michal Hocko
On Mon 22-10-18 15:35:24, Vlastimil Babka wrote: > On 10/22/18 3:30 PM, Michal Hocko wrote: > > On Mon 22-10-18 15:15:38, Vlastimil Babka wrote: > >>> Forgot to add. One notable exception would be that the previous code > >>> would allow to hit > >>> WARN_ON_ONCE(policy->mode == MPOL_BIND && (gfp

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-22 Thread Vlastimil Babka
On 10/22/18 3:30 PM, Michal Hocko wrote: > On Mon 22-10-18 15:15:38, Vlastimil Babka wrote: >>> Forgot to add. One notable exception would be that the previous code >>> would allow to hit >>> WARN_ON_ONCE(policy->mode == MPOL_BIND && (gfp & __GFP_THISNODE)); >>> in policy_node if the requested

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-22 Thread Michal Hocko
On Mon 22-10-18 15:15:38, Vlastimil Babka wrote: > On 9/26/18 4:22 PM, Michal Hocko wrote: > > On Wed 26-09-18 16:17:08, Michal Hocko wrote: > >> On Wed 26-09-18 16:30:39, Kirill A. Shutemov wrote: > >>> On Tue, Sep 25, 2018 at 02:03:26PM +0200, Michal Hocko wrote: > diff --git a/mm/huge_memor

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-22 Thread Vlastimil Babka
On 10/19/18 10:06 AM, Michal Hocko wrote: > On Thu 18-10-18 19:11:47, Andrew Morton wrote: >> On Wed, 26 Sep 2018 16:22:27 +0200 Michal Hocko wrote: >> MPOL_PREFERRED is handled by policy_node() before we call __alloc_pages_nodemask. __GFP_THISNODE is applied only when we are not u

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-22 Thread Vlastimil Babka
On 9/26/18 4:22 PM, Michal Hocko wrote: > On Wed 26-09-18 16:17:08, Michal Hocko wrote: >> On Wed 26-09-18 16:30:39, Kirill A. Shutemov wrote: >>> On Tue, Sep 25, 2018 at 02:03:26PM +0200, Michal Hocko wrote: diff --git a/mm/huge_memory.c b/mm/huge_memory.c index c3bc7e9c9a2a..c0bcede3193

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-19 Thread Michal Hocko
On Thu 18-10-18 19:11:47, Andrew Morton wrote: > On Wed, 26 Sep 2018 16:22:27 +0200 Michal Hocko wrote: > > > > MPOL_PREFERRED is handled by policy_node() before we call > > > __alloc_pages_nodemask. > > > __GFP_THISNODE is applied only when we are not using > > > __GFP_DIRECT_RECLAIM which is h

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-18 Thread Andrew Morton
On Wed, 26 Sep 2018 16:22:27 +0200 Michal Hocko wrote: > > MPOL_PREFERRED is handled by policy_node() before we call > > __alloc_pages_nodemask. > > __GFP_THISNODE is applied only when we are not using > > __GFP_DIRECT_RECLAIM which is handled in alloc_hugepage_direct_gfpmask > > now. > > Lastly

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-09 Thread Michal Hocko
On Thu 04-10-18 13:17:52, David Rientjes wrote: > On Wed, 26 Sep 2018, Kirill A. Shutemov wrote: > > > On Tue, Sep 25, 2018 at 02:03:26PM +0200, Michal Hocko wrote: > > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > > > index c3bc7e9c9a2a..c0bcede31930 100644 > > > --- a/mm/huge_memory.c > >

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-04 Thread Zi Yan
On 4 Oct 2018, at 16:17, David Rientjes wrote: > On Wed, 26 Sep 2018, Kirill A. Shutemov wrote: > >> On Tue, Sep 25, 2018 at 02:03:26PM +0200, Michal Hocko wrote: >>> diff --git a/mm/huge_memory.c b/mm/huge_memory.c >>> index c3bc7e9c9a2a..c0bcede31930 100644 >>> --- a/mm/huge_memory.c >>> +++ b/m

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-10-04 Thread David Rientjes
On Wed, 26 Sep 2018, Kirill A. Shutemov wrote: > On Tue, Sep 25, 2018 at 02:03:26PM +0200, Michal Hocko wrote: > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > > index c3bc7e9c9a2a..c0bcede31930 100644 > > --- a/mm/huge_memory.c > > +++ b/mm/huge_memory.c > > @@ -629,21 +629,40 @@ static vm_

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-09-26 Thread Michal Hocko
On Wed 26-09-18 16:17:08, Michal Hocko wrote: > On Wed 26-09-18 16:30:39, Kirill A. Shutemov wrote: > > On Tue, Sep 25, 2018 at 02:03:26PM +0200, Michal Hocko wrote: > > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > > > index c3bc7e9c9a2a..c0bcede31930 100644 > > > --- a/mm/huge_memory.c > >

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-09-26 Thread Michal Hocko
On Wed 26-09-18 16:30:39, Kirill A. Shutemov wrote: > On Tue, Sep 25, 2018 at 02:03:26PM +0200, Michal Hocko wrote: > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > > index c3bc7e9c9a2a..c0bcede31930 100644 > > --- a/mm/huge_memory.c > > +++ b/mm/huge_memory.c > > @@ -629,21 +629,40 @@ static

Re: [PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-09-26 Thread Kirill A. Shutemov
On Tue, Sep 25, 2018 at 02:03:26PM +0200, Michal Hocko wrote: > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index c3bc7e9c9a2a..c0bcede31930 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -629,21 +629,40 @@ static vm_fault_t __do_huge_pmd_anonymous_page(struct > vm_fault *vmf

[PATCH 2/2] mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask

2018-09-25 Thread Michal Hocko
From: Michal Hocko THP allocation mode is quite complex and it depends on the defrag mode. This complexity is hidden in alloc_hugepage_direct_gfpmask from a large part currently. The NUMA special casing (namely __GFP_THISNODE) is however independent and placed in alloc_pages_vma currently. This b