Commit 74579d8d authored by Lorenzo Stoakes's avatar Lorenzo Stoakes Committed by Andrew Morton
Browse files

tools: separate out shared radix-tree components

The core components contained within the radix-tree tests which provide
shims for kernel headers and access to the maple tree are useful for
testing other things, so separate them out and make the radix tree tests
dependent on the shared components.

This lays the groundwork for us to add VMA tests of the newly introduced
vma.c file.

Link: https://lkml.kernel.org/r/1ee720c265808168e0d75608e687607d77c36719.1722251717.git.lorenzo.stoakes@oracle.com


Signed-off-by: default avatarLorenzo Stoakes <lorenzo.stoakes@oracle.com>
Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
Reviewed-by: default avatarLiam R. Howlett <Liam.Howlett@oracle.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Brendan Higgins <brendanhiggins@google.com>
Cc: Christian Brauner <brauner@kernel.org>
Cc: David Gow <davidgow@google.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Kees Cook <kees@kernel.org>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Rae Moar <rmoar@google.com>
Cc: SeongJae Park <sj@kernel.org>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Pengfei Xu <pengfei.xu@intel.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 802443a4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
generated/autoconf.h
generated/bit-length.h
generated/map-shift.h
idr.c
+12 −60
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0

CFLAGS += -I. -I../../include -I../../../lib -g -Og -Wall \
	  -D_LGPL_SOURCE -fsanitize=address -fsanitize=undefined
LDFLAGS += -fsanitize=address -fsanitize=undefined
LDLIBS+= -lpthread -lurcu
TARGETS = main idr-test multiorder xarray maple
LIBS := slab.o find_bit.o bitmap.o hweight.o vsprintf.o
CORE_OFILES := xarray.o radix-tree.o idr.o linux.o test.o maple.o $(LIBS)
OFILES = main.o $(CORE_OFILES) regression1.o regression2.o regression3.o \
	 regression4.o tag_check.o multiorder.o idr-test.o iteration_check.o \
	 iteration_check_2.o benchmark.o

ifndef SHIFT
	SHIFT=3
endif
.PHONY: clean

ifeq ($(BUILD), 32)
	CFLAGS += -m32
	LDFLAGS += -m32
LONG_BIT := 32
endif

ifndef LONG_BIT
LONG_BIT := $(shell getconf LONG_BIT)
endif
TARGETS = main idr-test multiorder xarray maple
CORE_OFILES = $(SHARED_OFILES) xarray.o maple.o test.o
OFILES = main.o $(CORE_OFILES) regression1.o regression2.o \
	 regression3.o regression4.o tag_check.o multiorder.o idr-test.o \
	iteration_check.o iteration_check_2.o benchmark.o

targets: generated/map-shift.h generated/bit-length.h $(TARGETS)

include ../shared/shared.mk

main:	$(OFILES)

idr-test.o: ../../../lib/test_ida.c
idr-test: idr-test.o $(CORE_OFILES)

xarray: $(CORE_OFILES)
xarray: $(CORE_OFILES) xarray.o

maple: $(CORE_OFILES)
maple: $(CORE_OFILES) maple.o

multiorder: multiorder.o $(CORE_OFILES)

clean:
	$(RM) $(TARGETS) *.o radix-tree.c idr.c generated/map-shift.h generated/bit-length.h

vpath %.c ../../lib

$(OFILES): Makefile *.h */*.h generated/map-shift.h generated/bit-length.h \
	../../include/linux/*.h \
	../../include/asm/*.h \
	../../../include/linux/xarray.h \
	../../../include/linux/maple_tree.h \
	../../../include/linux/radix-tree.h \
	../../../lib/radix-tree.h \
	../../../include/linux/idr.h

radix-tree.c: ../../../lib/radix-tree.c
	sed -e 's/^static //' -e 's/__always_inline //' -e 's/inline //' < $< > $@

idr.c: ../../../lib/idr.c
	sed -e 's/^static //' -e 's/__always_inline //' -e 's/inline //' < $< > $@

xarray.o: ../../../lib/xarray.c ../../../lib/test_xarray.c

maple.o: ../../../lib/maple_tree.c ../../../lib/test_maple_tree.c

generated/map-shift.h:
	@if ! grep -qws $(SHIFT) generated/map-shift.h; then		\
		echo "#define XA_CHUNK_SHIFT $(SHIFT)" >		\
				generated/map-shift.h;			\
	fi

generated/bit-length.h: FORCE
	@if ! grep -qws CONFIG_$(LONG_BIT)BIT generated/bit-length.h; then   \
		echo "Generating $@";                                        \
		echo "#define CONFIG_$(LONG_BIT)BIT 1" > $@;                 \
	fi
	$(RM) $(TARGETS) *.o radix-tree.c idr.c generated/*

FORCE: ;
$(OFILES): $(SHARED_DEPS) *.h
+1 −9
Original line number Diff line number Diff line
@@ -4,17 +4,9 @@
 * Copyright (c) 2018 Matthew Wilcox <willy@infradead.org>
 */

#define XA_DEBUG
#include "xarray-shared.h"
#include "test.h"

#define module_init(x)
#define module_exit(x)
#define MODULE_AUTHOR(x)
#define MODULE_DESCRIPTION(X)
#define MODULE_LICENSE(x)
#define dump_stack()	assert(0)

#include "../../../lib/xarray.c"
#undef XA_DEBUG
#include "../../../lib/test_xarray.c"

Loading