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

From: John Hubbard
Date: Thu Jan 19 2017 - 16:28:40 EST


On 01/19/2017 01:56 AM, Michal Hocko wrote:
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?

Yes, that is good. I like that it helps guide the user. Here's some proposed optional grammar tweaks, but even without these, the above is understandable, so either way, I'm happy now:

* Reclaim modifiers - __GFP_NORETRY and __GFP_NOFAIL are not supported. __GFP_REPEAT
* is supported only for large (>32kB) allocations, and it should be used only if
* kmalloc is preferable to the vmalloc fallback, due to visible performance drawbacks.
*
* Please consult with mm people before using any gfp flags other than GFP_KERNEL.

thanks
john h

--
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>