From 3aaa1fc604e50971f4a8e9b4d237880868533c77 Mon Sep 17 00:00:00 2001 From: asau Date: Mon, 2 Jul 2012 17:43:16 +0000 Subject: 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 --- benchmarks/filebench/DESCR | 10 ++++++ benchmarks/filebench/Makefile | 26 ++++++++++++++ benchmarks/filebench/PLIST | 48 +++++++++++++++++++++++++ benchmarks/filebench/distinfo | 10 ++++++ benchmarks/filebench/patches/patch-configure.ac | 41 +++++++++++++++++++++ benchmarks/filebench/patches/patch-filebench.h | 18 ++++++++++ benchmarks/filebench/patches/patch-flowop.c | 22 ++++++++++++ benchmarks/filebench/patches/patch-misc.c | 20 +++++++++++ benchmarks/filebench/patches/patch-procflow.c | 17 +++++++++ 9 files changed, 212 insertions(+) create mode 100644 benchmarks/filebench/DESCR create mode 100644 benchmarks/filebench/Makefile create mode 100644 benchmarks/filebench/PLIST create mode 100644 benchmarks/filebench/distinfo create mode 100644 benchmarks/filebench/patches/patch-configure.ac create mode 100644 benchmarks/filebench/patches/patch-filebench.h create mode 100644 benchmarks/filebench/patches/patch-flowop.c create mode 100644 benchmarks/filebench/patches/patch-misc.c create mode 100644 benchmarks/filebench/patches/patch-procflow.c (limited to 'benchmarks/filebench') 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 ])]) ++ + # this checks if stat file is present ins /proc/ 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 ++], ++[ 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 + #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)) { -- cgit v1.2.3