radix tree test suite: Add config option for map shift
authorRehas Sachdeva <aquannie@gmail.com>
Mon, 13 Feb 2017 21:16:03 +0000 (16:16 -0500)
committerMatthew Wilcox <mawilcox@microsoft.com>
Tue, 14 Feb 2017 02:44:10 +0000 (21:44 -0500)
Add config option "SHIFT=<value>" to Makefile for building test suite
with any value of RADIX_TREE_MAP_SHIFT between 3 and 7 inclusive.

Signed-off-by: Rehas Sachdeva <aquannie@gmail.com>
[mawilcox@microsoft.com: .gitignore, quieten grep, remove on clean]
Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
tools/testing/radix-tree/.gitignore
tools/testing/radix-tree/Makefile
tools/testing/radix-tree/linux/kernel.h
tools/testing/radix-tree/linux/radix-tree.h

index ecea846..f11315b 100644 (file)
@@ -6,11 +6,11 @@ CORE_OFILES := radix-tree.o idr.o linux.o test.o find_bit.o
 OFILES = main.o $(CORE_OFILES) regression1.o regression2.o regression3.o \
         tag_check.o multiorder.o idr-test.o iteration_check.o benchmark.o
 
-ifdef BENCHMARK
-       CFLAGS += -DBENCHMARK=1
+ifndef SHIFT
+       SHIFT=3
 endif
 
-targets: $(TARGETS)
+targets: mapshift $(TARGETS)
 
 main:  $(OFILES)
        $(CC) $(CFLAGS) $(LDFLAGS) $^ -o main
@@ -22,11 +22,11 @@ multiorder: multiorder.o $(CORE_OFILES)
        $(CC) $(CFLAGS) $(LDFLAGS) $^ -o multiorder
 
 clean:
-       $(RM) $(TARGETS) *.o radix-tree.c idr.c
+       $(RM) $(TARGETS) *.o radix-tree.c idr.c generated/map-shift.h
 
 vpath %.c ../../lib
 
-$(OFILES): *.h */*.h \
+$(OFILES): *.h */*.h generated/map-shift.h \
        ../../include/linux/*.h \
        ../../include/asm/*.h \
        ../../../include/linux/radix-tree.h \
@@ -37,3 +37,11 @@ radix-tree.c: ../../../lib/radix-tree.c
 
 idr.c: ../../../lib/idr.c
        sed -e 's/^static //' -e 's/__always_inline //' -e 's/inline //' < $< > $@
+
+.PHONY: mapshift
+
+mapshift:
+       @if ! grep -qw $(SHIFT) generated/map-shift.h; then             \
+               echo "#define RADIX_TREE_MAP_SHIFT $(SHIFT)" >          \
+                               generated/map-shift.h;                  \
+       fi
index 677b8c0..b21a77f 100644 (file)
 #include <linux/log2.h>
 #include "../../../include/linux/kconfig.h"
 
-#ifdef BENCHMARK
-#define RADIX_TREE_MAP_SHIFT   6
-#else
-#define RADIX_TREE_MAP_SHIFT   3
-#endif
-
 #define printk printf
 #define pr_debug printk
 #define pr_cont printk
index ddd135f..bf1bb23 100644 (file)
@@ -1,5 +1,7 @@
 #ifndef _TEST_RADIX_TREE_H
 #define _TEST_RADIX_TREE_H
+
+#include "generated/map-shift.h"
 #include "../../../../include/linux/radix-tree.h"
 
 extern int kmalloc_verbose;