| From: Daniel Vetter <daniel.vetter@ffwll.ch> |
| Subject: mm/mempool: use might_alloc() |
| Date: Sun, 5 Jun 2022 17:25:39 +0200 |
| |
| mempool are generally used for GFP_NOIO, so this wont benefit all that |
| much because might_alloc currently only checks GFP_NOFS. But it does |
| validate against mmu notifier pte zapping, some might catch some drivers |
| doing really silly things, plus it's a bit more meaningful in what we're |
| checking for here. |
| |
| Link: https://lkml.kernel.org/r/20220605152539.3196045-3-daniel.vetter@ffwll.ch |
| Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> |
| Reviewed-by: Vlastimil Babka <vbabka@suse.cz> |
| Cc: Christoph Lameter <cl@linux.com> |
| Cc: David Rientjes <rientjes@google.com> |
| Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> |
| Cc: Pekka Enberg <penberg@kernel.org> |
| Cc: Roman Gushchin <roman.gushchin@linux.dev> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| mm/mempool.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/mm/mempool.c~mm-mempool-use-might_alloc |
| +++ a/mm/mempool.c |
| @@ -379,7 +379,7 @@ void *mempool_alloc(mempool_t *pool, gfp |
| gfp_t gfp_temp; |
| |
| VM_WARN_ON_ONCE(gfp_mask & __GFP_ZERO); |
| - might_sleep_if(gfp_mask & __GFP_DIRECT_RECLAIM); |
| + might_alloc(gfp_mask); |
| |
| gfp_mask |= __GFP_NOMEMALLOC; /* don't allocate emergency reserves */ |
| gfp_mask |= __GFP_NORETRY; /* don't loop in __alloc_pages */ |
| _ |