summaryrefslogtreecommitdiff
path: root/benchmarks/filebench
diff options
context:
space:
mode:
authorasau <asau@pkgsrc.org>2012-07-02 17:43:16 +0000
committerasau <asau@pkgsrc.org>2012-07-02 17:43:16 +0000
commit3aaa1fc604e50971f4a8e9b4d237880868533c77 (patch)
tree60e74216c1e28345899495cadbc41472c1858acf /benchmarks/filebench
parent0f0446f428cfe0db544eb9fad14ecc3604d6bd23 (diff)
downloadpkgsrc-3aaa1fc604e50971f4a8e9b4d237880868533c77.tar.gz
Import Filebench 1.4.9.1 as benchmarks/filebench.
Filebench is a file system and storage benchmark that allows to generate a high variety of workloads. It employs extensive Workload Model Language (WML) for detailed workload specification. Features * Extensive Workload Model Language (WML) for workload specification * Includes popular pre-defined workloads: webserver, fileserver, varmail, etc. * Reports throughput and latency histograms
Diffstat (limited to 'benchmarks/filebench')
-rw-r--r--benchmarks/filebench/DESCR10
-rw-r--r--benchmarks/filebench/Makefile26
-rw-r--r--benchmarks/filebench/PLIST48
-rw-r--r--benchmarks/filebench/distinfo10
-rw-r--r--benchmarks/filebench/patches/patch-configure.ac41
-rw-r--r--benchmarks/filebench/patches/patch-filebench.h18
-rw-r--r--benchmarks/filebench/patches/patch-flowop.c22
-rw-r--r--benchmarks/filebench/patches/patch-misc.c20
-rw-r--r--benchmarks/filebench/patches/patch-procflow.c17
9 files changed, 212 insertions, 0 deletions
diff --git a/benchmarks/filebench/DESCR b/benchmarks/filebench/DESCR
new file mode 100644
index 00000000000..2f967f3f72e
--- /dev/null
+++ b/benchmarks/filebench/DESCR
@@ -0,0 +1,10 @@
+Filebench is a file system and storage benchmark that allows
+to generate a high variety of workloads. It employs extensive
+Workload Model Language (WML) for detailed workload specification.
+
+Features
+
+ * Extensive Workload Model Language (WML) for workload specification
+ * Includes popular pre-defined workloads: webserver, fileserver,
+ varmail, etc.
+ * Reports throughput and latency histograms
diff --git a/benchmarks/filebench/Makefile b/benchmarks/filebench/Makefile
new file mode 100644
index 00000000000..76b04242362
--- /dev/null
+++ b/benchmarks/filebench/Makefile
@@ -0,0 +1,26 @@
+# $NetBSD: Makefile,v 1.1.1.1 2012/07/02 17:43:16 asau Exp $
+
+DISTNAME= filebench-1.4.9.1
+CATEGORIES= benchmarks
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=filebench/}
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://filebench.sf.net/
+COMMENT= File system and storage benchmark
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+GNU_CONFIGURE= yes
+
+USE_TOOLS= lex
+USE_TOOLS+= aclocal autoconf automake
+
+pre-configure:
+ cd $(WRKSRC) && aclocal && automake && autoconf
+
+post-install:
+ cd $(WRKSRC) && $(INSTALL_DATA) README $(DESTDIR)$(PREFIX)/share/$(PKGBASE)/
+
+.include "../../devel/libtecla/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/benchmarks/filebench/PLIST b/benchmarks/filebench/PLIST
new file mode 100644
index 00000000000..7cc0077d077
--- /dev/null
+++ b/benchmarks/filebench/PLIST
@@ -0,0 +1,48 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2012/07/02 17:43:16 asau Exp $
+bin/filebench
+share/filebench/README
+share/filebench/workloads/compflow_demo.f
+share/filebench/workloads/copyfiles.f
+share/filebench/workloads/createfiles.f
+share/filebench/workloads/filemicro_create.f
+share/filebench/workloads/filemicro_createfiles.f
+share/filebench/workloads/filemicro_createrand.f
+share/filebench/workloads/filemicro_delete.f
+share/filebench/workloads/filemicro_rread.f
+share/filebench/workloads/filemicro_rwrite.f
+share/filebench/workloads/filemicro_rwritedsync.f
+share/filebench/workloads/filemicro_rwritefsync.f
+share/filebench/workloads/filemicro_seqread.f
+share/filebench/workloads/filemicro_seqwrite.f
+share/filebench/workloads/filemicro_seqwriterand.f
+share/filebench/workloads/filemicro_seqwriterandvargam.f
+share/filebench/workloads/filemicro_seqwriterandvartab.f
+share/filebench/workloads/filemicro_statfile.f
+share/filebench/workloads/filemicro_writefsync.f
+share/filebench/workloads/fileserver.f
+share/filebench/workloads/fivestreamread.f
+share/filebench/workloads/fivestreamreaddirect.f
+share/filebench/workloads/fivestreamwrite.f
+share/filebench/workloads/fivestreamwritedirect.f
+share/filebench/workloads/listdirs.f
+share/filebench/workloads/makedirs.f
+share/filebench/workloads/mongo.f
+share/filebench/workloads/netsfs.f
+share/filebench/workloads/networkfs.f
+share/filebench/workloads/oltp.f
+share/filebench/workloads/openfiles.f
+share/filebench/workloads/randomfileaccess.f
+share/filebench/workloads/randomread.f
+share/filebench/workloads/randomrw.f
+share/filebench/workloads/randomwrite.f
+share/filebench/workloads/ratelimcopyfiles.f
+share/filebench/workloads/removedirs.f
+share/filebench/workloads/singlestreamread.f
+share/filebench/workloads/singlestreamreaddirect.f
+share/filebench/workloads/singlestreamwrite.f
+share/filebench/workloads/singlestreamwritedirect.f
+share/filebench/workloads/tpcso.f
+share/filebench/workloads/varmail.f
+share/filebench/workloads/videoserver.f
+share/filebench/workloads/webproxy.f
+share/filebench/workloads/webserver.f
diff --git a/benchmarks/filebench/distinfo b/benchmarks/filebench/distinfo
new file mode 100644
index 00000000000..411548c812e
--- /dev/null
+++ b/benchmarks/filebench/distinfo
@@ -0,0 +1,10 @@
+$NetBSD: distinfo,v 1.1.1.1 2012/07/02 17:43:16 asau Exp $
+
+SHA1 (filebench-1.4.9.1.tar.gz) = 9082a4fcc97a0d803d3e8f8db7120883b5a97ab5
+RMD160 (filebench-1.4.9.1.tar.gz) = 0621ce5646ad82c2d2e2cc1d7a128f204e5ebabd
+Size (filebench-1.4.9.1.tar.gz) = 349535 bytes
+SHA1 (patch-configure.ac) = 28fb061651367e6d5e8d734bbd6dfbde2f7e4adc
+SHA1 (patch-filebench.h) = 1fbaa89823aac087f573cb20e46b3552f1adfbb3
+SHA1 (patch-flowop.c) = 3e7a578fb7bfb8b36b33a75646b8320fe00a4ff2
+SHA1 (patch-misc.c) = 79f83a6baaf3e2274b201bd970daf997b1daeeec
+SHA1 (patch-procflow.c) = 6c5a96d4ef1a54691a90e6f318a63c83fb314160
diff --git a/benchmarks/filebench/patches/patch-configure.ac b/benchmarks/filebench/patches/patch-configure.ac
new file mode 100644
index 00000000000..46e5bdd4c8a
--- /dev/null
+++ b/benchmarks/filebench/patches/patch-configure.ac
@@ -0,0 +1,41 @@
+$NetBSD: patch-configure.ac,v 1.1.1.1 2012/07/02 17:43:16 asau Exp $
+
+--- configure.ac.orig 2011-09-06 17:17:45.000000000 +0000
++++ configure.ac
+@@ -31,7 +31,7 @@ AC_CHECK_HEADERS([netdb.h])
+ AC_CHECK_HEADERS([netinet/in.h])
+ AC_CHECK_HEADERS([stddef.h])
+ AC_CHECK_HEADERS([math.h])
+-if test "$ac_cv_header_math_h" == no
++if test "$ac_cv_header_math_h" = no
+ then
+ AC_MSG_ERROR([The math.h header is missing! If you use OpenIndiana b148, install "header-math" package.])
+ fi
+@@ -212,6 +212,9 @@ AC_CHECK_FILE(
+ [AC_DEFINE(HAVE_PROC_STAT, 1, [Checking if you have /proc/stat])]
+ )
+
++AC_CHECK_HEADERS([asm/unistd.h],
++ [AC_DEFINE(HAVE_ASM_UNISTD_H, 1, [Checking if you have <asm/unistd.h>])])
++
+ # this checks if stat file is present ins /proc/<pid> directory. This file is
+ # used to get per thread per operation CPU usage statistics on Linux
+ # distributions. To facilitate this check,we are checking if stat file exists
+@@ -469,6 +472,17 @@ AC_TRY_COMPILE([
+ ], AC_MSG_RESULT(no)
+ )
+
++AC_MSG_CHECKING(gettid)
++AC_TRY_COMPILE([
++#include <asm/unistd.h>
++],
++[ int nr_gettid = __NR_gettid;
++],[
++ AC_DEFINE(HAVE_GETTID,1,[ Define if have gettid])
++ AC_MSG_RESULT(yes)
++ ], AC_MSG_RESULT(no)
++)
++
+ ####
+ #### Check for structure members
+ ####
diff --git a/benchmarks/filebench/patches/patch-filebench.h b/benchmarks/filebench/patches/patch-filebench.h
new file mode 100644
index 00000000000..168de8075dc
--- /dev/null
+++ b/benchmarks/filebench/patches/patch-filebench.h
@@ -0,0 +1,18 @@
+$NetBSD: patch-filebench.h,v 1.1.1.1 2012/07/02 17:43:16 asau Exp $
+
+--- filebench.h.orig 2011-09-06 17:17:45.000000000 +0000
++++ filebench.h
+@@ -160,10 +160,12 @@ void filebench_plugin_funcvecinit(void);
+ #define FILEBENCH_RANDMAX FILEBENCH_RANDMAX32
+ #endif
+
+-#ifdef HAVE_PROC_PID_STAT
++#if defined(HAVE_GETTID)
++#if defined(HAVE_ASM_UNISTD_H)
+ #include <asm/unistd.h>
+ #define gettid() syscall(__NR_gettid)
+ #endif
++#endif
+
+ #ifndef HAVE_SIGIGNORE
+ /* No sigignore on FreeBSD */
diff --git a/benchmarks/filebench/patches/patch-flowop.c b/benchmarks/filebench/patches/patch-flowop.c
new file mode 100644
index 00000000000..a2d50d32649
--- /dev/null
+++ b/benchmarks/filebench/patches/patch-flowop.c
@@ -0,0 +1,22 @@
+$NetBSD: patch-flowop.c,v 1.1.1.1 2012/07/02 17:43:16 asau Exp $
+
+--- flowop.c.orig 2011-09-06 17:17:45.000000000 +0000
++++ flowop.c
+@@ -164,7 +164,7 @@ flowop_beginop(threadflow_t *threadflow,
+ threadflow->tf_susage.pr_stime);
+ }
+ }
+-#elif defined(HAVE_PROC_PID_STAT)
++#elif HAVE_PROC_PID_STAT && HAVE_GETTID
+ int tid;
+ char fname[128], dummy_str[64];
+ unsigned long utime, stime;
+@@ -263,7 +263,7 @@ flowop_endop(threadflow_t *threadflow, f
+ TIMESPEC_TO_HRTIME(threadflow->tf_susage.pr_slptime,
+ threadflow->tf_eusage.pr_slptime);
+ }
+-#elif defined(HAVE_PROC_PID_STAT)
++#elif HAVE_PROC_PID_STAT && HAVE_GETTID
+ int tid;
+ char fname[128], dummy_str[64];
+ unsigned long utime, stime;
diff --git a/benchmarks/filebench/patches/patch-misc.c b/benchmarks/filebench/patches/patch-misc.c
new file mode 100644
index 00000000000..b20a2aaa51b
--- /dev/null
+++ b/benchmarks/filebench/patches/patch-misc.c
@@ -0,0 +1,20 @@
+$NetBSD: patch-misc.c,v 1.1.1.1 2012/07/02 17:43:16 asau Exp $
+
+--- misc.c.orig 2011-09-06 17:17:45.000000000 +0000
++++ misc.c
+@@ -312,13 +312,13 @@ fatal:
+
+ } else if (filebench_shm->shm_debug_level > LOG_INFO) {
+ if (level < LOG_INFO)
+-#ifdef HAVE_PROC_PID_STAT
++#if HAVE_GETTID
+ (void) fprintf(stderr, "%5d: ", (int)gettid());
+ #else
+ (void) fprintf(stderr, "%5d: ", (int)my_pid);
+ #endif
+ else
+-#ifdef HAVE_PROC_PID_STAT
++#if HAVE_GETTID
+ (void) fprintf(stdout, "%5d: ", (int)gettid());
+ #else
+ (void) fprintf(stdout, "%5d: ", (int)my_pid);
diff --git a/benchmarks/filebench/patches/patch-procflow.c b/benchmarks/filebench/patches/patch-procflow.c
new file mode 100644
index 00000000000..48a29542665
--- /dev/null
+++ b/benchmarks/filebench/patches/patch-procflow.c
@@ -0,0 +1,17 @@
+$NetBSD: patch-procflow.c,v 1.1.1.1 2012/07/02 17:43:16 asau Exp $
+
+--- procflow.c.orig 2011-09-06 17:17:45.000000000 +0000
++++ procflow.c
+@@ -402,7 +402,11 @@ procflow_createnwait(void *unused)
+ }
+ #else /* HAVE_WAITID */
+ /* child did not exit, but got a signal, so just continue waiting */
+- if (WIFSTOPPED(status) || WIFCONTINUED(status))
++ if (WIFSTOPPED(status)
++#if defined(WIFCONTINUED)
++ || WIFCONTINUED(status)
++#endif
++ )
+ continue;
+
+ if (WIFEXITED(status)) {