dma_map_benchmark is a standalone developer tool rather than an
automated selftest. It has no pass/fail criteria, expects manual
invocation, and is built as a normal userspace binary.Move it to
tools/dma/ and add a minimal, the original selftest.Makefile entry
is removed to avoid duplication.
Signed-off-by: Qinxin Xia <xiaqinxin@huawei.com>
---
tools/Makefile | 13 +++++++------
tools/dma/Makefile | 15 +++++++++++++++
tools/{testing/selftests => }/dma/config | 0
.../selftests => }/dma/dma_map_benchmark.c | 0
tools/testing/selftests/dma/Makefile | 7 -------
5 files changed, 22 insertions(+), 13 deletions(-)
create mode 100644 tools/dma/Makefile
rename tools/{testing/selftests => }/dma/config (100%)
rename tools/{testing/selftests => }/dma/dma_map_benchmark.c (100%)
delete mode 100644 tools/testing/selftests/dma/Makefile
diff --git a/tools/Makefile b/tools/Makefile
index c31cbbd12c45..72dc0e936632 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -14,6 +14,7 @@ help:
@echo ' counter - counter tools'
@echo ' cpupower - a tool for all things x86 CPU power'
@echo ' debugging - tools for debugging'
+ @echo ' dma - dma map benchmark'
@echo ' firewire - the userspace part of nosy, an IEEE-1394 traffic sniffer'
@echo ' firmware - Firmware tools'
@echo ' freefall - laptop accelerometer program for disk protection'
@@ -69,7 +70,7 @@ acpi: FORCE
cpupower: FORCE
$(call descend,power/$@)
-counter firewire hv guest bootconfig spi usb virtio mm bpf iio gpio objtool leds wmi firmware debugging tracing: FORCE
+counter dma firewire hv guest bootconfig spi usb virtio mm bpf iio gpio objtool leds wmi firmware debugging tracing: FORCE
$(call descend,$@)
bpf/%: FORCE
@@ -122,7 +123,7 @@ kvm_stat: FORCE
ynl: FORCE
$(call descend,net/ynl)
-all: acpi counter cpupower gpio hv firewire \
+all: acpi counter cpupower dma gpio hv firewire \
perf selftests bootconfig spi turbostat usb \
virtio mm bpf x86_energy_perf_policy \
tmon freefall iio objtool kvm_stat wmi \
@@ -134,7 +135,7 @@ acpi_install:
cpupower_install:
$(call descend,power/$(@:_install=),install)
-counter_install firewire_install gpio_install hv_install iio_install perf_install bootconfig_install spi_install usb_install virtio_install mm_install bpf_install objtool_install wmi_install debugging_install tracing_install:
+counter_install dma_install firewire_install gpio_install hv_install iio_install perf_install bootconfig_install spi_install usb_install virtio_install mm_install bpf_install objtool_install wmi_install debugging_install tracing_install:
$(call descend,$(@:_install=),install)
selftests_install:
@@ -164,7 +165,7 @@ kvm_stat_install:
ynl_install:
$(call descend,net/$(@:_install=),install)
-install: acpi_install counter_install cpupower_install gpio_install \
+install: acpi_install counter_install cpupower_install dma_install gpio_install \
hv_install firewire_install iio_install \
perf_install selftests_install turbostat_install usb_install \
virtio_install mm_install bpf_install x86_energy_perf_policy_install \
@@ -178,7 +179,7 @@ acpi_clean:
cpupower_clean:
$(call descend,power/cpupower,clean)
-counter_clean hv_clean firewire_clean bootconfig_clean spi_clean usb_clean virtio_clean mm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean firmware_clean debugging_clean tracing_clean:
+counter_clean dma_clean hv_clean firewire_clean bootconfig_clean spi_clean usb_clean virtio_clean mm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean firmware_clean debugging_clean tracing_clean:
$(call descend,$(@:_clean=),clean)
libapi_clean:
@@ -224,7 +225,7 @@ build_clean:
ynl_clean:
$(call descend,net/$(@:_clean=),clean)
-clean: acpi_clean counter_clean cpupower_clean hv_clean firewire_clean \
+clean: acpi_clean counter_clean cpupower_clean dma_clean hv_clean firewire_clean \
perf_clean selftests_clean turbostat_clean bootconfig_clean spi_clean usb_clean virtio_clean \
mm_clean bpf_clean iio_clean x86_energy_perf_policy_clean tmon_clean \
freefall_clean build_clean libbpf_clean libsubcmd_clean \
diff --git a/tools/dma/Makefile b/tools/dma/Makefile
new file mode 100644
index 000000000000..6282eb41e51a
--- /dev/null
+++ b/tools/dma/Makefile
@@ -0,0 +1,15 @@
+# SPDX-License-Identifier: GPL-2.0
+bindir ?= /usr/bin
+
+CFLAGS += -I../../include -I../../usr/include
+
+all:
+ $(CC) $(CFLAGS) dma_map_benchmark.c -o dma_map_benchmark
+
+install: all
+ install -D dma_map_benchmark $(bindir)/bin/dma_map_benchmark
+
+clean:
+ rm -f dma_map_benchmark
+
+.PHONY: all install clean
diff --git a/tools/testing/selftests/dma/config b/tools/dma/config
similarity index 100%
rename from tools/testing/selftests/dma/config
rename to tools/dma/config
diff --git a/tools/testing/selftests/dma/dma_map_benchmark.c b/tools/dma/dma_map_benchmark.c
similarity index 100%
rename from tools/testing/selftests/dma/dma_map_benchmark.c
rename to tools/dma/dma_map_benchmark.c
diff --git a/tools/testing/selftests/dma/Makefile b/tools/testing/selftests/dma/Makefile
deleted file mode 100644
index cd8c5ece1cba..000000000000
--- a/tools/testing/selftests/dma/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-CFLAGS += -I../../../../usr/include/
-CFLAGS += -I../../../../include/
-
-TEST_GEN_PROGS := dma_map_benchmark
-
-include ../lib.mk
--
2.33.0
On Thu, Jul 24, 2025 at 4:56 PM Qinxin Xia <xiaqinxin@huawei.com> wrote: > > dma_map_benchmark is a standalone developer tool rather than an > automated selftest. It has no pass/fail criteria, expects manual > invocation, and is built as a normal userspace binary.Move it to > tools/dma/ and add a minimal, the original selftest.Makefile entry > is removed to avoid duplication. > > Signed-off-by: Qinxin Xia <xiaqinxin@huawei.com> > --- > tools/Makefile | 13 +++++++------ > tools/dma/Makefile | 15 +++++++++++++++ > tools/{testing/selftests => }/dma/config | 0 > .../selftests => }/dma/dma_map_benchmark.c | 0 > tools/testing/selftests/dma/Makefile | 7 ------- > 5 files changed, 22 insertions(+), 13 deletions(-) > create mode 100644 tools/dma/Makefile > rename tools/{testing/selftests => }/dma/config (100%) > rename tools/{testing/selftests => }/dma/dma_map_benchmark.c (100%) > delete mode 100644 tools/testing/selftests/dma/Makefile > > diff --git a/tools/Makefile b/tools/Makefile > index c31cbbd12c45..72dc0e936632 100644 > --- a/tools/Makefile > +++ b/tools/Makefile > @@ -14,6 +14,7 @@ help: > @echo ' counter - counter tools' > @echo ' cpupower - a tool for all things x86 CPU power' > @echo ' debugging - tools for debugging' > + @echo ' dma - dma map benchmark' Please make it more general. Right now we only have the DMA map benchmark, but we might add more DMA mapping tools in the future. For examples: tools for dma mapping > @echo ' firewire - the userspace part of nosy, an IEEE-1394 traffic sniffer' > @echo ' firmware - Firmware tools' > @echo ' freefall - laptop accelerometer program for disk protection' > @@ -69,7 +70,7 @@ acpi: FORCE > cpupower: FORCE > $(call descend,power/$@) > > -counter firewire hv guest bootconfig spi usb virtio mm bpf iio gpio objtool leds wmi firmware debugging tracing: FORCE > +counter dma firewire hv guest bootconfig spi usb virtio mm bpf iio gpio objtool leds wmi firmware debugging tracing: FORCE > $(call descend,$@) > > bpf/%: FORCE > @@ -122,7 +123,7 @@ kvm_stat: FORCE > ynl: FORCE > $(call descend,net/ynl) > > -all: acpi counter cpupower gpio hv firewire \ > +all: acpi counter cpupower dma gpio hv firewire \ > perf selftests bootconfig spi turbostat usb \ > virtio mm bpf x86_energy_perf_policy \ > tmon freefall iio objtool kvm_stat wmi \ > @@ -134,7 +135,7 @@ acpi_install: > cpupower_install: > $(call descend,power/$(@:_install=),install) > > -counter_install firewire_install gpio_install hv_install iio_install perf_install bootconfig_install spi_install usb_install virtio_install mm_install bpf_install objtool_install wmi_install debugging_install tracing_install: > +counter_install dma_install firewire_install gpio_install hv_install iio_install perf_install bootconfig_install spi_install usb_install virtio_install mm_install bpf_install objtool_install wmi_install debugging_install tracing_install: > $(call descend,$(@:_install=),install) > > selftests_install: > @@ -164,7 +165,7 @@ kvm_stat_install: > ynl_install: > $(call descend,net/$(@:_install=),install) > > -install: acpi_install counter_install cpupower_install gpio_install \ > +install: acpi_install counter_install cpupower_install dma_install gpio_install \ > hv_install firewire_install iio_install \ > perf_install selftests_install turbostat_install usb_install \ > virtio_install mm_install bpf_install x86_energy_perf_policy_install \ > @@ -178,7 +179,7 @@ acpi_clean: > cpupower_clean: > $(call descend,power/cpupower,clean) > > -counter_clean hv_clean firewire_clean bootconfig_clean spi_clean usb_clean virtio_clean mm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean firmware_clean debugging_clean tracing_clean: > +counter_clean dma_clean hv_clean firewire_clean bootconfig_clean spi_clean usb_clean virtio_clean mm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean firmware_clean debugging_clean tracing_clean: > $(call descend,$(@:_clean=),clean) > > libapi_clean: > @@ -224,7 +225,7 @@ build_clean: > ynl_clean: > $(call descend,net/$(@:_clean=),clean) > > -clean: acpi_clean counter_clean cpupower_clean hv_clean firewire_clean \ > +clean: acpi_clean counter_clean cpupower_clean dma_clean hv_clean firewire_clean \ > perf_clean selftests_clean turbostat_clean bootconfig_clean spi_clean usb_clean virtio_clean \ > mm_clean bpf_clean iio_clean x86_energy_perf_policy_clean tmon_clean \ > freefall_clean build_clean libbpf_clean libsubcmd_clean \ > diff --git a/tools/dma/Makefile b/tools/dma/Makefile > new file mode 100644 > index 000000000000..6282eb41e51a > --- /dev/null > +++ b/tools/dma/Makefile > @@ -0,0 +1,15 @@ > +# SPDX-License-Identifier: GPL-2.0 > +bindir ?= /usr/bin > + > +CFLAGS += -I../../include -I../../usr/include > + > +all: > + $(CC) $(CFLAGS) dma_map_benchmark.c -o dma_map_benchmark > + > +install: all > + install -D dma_map_benchmark $(bindir)/bin/dma_map_benchmark > + > +clean: > + rm -f dma_map_benchmark Please make the Makefile more general. Right now I only have dma_map_benchmark, but the Makefile shouldn't be tailored specifically for just that one. dma_map_benchmark is one of those targets. And I feel $(bindir)/bin/dma_map_benchmark is an incorrect folder. Thanks Barry
On 2025/7/24 17:25:16, Barry Song <21cnbao@gmail.com> wrote: > On Thu, Jul 24, 2025 at 4:56 PM Qinxin Xia <xiaqinxin@huawei.com> wrote: >> >> dma_map_benchmark is a standalone developer tool rather than an >> automated selftest. It has no pass/fail criteria, expects manual >> invocation, and is built as a normal userspace binary.Move it to >> tools/dma/ and add a minimal, the original selftest.Makefile entry >> is removed to avoid duplication. >> >> Signed-off-by: Qinxin Xia <xiaqinxin@huawei.com> >> --- >> tools/Makefile | 13 +++++++------ >> tools/dma/Makefile | 15 +++++++++++++++ >> tools/{testing/selftests => }/dma/config | 0 >> .../selftests => }/dma/dma_map_benchmark.c | 0 >> tools/testing/selftests/dma/Makefile | 7 ------- >> 5 files changed, 22 insertions(+), 13 deletions(-) >> create mode 100644 tools/dma/Makefile >> rename tools/{testing/selftests => }/dma/config (100%) >> rename tools/{testing/selftests => }/dma/dma_map_benchmark.c (100%) >> delete mode 100644 tools/testing/selftests/dma/Makefile >> >> diff --git a/tools/Makefile b/tools/Makefile >> index c31cbbd12c45..72dc0e936632 100644 >> --- a/tools/Makefile >> +++ b/tools/Makefile >> @@ -14,6 +14,7 @@ help: >> @echo ' counter - counter tools' >> @echo ' cpupower - a tool for all things x86 CPU power' >> @echo ' debugging - tools for debugging' >> + @echo ' dma - dma map benchmark' > > Please make it more general. Right now we only have the DMA map > benchmark, but we might add more DMA mapping tools in the future. > For examples: tools for dma mapping > ok,I will fix in next version.>> @echo ' firewire - the userspace part of nosy, an IEEE-1394 traffic sniffer' >> @echo ' firmware - Firmware tools' >> @echo ' freefall - laptop accelerometer program for disk protection' >> @@ -69,7 +70,7 @@ acpi: FORCE >> cpupower: FORCE >> $(call descend,power/$@) >> >> -counter firewire hv guest bootconfig spi usb virtio mm bpf iio gpio objtool leds wmi firmware debugging tracing: FORCE >> +counter dma firewire hv guest bootconfig spi usb virtio mm bpf iio gpio objtool leds wmi firmware debugging tracing: FORCE >> $(call descend,$@) >> >> bpf/%: FORCE >> @@ -122,7 +123,7 @@ kvm_stat: FORCE >> ynl: FORCE >> $(call descend,net/ynl) >> >> -all: acpi counter cpupower gpio hv firewire \ >> +all: acpi counter cpupower dma gpio hv firewire \ >> perf selftests bootconfig spi turbostat usb \ >> virtio mm bpf x86_energy_perf_policy \ >> tmon freefall iio objtool kvm_stat wmi \ >> @@ -134,7 +135,7 @@ acpi_install: >> cpupower_install: >> $(call descend,power/$(@:_install=),install) >> >> -counter_install firewire_install gpio_install hv_install iio_install perf_install bootconfig_install spi_install usb_install virtio_install mm_install bpf_install objtool_install wmi_install debugging_install tracing_install: >> +counter_install dma_install firewire_install gpio_install hv_install iio_install perf_install bootconfig_install spi_install usb_install virtio_install mm_install bpf_install objtool_install wmi_install debugging_install tracing_install: >> $(call descend,$(@:_install=),install) >> >> selftests_install: >> @@ -164,7 +165,7 @@ kvm_stat_install: >> ynl_install: >> $(call descend,net/$(@:_install=),install) >> >> -install: acpi_install counter_install cpupower_install gpio_install \ >> +install: acpi_install counter_install cpupower_install dma_install gpio_install \ >> hv_install firewire_install iio_install \ >> perf_install selftests_install turbostat_install usb_install \ >> virtio_install mm_install bpf_install x86_energy_perf_policy_install \ >> @@ -178,7 +179,7 @@ acpi_clean: >> cpupower_clean: >> $(call descend,power/cpupower,clean) >> >> -counter_clean hv_clean firewire_clean bootconfig_clean spi_clean usb_clean virtio_clean mm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean firmware_clean debugging_clean tracing_clean: >> +counter_clean dma_clean hv_clean firewire_clean bootconfig_clean spi_clean usb_clean virtio_clean mm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean firmware_clean debugging_clean tracing_clean: >> $(call descend,$(@:_clean=),clean) >> >> libapi_clean: >> @@ -224,7 +225,7 @@ build_clean: >> ynl_clean: >> $(call descend,net/$(@:_clean=),clean) >> >> -clean: acpi_clean counter_clean cpupower_clean hv_clean firewire_clean \ >> +clean: acpi_clean counter_clean cpupower_clean dma_clean hv_clean firewire_clean \ >> perf_clean selftests_clean turbostat_clean bootconfig_clean spi_clean usb_clean virtio_clean \ >> mm_clean bpf_clean iio_clean x86_energy_perf_policy_clean tmon_clean \ >> freefall_clean build_clean libbpf_clean libsubcmd_clean \ >> diff --git a/tools/dma/Makefile b/tools/dma/Makefile >> new file mode 100644 >> index 000000000000..6282eb41e51a >> --- /dev/null >> +++ b/tools/dma/Makefile >> @@ -0,0 +1,15 @@ >> +# SPDX-License-Identifier: GPL-2.0 >> +bindir ?= /usr/bin >> + >> +CFLAGS += -I../../include -I../../usr/include >> + >> +all: >> + $(CC) $(CFLAGS) dma_map_benchmark.c -o dma_map_benchmark >> + >> +install: all >> + install -D dma_map_benchmark $(bindir)/bin/dma_map_benchmark >> + >> +clean: >> + rm -f dma_map_benchmark > > Please make the Makefile more general. Right now I only have > dma_map_benchmark, but the Makefile shouldn't be tailored specifically > for just that one. dma_map_benchmark is one of those targets. > > And I feel $(bindir)/bin/dma_map_benchmark is an incorrect folder. > > Thanks > Barry Ok, in next version.I will make it more general.
© 2016 - 2025 Red Hat, Inc.