Re: [PATCH -mm] slab: fix cpuset check in fallback_alloc

2014-08-14 Thread Li Zefan
On 2014/8/12 5:05, David Rientjes wrote: > On Mon, 11 Aug 2014, Vladimir Davydov wrote: > >>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c >>> --- a/mm/page_alloc.c >>> +++ b/mm/page_alloc.c >>> @@ -1963,7 +1963,7 @@ zonelist_scan: >>> >>> /* >>> * Scan zonelist, looking for a zone wi

Re: [PATCH -mm] slab: fix cpuset check in fallback_alloc

2014-08-11 Thread David Rientjes
On Mon, 11 Aug 2014, Vladimir Davydov wrote: > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > > --- a/mm/page_alloc.c > > +++ b/mm/page_alloc.c > > @@ -1963,7 +1963,7 @@ zonelist_scan: > > > > /* > > * Scan zonelist, looking for a zone with enough free. > > -* See also __cpuset_

Re: [PATCH -mm] slab: fix cpuset check in fallback_alloc

2014-08-11 Thread Vladimir Davydov
On Mon, Aug 11, 2014 at 04:37:15AM -0700, David Rientjes wrote: > On Mon, 11 Aug 2014, Vladimir Davydov wrote: > > > > diff --git a/mm/slab.c b/mm/slab.c > > > --- a/mm/slab.c > > > +++ b/mm/slab.c > > > @@ -3047,16 +3047,19 @@ retry: > > >* from existing per node queues. > > >*/ > > > f

Re: [PATCH -mm] slab: fix cpuset check in fallback_alloc

2014-08-11 Thread David Rientjes
On Mon, 11 Aug 2014, Vladimir Davydov wrote: > > diff --git a/mm/slab.c b/mm/slab.c > > --- a/mm/slab.c > > +++ b/mm/slab.c > > @@ -3047,16 +3047,19 @@ retry: > > * from existing per node queues. > > */ > > for_each_zone_zonelist(zone, z, zonelist, high_zoneidx) { > > - nid

Re: [PATCH -mm] slab: fix cpuset check in fallback_alloc

2014-08-11 Thread Vladimir Davydov
On Sun, Aug 10, 2014 at 03:43:21PM -0700, David Rientjes wrote: > On Sun, 10 Aug 2014, Vladimir Davydov wrote: > > > fallback_alloc is called on kmalloc if the preferred node doesn't have > > free or partial slabs and there's no pages on the node's free list > > (GFP_THISNODE allocations fail). Be

Re: [PATCH -mm] slab: fix cpuset check in fallback_alloc

2014-08-10 Thread David Rientjes
On Sun, 10 Aug 2014, Vladimir Davydov wrote: > fallback_alloc is called on kmalloc if the preferred node doesn't have > free or partial slabs and there's no pages on the node's free list > (GFP_THISNODE allocations fail). Before invoking the reclaimer it tries > to locate a free or partial slab on

[PATCH -mm] slab: fix cpuset check in fallback_alloc

2014-08-10 Thread Vladimir Davydov
fallback_alloc is called on kmalloc if the preferred node doesn't have free or partial slabs and there's no pages on the node's free list (GFP_THISNODE allocations fail). Before invoking the reclaimer it tries to locate a free or partial slab on other allowed nodes' lists. While iterating over the