You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2024/04/08 06:11:39 UTC
(nuttx-apps) 02/05: benchmarks:Move the performance tools to benchmark.
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git
commit 270fa07cbd31c5b400d7196d8c00ec28446e5214
Author: chenrun1 <ch...@xiaomi.com>
AuthorDate: Mon Nov 6 21:39:42 2023 +0800
benchmarks:Move the performance tools to benchmark.
1.dhrystone
2.fio
3.coremark-pro
Signed-off-by: chenrun1 <ch...@xiaomi.com>
---
benchmarks/coremark-pro/Kconfig | 81 ++++++++++++++++++++++
benchmarks/coremark-pro/Make.defs | 23 +++++++
benchmarks/coremark-pro/Makefile | 140 ++++++++++++++++++++++++++++++++++++++
benchmarks/dhrystone/Kconfig | 28 ++++++++
benchmarks/dhrystone/Make.defs | 23 +++++++
benchmarks/dhrystone/Makefile | 36 ++++++++++
benchmarks/fio/Kconfig | 24 +++++++
benchmarks/fio/Make.defs | 23 +++++++
benchmarks/fio/Makefile | 62 +++++++++++++++++
benchmarks/iozone/.gitignore | 2 +-
10 files changed, 441 insertions(+), 1 deletion(-)
diff --git a/benchmarks/coremark-pro/Kconfig b/benchmarks/coremark-pro/Kconfig
new file mode 100644
index 000000000..1b5cb8719
--- /dev/null
+++ b/benchmarks/coremark-pro/Kconfig
@@ -0,0 +1,81 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+menuconfig BENCHMARK_COREMARK_PRO
+ bool "Coremark Pro Benchmark"
+ default n
+ depends on LIBC_FLOATINGPOINT
+
+if BENCHMARK_COREMARK_PRO
+
+config BENCHMARK_COREMARK_PRO_STACKSIZE
+ int "Coremark Pro stack size"
+ default 131072
+
+config BENCHMARK_COREMARK_PRO_PRIORITY
+ int "Coremark Pro priority"
+ default 100
+
+config BENCHMARK_COREMARK_PRO_USE_SINGLE_CONTEXT
+ bool "use single context"
+ default n
+
+config BENCHMARK_COREMARK_PRO_SMP
+ bool "Relevant configurations in case of SMP"
+ default n
+ depends on SMP && !BENCHMARK_COREMARK_PRO_USE_SINGLE_CONTEXT
+
+config BENCHMARK_COREMARK_PRO_64BIT
+ bool "Running on 64-bit operating systems"
+ default n
+
+config BENCHMARK_COREMARK_PRO_USE_FP64
+ bool "USE FP64 Data for Test"
+ default n
+
+config BENCHMARK_COREMARK_PRO_CORE_TEST
+ bool "Core Test"
+ default n
+
+config BENCHMARK_COREMARK_PRO_CJPEG_TEST
+ bool "cjpeg-rose7-preset"
+ default n
+ ---help---
+ Before using this case, place the files in coremark-pro/benchmarks/libbmp
+ and coremark-pro/benchmarks/libjpeg in /data/libbmp and /data/libjpeg
+ respectively
+
+config BENCHMARK_COREMARK_PRO_LINEAR_ALG_MID_TEST
+ bool "Linear_alg_mid TEST"
+ default n
+
+config BENCHMARK_COREMARK_PRO_SHA_TEST
+ bool "SHA Test"
+ default n
+
+config BENCHMARK_COREMARK_PRO_ZIP_TEST
+ bool "Zip Test"
+ depends on LIB_ZLIB
+ default n
+
+choice
+ prompt "Coremark Pro FP Test Case configuration"
+ default BENCHMARK_COREMARK_PRO_RADIX_TEST
+
+config BENCHMARK_COREMARK_PRO_RADIX_TEST
+ bool "Radix Test"
+
+config BENCHMARK_COREMARK_PRO_LOOPS_ALL_MID_TEST
+ bool "Loops-all-mid test"
+
+config BENCHMARK_COREMARK_PRO_NNET_TEST
+ bool "Nnet Test"
+
+config BENCHMARK_COREMARK_PRO_PARSER_125K
+ bool "Parser 125K Test"
+
+endchoice
+
+endif
diff --git a/benchmarks/coremark-pro/Make.defs b/benchmarks/coremark-pro/Make.defs
new file mode 100644
index 000000000..2a195adaf
--- /dev/null
+++ b/benchmarks/coremark-pro/Make.defs
@@ -0,0 +1,23 @@
+############################################################################
+# apps/benchmarks/coremark-pro/Make.defs
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership. The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO),)
+CONFIGURED_APPS += $(APPDIR)/benchmarks/coremark-pro
+endif
diff --git a/benchmarks/coremark-pro/Makefile b/benchmarks/coremark-pro/Makefile
new file mode 100644
index 000000000..dd4f8ebe5
--- /dev/null
+++ b/benchmarks/coremark-pro/Makefile
@@ -0,0 +1,140 @@
+############################################################################
+# apps/benchmarks/coremark-pro/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership. The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+PRIORITY = $(CONFIG_BENCHMARK_COREMARK_PRO_PRIORITY)
+STACKSIZE = $(CONFIG_BENCHMARK_COREMARK_PRO_STACKSIZE)
+MODULE = $(CONFIG_BENCHMARK_COREMARK_PRO)
+
+CFLAGS += ${INCDIR_PREFIX}$(APPDIR)/benchmarks/coremark-pro/coremark-pro/mith/include
+CFLAGS += ${INCDIR_PREFIX}$(APPDIR)/benchmarks/coremark-pro/coremark-pro/mith/al/include
+CFLAGS += -DNDEBUG -DHOST_EXAMPLE_CODE=1 -DHAVE_SYS_STAT_H=1 \
+ -DGCC_INLINE_MACRO=1 -DMAX_CONTEXTS=100 -DEE_SIZEOF_INT=4 \
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_USE_SINGLE_CONTEXT),)
+ CFLAGS += -DUSE_SINGLE_CONTEXT=1 -DHAVE_PTHREAD=0 -DUSE_NATIVE_PTHREAD=0
+else
+ CFLAGS += -DUSE_SINGLE_CONTEXT=0 -DHAVE_PTHREAD=1 -DUSE_NATIVE_PTHREAD=1
+endif
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_SMP),)
+ CFLAGS += -DHAVE_PTHREAD_SETAFFINITY_NP=1 -DHAVE_PTHREAD_SELF=1
+endif
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_64BIT),)
+ CFLAGS += -DEE_SIZEOF_PTR=8 -DEE_PTR_ALIGN=8 -DEE_SIZEOF_LONG=8
+endif
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_USE_FP64),)
+ CFLAGS += -DUSE_FP64=1
+ CSRCS += coremark-pro/benchmarks/fp/linpack/ref/inputs_f64.c
+else
+ CFLAGS += -DUSE_FP32=1
+ CSRCS += coremark-pro/benchmarks/fp/linpack/ref/inputs_f32.c
+endif
+
+CSRCS += coremark-pro/mith/src/md5.c
+CSRCS += coremark-pro/mith/src/mith_lib.c
+CSRCS += coremark-pro/mith/src/mith_workload.c
+CSRCS += coremark-pro/mith/src/th_bignum.c
+CSRCS += coremark-pro/mith/src/th_encode.c
+CSRCS += coremark-pro/mith/src/th_lib.c
+CSRCS += coremark-pro/mith/src/th_math.c
+CSRCS += coremark-pro/mith/src/th_rand.c
+
+CSRCS += $(wildcard coremark-pro/mith/al/src/*.c)
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_CORE_TEST),)
+ CSRCS += $(wildcard coremark-pro/benchmarks/core/*.c)
+ MAINSRC += coremark-pro/workloads/core/core.c
+ PROGNAME += core
+endif
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_CJPEG_TEST),)
+ CSRCS += $(wildcard coremark-pro/benchmarks/consumer_v2/cjpeg/*.c)
+ CSRCS += $(wildcard coremark-pro/benchmarks/consumer_v2/cjpeg/data/Rose256_bmp.c)
+ MAINSRC += coremark-pro/workloads/cjpeg-rose7-preset/cjpeg-rose7-preset.c
+ PROGNAME += cjpeg_rose7_preset
+endif
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_SHA_TEST),)
+ CSRCS += $(wildcard coremark-pro/benchmarks/darkmark/sha/*.c)
+ MAINSRC += coremark-pro/workloads/sha-test/sha-test.c
+ PROGNAME += sha_test
+endif
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_ZIP_TEST),)
+ CFLAGS += ${INCDIR_PREFIX}$(APPDIR)/system/zlib/zlib
+ CFLAGS += -Dgzclose_r=coremark_zip_gzclose_r -Dgzclose_w=coremark_zip_gzclose_w
+ CSRCS += coremark-pro/benchmarks/darkmark/zip/zip_darkmark.c
+ MAINSRC += coremark-pro/workloads/zip-test/zip-test.c
+ PROGNAME += zip_test
+endif
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_LINEAR_ALG_MID_TEST),)
+ CSRCS += coremark-pro/benchmarks/fp/linpack/linpack.c
+ MAINSRC += coremark-pro/workloads/linear_alg-mid-100x100-sp/linear_alg-mid-100x100-sp.c
+ PROGNAME += linear_alg_mid_100x100_sp
+endif
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_RADIX_TEST),)
+ ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_USE_FP64),)
+ CSRCS += $(wildcard coremark-pro/benchmarks/fp/fft_radix2/ref/*.c)
+ else
+ CSRCS += $(wildcard coremark-pro/benchmarks/fp/fft_radix2/ref-sp/*.c)
+ endif
+
+ CSRCS += coremark-pro/benchmarks/fp/fft_radix2/fft_radix2.c
+ MAINSRC += coremark-pro/workloads/radix2-big-64k/radix2-big-64k.c
+ PROGNAME += radix2_big_64k
+endif
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_LOOPS_ALL_MID_TEST),)
+ ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_USE_FP64),)
+ CSRCS += $(wildcard coremark-pro/benchmarks/fp/loops/ref/*.c)
+ else
+ CSRCS += $(wildcard coremark-pro/benchmarks/fp/loops/ref-sp/*.c)
+ endif
+
+ CSRCS += coremark-pro/benchmarks/fp/loops/loops.c
+ MAINSRC += coremark-pro/workloads/loops-all-mid-10k-sp/loops-all-mid-10k-sp.c
+ PROGNAME += loops_all_mid_10k_sp
+endif
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_NNET_TEST),)
+ ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_USE_FP64),)
+ CSRCS += $(wildcard coremark-pro/benchmarks/fp/nnet/ref/*.c)
+ else
+ CSRCS += $(wildcard coremark-pro/benchmarks/fp/nnet/ref-sp/*.c)
+ endif
+
+ CSRCS += $(wildcard coremark-pro/benchmarks/fp/nnet/*.c)
+ MAINSRC += coremark-pro/workloads/nnet_test/nnet_test.c
+ PROGNAME += nnet_test
+endif
+
+ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_PARSER_125K),)
+ CSRCS += $(wildcard coremark-pro/benchmarks/darkmark/parser/*.c)
+ MAINSRC += coremark-pro/workloads/parser-125k/parser-125k.c
+ PROGNAME += parser_125k
+endif
+
+include $(APPDIR)/Application.mk
diff --git a/benchmarks/dhrystone/Kconfig b/benchmarks/dhrystone/Kconfig
new file mode 100644
index 000000000..92965c3b5
--- /dev/null
+++ b/benchmarks/dhrystone/Kconfig
@@ -0,0 +1,28 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+config BENCHMARK_DHRYSTONE
+ tristate "dhrystone benchmark"
+ default n
+ ---help---
+ Dhrystone is one of the most common benchmark programs
+ for measuring the computing power of processors and is commonly
+ used to measure the performance of integer computing on processors.
+
+if BENCHMARK_DHRYSTONE
+
+config BENCHMARK_DHRYSTONE_PROGNAME
+ string "Program Name"
+ default "dhrystone"
+
+config BENCHMARK_DHRYSTONE_STACKSIZE
+ int "utils dhrystone stack size"
+ default DEFAULT_TASK_STACKSIZE
+
+config BENCHMARK_DHRYSTONE_PRIORITY
+ int "Task PRIORITY"
+ default 100
+
+endif
diff --git a/benchmarks/dhrystone/Make.defs b/benchmarks/dhrystone/Make.defs
new file mode 100644
index 000000000..1c8666c5a
--- /dev/null
+++ b/benchmarks/dhrystone/Make.defs
@@ -0,0 +1,23 @@
+############################################################################
+# apps/benchmarks/dhrystone/Make.defs
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership. The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+ifneq ($(CONFIG_BENCHMARK_DHRYSTONE),)
+CONFIGURED_APPS += $(APPDIR)/benchmarks/dhrystone
+endif
diff --git a/benchmarks/dhrystone/Makefile b/benchmarks/dhrystone/Makefile
new file mode 100644
index 000000000..197302f35
--- /dev/null
+++ b/benchmarks/dhrystone/Makefile
@@ -0,0 +1,36 @@
+############################################################################
+# apps/benchmarks/dhrystone/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership. The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+#dhrystone
+
+PROGNAME = $(CONFIG_BENCHMARK_DHRYSTONE_PROGNAME)
+PRIORITY = $(CONFIG_BENCHMARK_DHRYSTONE_PRIORITY)
+STACKSIZE = $(CONFIG_BENCHMARK_DHRYSTONE_STACKSIZE)
+MODULE = $(CONFIG_BENCHMARK_DHRYSTONE)
+
+CFLAGS += -DMSC_CLOCK
+
+CSRCS += dhrystone/v2.1/dhry_2.c
+
+MAINSRC = dhrystone/v2.2/dry.c
+
+include $(APPDIR)/Application.mk
diff --git a/benchmarks/fio/Kconfig b/benchmarks/fio/Kconfig
new file mode 100644
index 000000000..298962a6c
--- /dev/null
+++ b/benchmarks/fio/Kconfig
@@ -0,0 +1,24 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+config BENCHMARK_FIO
+ tristate "Flexible I/O Tester"
+ default n
+ depends on LIBC_MODLIB && LIBC_DLFCN
+ ---help---
+ https://github.com/axboe/fio Fio spawns a number of threads or processes
+ doing a particular type of I/O action as specified by the user.
+
+if BENCHMARK_FIO
+
+config BENCHMARK_FIO_PRIORITY
+ int "fio task priority"
+ default 100
+
+config BENCHMARK_FIO_STACKSIZE
+ int "fio stack size"
+ default 65536
+
+endif
diff --git a/benchmarks/fio/Make.defs b/benchmarks/fio/Make.defs
new file mode 100644
index 000000000..c9d694193
--- /dev/null
+++ b/benchmarks/fio/Make.defs
@@ -0,0 +1,23 @@
+############################################################################
+# apps/benchmarks/fio/Make.defs
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership. The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+ifneq ($(CONFIG_BENCHMARK_FIO),)
+CONFIGURED_APPS += $(APPDIR)/benchmarks/fio
+endif
diff --git a/benchmarks/fio/Makefile b/benchmarks/fio/Makefile
new file mode 100644
index 000000000..a23544a85
--- /dev/null
+++ b/benchmarks/fio/Makefile
@@ -0,0 +1,62 @@
+############################################################################
+# apps/benchmarks/fio/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership. The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+PROGNAME = fio
+PRIORITY = $(CONFIG_BENCHMARK_FIO_PRIORITY)
+STACKSIZE = $(CONFIG_BENCHMARK_FIO_STACKSIZE)
+MODULE = $(CONFIG_BENCHMARK_FIO)
+MAINSRC = $(CURDIR)/fio/fio.c
+
+CFLAGS += -DCONFIG_GETTIMEOFDAY -DCONFIG_CLOCK_GETTIME -DCONFIG_HAVE_GETTID
+CFLAGS += -DCONFIG_STATIC_ASSERT -DCONFIG_LITTLE_ENDIAN -DCONFIG_POSIX_FALLOCATE
+CFLAGS += -DCONFIG_HAVE_BOOL -DFIO_INTERNAL -DCONFIG_NO_SHM
+CFLAGS += -DFIO_VERSION='"1.2.0"' -DFIO_USE_GENERIC_SWAP
+CFLAGS += -DFIO_USE_GENERIC_INIT_RANDOM_STATE -DFIO_USE_GENERIC_BDEV_SIZE
+
+CFLAGS += -DBLOOM_SIZE=1024*1024 -DBUF_SIZE=512*1024
+CFLAGS += -DMAX_POOLS=4 -DINITIAL_POOLS=2 -DINITIAL_SIZE=512*1024
+CFLAGS += -DCONFIG_SEED_BUCKETS=8 -DBITS_PER_LONG=32
+CFLAGS += -Ifio -Ifio/arch -Ifio/crc -Ifio/os
+CFLAGS += -DXXH32_digest=fio_XXH32_digest -DXXH32_update=fio_XXH32_update -DXXH32=fio_XXH32 \
+ -Dparse_options=fio_parse_options -Dparse_option=fio_parse_option
+
+ifneq ($(CONFIG_ARCH_ARM),)
+CFLAGS += -D__ARM_ARCH_6__
+endif
+
+CSRCS += $(wildcard fio/lib/*.c)
+CSRCS += $(wildcard fio/crc/*.c)
+
+CSRCS += fio/gettime.c fio/ioengines.c fio/init.c fio/stat.c fio/log.c fio/time.c fio/filesetup.c \
+ fio/eta.c fio/verify.c fio/memory.c fio/io_u.c fio/parse.c fio/fio_sem.c fio/rwlock.c \
+ fio/pshared.c fio/options.c fio/smalloc.c fio/filehash.c fio/profile.c fio/debug.c \
+ fio/server.c fio/client.c fio/iolog.c fio/backend.c fio/libfio.c fio/flow.c fio/cconv.c \
+ fio/gettime-thread.c fio/helpers.c fio/json.c fio/idletime.c fio/td_error.c fio/zbd.c \
+ fio/profiles/tiobench.c fio/profiles/act.c fio/io_u_queue.c fio/filelock.c fio/steadystate.c \
+ fio/workqueue.c fio/rate-submit.c fio/optgroup.c fio/helper_thread.c fio/zone-dist.c \
+ fio/dedupe.c
+
+CSRCS += fio/engines/exec.c fio/engines/cpu.c fio/engines/sync.c fio/engines/ftruncate.c \
+ fio/engines/falloc.c fio/engines/fileoperations.c fio/engines/mmap.c \
+ fio/engines/null.c fio/engines/net.c
+
+include $(APPDIR)/Application.mk
diff --git a/benchmarks/iozone/.gitignore b/benchmarks/iozone/.gitignore
index b3d5f6bd9..35b179466 100644
--- a/benchmarks/iozone/.gitignore
+++ b/benchmarks/iozone/.gitignore
@@ -1 +1 @@
-iozone/
+/iozone