[PATCH 03/62] radix tree test suite: Check reclaim bit

From: Matthew Wilcox
Date: Wed Nov 22 2017 - 16:07:59 EST


From: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx>

In order to test the memory allocation failure paths, the radix tree
test suite fails allocations if __GFP_NOWARN is set. That happens to work
for the radix tree implementation, but the semantics we really want are
that we want to fail allocations which are not GFP_KERNEL. Do this
by failing allocations which don't have the DIRECT_RECLAIM bit set.

Signed-off-by: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx>
---
tools/testing/radix-tree/linux.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/radix-tree/linux.c b/tools/testing/radix-tree/linux.c
index 6903ccf35595..f7f3caed3650 100644
--- a/tools/testing/radix-tree/linux.c
+++ b/tools/testing/radix-tree/linux.c
@@ -29,7 +29,7 @@ void *kmem_cache_alloc(struct kmem_cache *cachep, int flags)
{
struct radix_tree_node *node;

- if (flags & __GFP_NOWARN)
+ if (!(flags & __GFP_DIRECT_RECLAIM))
return NULL;

pthread_mutex_lock(&cachep->lock);
--
2.15.0