On Wed 24-05-17 15:30:17, Igor Mammedov wrote:
> On Wed, 24 May 2017 14:24:11 +0200
> Michal Hocko <[email protected]> wrote:
> 
> [...]
> > index facc20a3f962..ec7d6ae01c96 100644
> > --- a/Documentation/admin-guide/kernel-parameters.txt
> > +++ b/Documentation/admin-guide/kernel-parameters.txt
> > @@ -2246,8 +2246,11 @@
> [...]
> > +                   movable. This means that the memory of such nodes
> > +                   will be usable only for movable allocations which
> > +                   rules out almost all kernel allocations. Use with
> > +                   caution!
> maybe dumb question but, is it really true that kernel won't ever
> do kernel allocations from movable zone?
> 
> looking at kmalloc(slab): we can get here:
> 
> get_page_from_freelist() ->
>     rmqueue() ->
>         __rmqueue() ->
>             __rmqueue_fallback() ->
>                 find_suitable_fallback()
> 
> and it might return movable fallback and page could be stolen from there.

No, you are mixing movable/unmovable pageblocks and movable zones.
Movable zone basically works the same way as the Highmem zone. Have a
look at gfp_zone() and high_zoneidx usage in get_page_from_freelist
-- 
Michal Hocko
SUSE Labs

Reply via email to