Re: [PATCH 1/6] mm: introduce kv[mz]alloc helpers

From: Michal Hocko
Date: Thu Jan 19 2017 - 04:57:32 EST


On Thu 19-01-17 01:09:35, John Hubbard wrote:
[...]
> So that leaves us with maybe this for documentation?
>
> * Reclaim modifiers - __GFP_NORETRY and __GFP_NOFAIL should not be passed in.
> * Passing in __GFP_REPEAT is supported, and will cause the following behavior:
> * for larger (>64KB) allocations, the first part (kmalloc) will do some
> * retrying, before falling back to vmalloc.

I am worried this is just too vague. It doesn't really help user to
decide whether "do some retrying" is what he really want's or needs.

So I would rather see the following.
"
* Reclaim modifiers - __GFP_NORETRY and __GFP_NOFAIL are not supported. __GFP_REPEAT
* is supported only for large (>32kB) allocations and it should be used when using
* kmalloc is preferable because vmalloc fallback has visible performance drawbacks.
"

I would also add
"
Any use of gfp flags outside of GFP_KERNEL should be consulted with mm people.
"

Does it sound any better?
--
Michal Hocko
SUSE Labs