summaryrefslogtreecommitdiff
path: root/benchmarks
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks')
-rw-r--r--benchmarks/lmbench/Makefile36
-rw-r--r--benchmarks/lmbench/files/md53
-rw-r--r--benchmarks/lmbench/patches/patch-aa21
-rw-r--r--benchmarks/lmbench/patches/patch-ab9
-rw-r--r--benchmarks/lmbench/patches/patch-ac10
-rw-r--r--benchmarks/lmbench/patches/patch-ad13
-rw-r--r--benchmarks/lmbench/patches/patch-ae13
-rw-r--r--benchmarks/lmbench/patches/patch-af117
-rw-r--r--benchmarks/lmbench/patches/patch-ag18
-rw-r--r--benchmarks/lmbench/patches/patch-ah71
-rw-r--r--benchmarks/lmbench/patches/patch-ai70
-rw-r--r--benchmarks/lmbench/patches/patch-aj12
-rw-r--r--benchmarks/lmbench/pkg/COMMENT1
-rw-r--r--benchmarks/lmbench/pkg/DESCR11
-rw-r--r--benchmarks/lmbench/pkg/MESSAGE3
-rw-r--r--benchmarks/lmbench/pkg/PLIST124
-rwxr-xr-xbenchmarks/lmbench/scripts/do-install37
17 files changed, 569 insertions, 0 deletions
diff --git a/benchmarks/lmbench/Makefile b/benchmarks/lmbench/Makefile
new file mode 100644
index 00000000000..5ee582985b9
--- /dev/null
+++ b/benchmarks/lmbench/Makefile
@@ -0,0 +1,36 @@
+# $NetBSD: Makefile,v 1.1 1998/08/30 17:46:25 garbled Exp $
+
+DISTNAME= lmbench-2alpha11
+PKGNAME= lmbench-2.11a
+CATEGORIES= benchmarks
+MASTER_SITES= ftp://ftp.bitmover.com/lmbench/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= root@garbled.net
+HOMEPAGE= http://www.bitmover.com/lm/lmbench/
+
+ALL_TARGET= build
+USE_GMAKE= yes
+USE_PERL5= yes
+
+post-configure:
+ @${MV} ${WRKSRC}/scripts/os foo
+ ${SED} -e 's@XXXPREFIXXXX@${PREFIX}@g' < foo > ${WRKSRC}/scripts/os
+ @${MV} ${WRKSRC}/scripts/results foo
+ ${SED} -e 's@XXXPREFIXXXX@${PREFIX}@g' < foo > ${WRKSRC}/scripts/results
+ @${MV} ${WRKSRC}/scripts/config-run foo
+ ${SED} -e 's@XXXPREFIXXXX@${PREFIX}@g' < foo > ${WRKSRC}/scripts/config-run
+ @${MV} ${WRKSRC}/scripts/lmbench foo
+ ${SED} -e 's@XXXPREFIXXXX@${PREFIX}@g' < foo > ${WRKSRC}/scripts/lmbench
+ @${MV} ${WRKSRC}/results/Makefile foo
+ ${SED} -e 's@XXXPREFIXXXX@${PREFIX}@g' < foo > ${WRKSRC}/results/Makefile
+ @${RM} -f foo
+ @chmod 0755 ${WRKSRC}/scripts/config-run
+ @chmod 0755 ${WRKSRC}/scripts/os
+ @chmod 0755 ${WRKSRC}/scripts/results
+ @chmod 0755 ${WRKSRC}/scripts/lmbench
+
+do-install:
+ @${SETENV} PREFIX=${PREFIX} WRKSRC=${WRKSRC} ${SCRIPTDIR}/do-install
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/benchmarks/lmbench/files/md5 b/benchmarks/lmbench/files/md5
new file mode 100644
index 00000000000..a3a5c17a700
--- /dev/null
+++ b/benchmarks/lmbench/files/md5
@@ -0,0 +1,3 @@
+$NetBSD: md5,v 1.1 1998/08/30 17:46:26 garbled Exp $
+
+MD5 (lmbench-2alpha11.tgz) = e30ebe7c813bc049567eb16f13a0b12b
diff --git a/benchmarks/lmbench/patches/patch-aa b/benchmarks/lmbench/patches/patch-aa
new file mode 100644
index 00000000000..1cd04e1bd81
--- /dev/null
+++ b/benchmarks/lmbench/patches/patch-aa
@@ -0,0 +1,21 @@
+$NetBSD: patch-aa,v 1.1 1998/08/30 17:46:26 garbled Exp $
+--- src/Makefile.orig Fri Jul 31 12:55:18 1998
++++ src/Makefile Sun Aug 30 06:32:41 1998
+@@ -30,7 +30,7 @@
+ O= ../bin/unknown
+ D= ../doc
+ TRUE=/bin/true
+-OS=`../scripts/os`
++OS=`../scripts/os.orig`
+ TARGET=`../scripts/target`
+ BINDIR=../bin/$(OS)
+ CONFIG=../bin/$(OS)/`../scripts/config`
+@@ -130,7 +130,7 @@
+
+ bsd:
+ @if [ ! -d $(BINDIR) ]; then mkdir -p $(BINDIR); fi
+- $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS) -Duint='unsigned int'" all
++ $(MAKE) CC="$(CC)" all
+
+ Wall:
+ @if [ ! -d $(BINDIR) ]; then mkdir -p $(BINDIR); fi
diff --git a/benchmarks/lmbench/patches/patch-ab b/benchmarks/lmbench/patches/patch-ab
new file mode 100644
index 00000000000..94fab813c6e
--- /dev/null
+++ b/benchmarks/lmbench/patches/patch-ab
@@ -0,0 +1,9 @@
+$NetBSD: patch-ab,v 1.1 1998/08/30 17:46:26 garbled Exp $
+--- src/lib_tcp.h.orig Sat Aug 29 12:49:25 1998
++++ src/lib_tcp.h Sat Aug 29 12:49:49 1998
+@@ -11,5 +11,4 @@
+ void sock_optimize(int sock, int rdwr);
+ int sockport(int s);
+ u_short pmap_getport(struct sockaddr_in *addr, u_long prognum, u_long versnum, u_int protocol);
+-bool_t pmap_set(u_long prognum, u_long versnum, u_long protocol, u_short port);
+ bool_t pmap_unset(u_long prognum, u_long versnum);
diff --git a/benchmarks/lmbench/patches/patch-ac b/benchmarks/lmbench/patches/patch-ac
new file mode 100644
index 00000000000..ab37298d371
--- /dev/null
+++ b/benchmarks/lmbench/patches/patch-ac
@@ -0,0 +1,10 @@
+$NetBSD: patch-ac,v 1.1 1998/08/30 17:46:26 garbled Exp $
+--- src/lib_udp.h.orig Sat Aug 29 12:50:41 1998
++++ src/lib_udp.h Sat Aug 29 12:50:53 1998
+@@ -9,6 +9,5 @@
+ int udp_connect(char *host, u_long prog, int rdwr);
+ void sock_optimize(int sock, int rdwr);
+ int sockport(int);
+-bool_t pmap_set(u_long prognum, u_long versnum, u_long protocol, u_short port);
+ bool_t pmap_unset(u_long prognum, u_long versnum);
+
diff --git a/benchmarks/lmbench/patches/patch-ad b/benchmarks/lmbench/patches/patch-ad
new file mode 100644
index 00000000000..6b61ab3cda6
--- /dev/null
+++ b/benchmarks/lmbench/patches/patch-ad
@@ -0,0 +1,13 @@
+$NetBSD: patch-ad,v 1.1 1998/08/30 17:46:26 garbled Exp $
+--- src/lat_rpc.c.orig Sat Aug 29 12:59:45 1998
++++ src/lat_rpc.c Sat Aug 29 13:00:08 1998
+@@ -132,7 +132,9 @@
+ }
+
+ static void xact_prog_1();
++#ifndef __NetBSD__
+ bool_t pmap_set(u_long prognum, u_long versnum, u_long protocol, u_short port);
++#endif
+ bool_t pmap_unset(u_long prognum, u_long versnum);
+
+ void
diff --git a/benchmarks/lmbench/patches/patch-ae b/benchmarks/lmbench/patches/patch-ae
new file mode 100644
index 00000000000..b4f91ceb59e
--- /dev/null
+++ b/benchmarks/lmbench/patches/patch-ae
@@ -0,0 +1,13 @@
+$NetBSD: patch-ae,v 1.1 1998/08/30 17:46:26 garbled Exp $
+--- src/lmdd.c.orig Sat Aug 29 13:06:05 1998
++++ src/lmdd.c Sat Aug 29 13:17:06 1998
+@@ -797,7 +797,9 @@
+ oflags |= (notrunc || append) ? 0 : O_TRUNC;
+ oflags |= nocreate ? 0 : O_CREAT;
+ oflags |= append ? O_APPEND : 0;
++#if NetBSD > 199712
+ oflags |= osync ? O_SYNC : 0;
++#endif
+ ret = open(&av[i][len], oflags,0644);
+ #ifdef O_DIRECT
+ if ((getarg("odirect=", ac, av) != -1) ||
diff --git a/benchmarks/lmbench/patches/patch-af b/benchmarks/lmbench/patches/patch-af
new file mode 100644
index 00000000000..b0c6f103201
--- /dev/null
+++ b/benchmarks/lmbench/patches/patch-af
@@ -0,0 +1,117 @@
+$NetBSD: patch-af,v 1.1 1998/08/30 17:46:26 garbled Exp $
+--- scripts/config-run.orig Fri Jul 31 12:55:19 1998
++++ scripts/config-run Sun Aug 30 08:08:52 1998
+@@ -3,7 +3,7 @@
+ # Configure parameters for lmbench.
+ # 1.23 98/07/31 lm@lm.bitmover.com
+
+-OS=`../scripts/os`
++OS=`XXXPREFIXXXX/bin/lmbench/os`
+ L='====================================================================='
+ echo $L;
+ cat<<EOF;
+@@ -36,20 +36,20 @@
+ ############################################################################
+ echo $L; echo "";
+ echo "Hang on, we are calculating your timing granularity."
+-../bin/$OS/msleep 250
+-ENOUGH=`../bin/$OS/enough`
++XXXPREFIXXXX/bin/lmbench/msleep 250
++ENOUGH=`XXXPREFIXXXX/bin/lmbench/enough`
+ export ENOUGH
+ echo "OK, it looks like you can time stuff down to $ENOUGH usec resolution."
+ echo ""
+ echo "Hang on, we are calculating your timing overhead."
+-../bin/$OS/msleep 250
+-TIMING_O=`../bin/$OS/timing_o`
++XXXPREFIXXXX/bin/lmbench/msleep 250
++TIMING_O=`XXXPREFIXXXX/bin/lmbench/timing_o`
+ export TIMING_O
+ echo "OK, it looks like your gettimeofday() costs $TIMING_O usecs."
+ echo ""
+ echo "Hang on, we are calculating your loop overhead."
+-../bin/$OS/msleep 250
+-LOOP_O=`../bin/$OS/loop_o`
++XXXPREFIXXXX/bin/lmbench/msleep 250
++LOOP_O=`XXXPREFIXXXX/bin/lmbench/loop_o`
+ export LOOP_O
+ echo "OK, it looks like your benchmark loop costs $LOOP_O usecs."
+ echo ""
+@@ -89,9 +89,9 @@
+ # Certain machines tend to barf when you try and bcopy 8MB.
+ # Figure out how much we can use.
+ echo "Checking to see if you have $MB MB; please wait for a moment..."
+-AVAILMEM=`../bin/$OS/memsize $MB`
+-AVAILMEM=`../bin/$OS/memsize $MB`
+-AVAILMEM=`../bin/$OS/memsize $MB`
++AVAILMEM=`XXXPREFIXXXX/bin/lmbench/memsize $MB`
++AVAILMEM=`XXXPREFIXXXX/bin/lmbench/memsize $MB`
++AVAILMEM=`XXXPREFIXXXX/bin/lmbench/memsize $MB`
+ if [ $AVAILMEM -lt 8 ]
+ then echo $0 aborted: Not enough memory, only ${AVAILMEM}MB available.
+ exit 1
+@@ -185,7 +185,7 @@
+ then
+ for i in $disks
+ do if [ -r $i ]
+- then ../bin/$OS/flushdisk $i
++ then XXXPREFIXXXX/bin/lmbench/flushdisk $i
+ if [ $? -eq 1 ]
+ then echo "Must be root to run disk benchmarks."
+ echo "Root is needed to flush the buffer cache"
+@@ -206,7 +206,7 @@
+ echo $L
+ echo ""
+ echo "Calculating mhz, please wait for a moment..."
+-MHZ=`../bin/$OS/mhz`
++MHZ=`XXXPREFIXXXX/bin/lmbench/mhz`
+ cat > /dev/tty <<EOF
+ I think your CPU mhz is
+
+@@ -363,11 +363,11 @@
+ ;;
+ esac
+
+-INFO=`../scripts/info`
++INFO=`XXXPREFIXXXX/bin/lmbench/info`
+ if [ $MAIL = yes ]
+-then if [ ! -f ../bin/$OS/$INFO ]
+- then cp ../scripts/info-template ../bin/$OS/$INFO
+- chmod +w ../bin/$OS/$INFO
++then if [ ! -f $INFO ]
++ then cp XXXPREFIXXXX/bin/lmbench/info-template XXXPREFIXXXX/share/lmbench/$INFO
++ chmod +w XXXPREFIXXXX/share/lmbench/$INFO
+ REUSE=no
+ else
+ REUSE=view
+@@ -381,7 +381,7 @@
+ ;;
+ [Vv]*) REUSE=view
+ echo $L
+- more ../bin/$OS/$INFO
++ more XXXPREFIXXXX/share/lmbench/$INFO
+ echo $L
+ ;;
+ *) REUSE=yes
+@@ -409,7 +409,7 @@
+ then EDITOR=$TMP
+ fi
+ if [ X$EDITOR != "none" ]
+- then $EDITOR ../bin/$OS/`../scripts/info`
++ then $EDITOR XXXPREFIXXXX/share/lmbench/`XXXPREFIXXXX/share/lmbench/info`
+ fi
+ fi
+ fi
+@@ -424,9 +424,10 @@
+
+ EOF
+
+-VERSION=`../scripts/version`
++VERSION=`XXXPREFIXXXX/bin/lmbench/version`
++CONFIG=XXXPREFIXXXX/share/lmbench/`XXXPREFIXXXX/bin/lmbench/config`
+
+-cat<<EOF > ../bin/$OS/`../scripts/config`
++cat <<EOF >$CONFIG
+ DISKS="$DISKS"
+ DISK_DESC="$DISK_DESC"
+ ENOUGH=$ENOUGH
diff --git a/benchmarks/lmbench/patches/patch-ag b/benchmarks/lmbench/patches/patch-ag
new file mode 100644
index 00000000000..3bd09b7dac9
--- /dev/null
+++ b/benchmarks/lmbench/patches/patch-ag
@@ -0,0 +1,18 @@
+$NetBSD: patch-ag,v 1.1 1998/08/30 17:46:26 garbled Exp $
+--- scripts/os.orig Sun Aug 30 05:38:55 1998
++++ scripts/os Sun Aug 30 05:40:06 1998
+@@ -1,10 +1,10 @@
+ #!/bin/sh
+
+ OS=bloat-os
+-if [ -f ../scripts/gnu-os ]
+-then OS=`../scripts/gnu-os | sed s/unknown-//`
++if [ -f XXXPREFIXXXX/bin/lmbench/gnu-os ]
++then OS=`XXXPREFIXXXX/bin/lmbench/gnu-os | sed s/unknown-//`
+ fi
+-if [ -f ../../scripts/gnu-os ]
+-then OS=`../../scripts/gnu-os | sed s/unknown-//`
++if [ -f XXXPREFIXXXX/bin/lmbench/gnu-os ]
++then OS=`XXXPREFIXXXX/bin/lmbench/gnu-os | sed s/unknown-//`
+ fi
+ echo $OS
diff --git a/benchmarks/lmbench/patches/patch-ah b/benchmarks/lmbench/patches/patch-ah
new file mode 100644
index 00000000000..6f25535b281
--- /dev/null
+++ b/benchmarks/lmbench/patches/patch-ah
@@ -0,0 +1,71 @@
+$NetBSD: patch-ah,v 1.1 1998/08/30 17:46:27 garbled Exp $
+--- scripts/results.orig Fri Jul 31 12:55:19 1998
++++ scripts/results Sun Aug 30 08:42:03 1998
+@@ -2,20 +2,20 @@
+
+ # $Id: patch-ah,v 1.1 1998/08/30 17:46:27 garbled Exp $
+
+-OS=`../scripts/os`
+-CONFIG=`../scripts/config`
+-RESULTS=results/$OS
+-BASE=../$RESULTS/`uname -n`
++OS=`XXXPREFIXXXX/bin/lmbench/os`
++CONFIG=`XXXPREFIXXXX/bin/lmbench/config`
++RESULTS=XXXPREFIXXXX/share/lmbench/results/$OS
++BASE=$RESULTS/`uname -n`
+ EXT=0
+
+-if [ ! -f "../bin/$OS/$CONFIG" ]
++if [ ! -f "XXXPREFIXXXX/share/lmbench/$CONFIG" ]
+ then echo "No config file?"
+ exit 1
+ fi
+-. ../bin/$OS/$CONFIG
++. XXXPREFIXXXX/share/lmbench/$CONFIG
+
+-if [ ! -d ../$RESULTS ]
+-then mkdir -p ../$RESULTS
++if [ ! -d $RESULTS ]
++then mkdir -p $RESULTS
+ fi
+ RESULTS=$BASE
+ while [ -f $RESULTS ]
+@@ -23,33 +23,33 @@
+ RESULTS=$BASE.$EXT
+ done
+
+-cd ../bin/$OS
++cd XXXPREFIXXXX/share/lmbench/results/$OS
+ if [ "X$SYNC_MAX" = X ]; then echo "No SYNC_MAX variable."; exit 1; fi
+ if [ $SYNC_MAX -gt 1 ]
+ then SYNC_PID=1; export SYNC_PID
+ while [ $SYNC_PID -le $SYNC_MAX ]
+ do echo Results $SYNC_PID going to ${RESULTS}.$SYNC_PID
+- ../../scripts/lmbench $CONFIG 2>../${RESULTS}.$SYNC_PID &
++ XXXPREFIXXXX/bin/lmbench/lmbench XXXPREFIXXXX/share/lmbench/$CONFIG 2>${RESULTS}.$SYNC_PID &
+ SYNC_PID=`expr $SYNC_PID + 1`
+ done; wait
+ else echo Results going to ${RESULTS}
+ SYNC_PID=1
+ SYNC_MAX=1
+ export SYNC_PID SYNC_MAX
+- ../../scripts/lmbench $CONFIG 2>../${RESULTS}
++ XXXPREFIXXXX/bin/lmbench/lmbench XXXPREFIXXXX/share/lmbench/$CONFIG 2>${RESULTS}
+ fi
+
+ if [ X$MAIL = Xyes ]
+ then echo Mailing results
+ if [ $SYNC_MAX -gt 1 ]
+ then (echo ---- $INFO ---; cat $INFO;
+- for i in ../${RESULTS}.*
++ for i in ${RESULTS}.*
+ do echo ---- $i ----; cat $i
+ done) | mail lmbench2@bitmover.com
+ else (echo ---- $INFO ---
+ cat $INFO
+ echo ---- $RESULTS ---
+- cat ../$RESULTS) | mail lmbench2@bitmover.com
++ cat $RESULTS) | mail lmbench2@bitmover.com
+ fi
+ fi
+ exit 0
diff --git a/benchmarks/lmbench/patches/patch-ai b/benchmarks/lmbench/patches/patch-ai
new file mode 100644
index 00000000000..2d5d35a2d2b
--- /dev/null
+++ b/benchmarks/lmbench/patches/patch-ai
@@ -0,0 +1,70 @@
+$NetBSD: patch-ai,v 1.1 1998/08/30 17:46:27 garbled Exp $
+--- scripts/lmbench.orig Fri Jul 31 12:55:19 1998
++++ scripts/lmbench Sun Aug 30 09:05:29 1998
+@@ -7,7 +7,7 @@
+ # $Id: patch-ai,v 1.1 1998/08/30 17:46:27 garbled Exp $
+
+ # Make sure we can find: ./cmd, df, and netstat
+-PATH=.:../../scripts:$PATH:/etc:/usr/etc:/sbin:/usr/sbin
++PATH=.:XXXPREFIXXXX/bin/lmbench:$PATH:/etc:/usr/etc:/sbin:/usr/sbin
+ export PATH
+
+ if [ -f $1 ]
+@@ -179,9 +179,9 @@
+ if [ $MP = Y ]; then synchronize $SYNC/lat_unix; fi
+ lat_unix
+ if [ $MP = Y ]
+-then if [ $SYNC_MAX = $SYNC_PID ]; then cp hello /tmp/hello; fi
++then if [ $SYNC_MAX = $SYNC_PID ]; then cp XXXPREFIXXXX/bin/lmbench/hello /tmp/hello; fi
+ synchronize $SYNC/lat_proc
+-else cp hello /tmp/hello
++else cp XXXPREFIXXXX/bin/lmbench/hello /tmp/hello
+ fi
+ lat_proc fork
+ lat_proc exec
+@@ -225,14 +225,14 @@
+ if [ $SYNC_PID = $SYNC_MAX ]
+ then date > /dev/tty
+ echo Local networking > /dev/tty
+- if [ ! -d ../../src/webpage-lm ]
++ if [ ! -d XXXPREFIXXXX/share/lmbench/webpage-lm ]
+ then (cd ../../src && tar xf webpage-lm.tar)
+ sync
+ sleep 1
+ fi
+ SERVERS="lat_udp lat_tcp lat_rpc lat_connect bw_tcp"
+ for server in $SERVERS; do $server -s; done
+- DOCROOT=../../src/webpage-lm lmhttp 8008 &
++ DOCROOT=XXXPREFIXXXX/share/lmbench/webpage-lm lmhttp 8008 &
+ sleep 2;
+ for i in localhost
+ do
+@@ -246,14 +246,14 @@
+ bw_tcp $i
+ bw_tcp -$i
+ # I want a hot cache number
+- lat_http $i 8008 < ../../src/webpage-lm/URLS > /dev/null 2>&1
+- lat_http $i 8008 < ../../src/webpage-lm/URLS
++ lat_http $i 8008 < XXXPREFIXXXX/share/lmbench/webpage-lm/URLS > /dev/null 2>&1
++ lat_http $i 8008 < XXXPREFIXXXX/share/lmbench/webpage-lm/URLS
+ lat_http -$i 8008
+ done
+
+ for remote in $REMOTE
+ do echo Networking to $remote > /dev/tty
+- rcp $SERVERS lmhttp ../../src/webpage-lm.tar ${remote}:/tmp
++ rcp $SERVERS lmhttp XXXPREFIXXXX/share/lmbench/webpage-lm.tar ${remote}:/tmp
+ for server in $SERVERS
+ do $RSH $remote -n /tmp/$server -s &
+ done
+@@ -266,8 +266,8 @@
+ lat_connect $remote; lat_connect -$remote;
+ bw_tcp $remote; bw_tcp -$remote
+ # I want a hot cache number
+- lat_http $remote 8008 < ../../src/webpage-lm/URLS > /dev/null 2>&1
+- lat_http $remote 8008 < ../../src/webpage-lm/URLS
++ lat_http $remote 8008 < XXXPREFIXXXX/share/lmbench/webpage-lm/URLS > /dev/null 2>&1
++ lat_http $remote 8008 < XXXPREFIXXXX/share/lmbench/webpage-lm/URLS
+ lat_http -$remote 8008
+ RM=
+ for server in $SERVERS
diff --git a/benchmarks/lmbench/patches/patch-aj b/benchmarks/lmbench/patches/patch-aj
new file mode 100644
index 00000000000..84a3518ba14
--- /dev/null
+++ b/benchmarks/lmbench/patches/patch-aj
@@ -0,0 +1,12 @@
+$NetBSD: patch-aj,v 1.1 1998/08/30 17:46:27 garbled Exp $
+--- results/Makefile.orig Sun Aug 30 09:20:26 1998
++++ results/Makefile Sun Aug 30 09:23:43 1998
+@@ -49,7 +49,7 @@
+ # Grrrrr
+ SHELL=/bin/sh
+
+-SCRIPTS=../scripts/
++SCRIPTS=XXXPREFIXXXX/bin/lmbench/
+
+ MISC= tmp/misc_mhz.bg \
+ tmp/lat_ctx.bg \
diff --git a/benchmarks/lmbench/pkg/COMMENT b/benchmarks/lmbench/pkg/COMMENT
new file mode 100644
index 00000000000..94d4c853cb7
--- /dev/null
+++ b/benchmarks/lmbench/pkg/COMMENT
@@ -0,0 +1 @@
+a complete benchmark that gives a large amount of information.
diff --git a/benchmarks/lmbench/pkg/DESCR b/benchmarks/lmbench/pkg/DESCR
new file mode 100644
index 00000000000..8a9f3d97e7c
--- /dev/null
+++ b/benchmarks/lmbench/pkg/DESCR
@@ -0,0 +1,11 @@
+ lmbench is a micro-benchmark suite designed to focus attention
+ on the basic building blocks of many common system applications,
+ such as databases, simulations, software development, and
+ networking. In almost all cases, the individual tests are
+ the result of analysis and isolation of a customer's actual
+ performance problem. These tools can be, and currently are,
+ used to compare different system implementations from different
+ vendors. The tools have been and continue to be used by processor
+ designers. In several cases, the benchmarks have uncovered
+ previously unknown bugs and design flaws. lmbench includes an
+ extensible database of results from systems current as of late 1995.
diff --git a/benchmarks/lmbench/pkg/MESSAGE b/benchmarks/lmbench/pkg/MESSAGE
new file mode 100644
index 00000000000..02181c6a4dc
--- /dev/null
+++ b/benchmarks/lmbench/pkg/MESSAGE
@@ -0,0 +1,3 @@
+execute "run-lmbench" to run the benchmark.
+There is a Makefile in your share/lmbench/results directory
+that can be used to format your results as well.
diff --git a/benchmarks/lmbench/pkg/PLIST b/benchmarks/lmbench/pkg/PLIST
new file mode 100644
index 00000000000..a7df2c0e627
--- /dev/null
+++ b/benchmarks/lmbench/pkg/PLIST
@@ -0,0 +1,124 @@
+@comment $NetBSD: PLIST,v 1.1 1998/08/30 17:46:27 garbled Exp $
+bin/run-lmbench
+bin/lmbench/bw_file_rd
+bin/lmbench/bw_mem
+bin/lmbench/bw_mmap_rd
+bin/lmbench/bw_pipe
+bin/lmbench/bw_tcp
+bin/lmbench/bw_unix
+bin/lmbench/disk
+bin/lmbench/enough
+bin/lmbench/flushdisk
+bin/lmbench/hello
+bin/lmbench/lat_connect
+bin/lmbench/lat_ctx
+bin/lmbench/lat_fifo
+bin/lmbench/lat_fs
+bin/lmbench/lat_http
+bin/lmbench/lat_mem_rd
+bin/lmbench/lat_mmap
+bin/lmbench/lat_pagefault
+bin/lmbench/lat_pipe
+bin/lmbench/lat_proc
+bin/lmbench/lat_rpc
+bin/lmbench/lat_select
+bin/lmbench/lat_sig
+bin/lmbench/lat_syscall
+bin/lmbench/lat_tcp
+bin/lmbench/lat_udp
+bin/lmbench/lmdd
+bin/lmbench/lat_unix
+bin/lmbench/lat_unix_connect
+bin/lmbench/lmhttp
+bin/lmbench/loop_o
+bin/lmbench/memsize
+bin/lmbench/mhz
+bin/lmbench/msleep
+bin/lmbench/timing_o
+bin/lmbench/allctx
+bin/lmbench/allmem
+bin/lmbench/bargraph
+bin/lmbench/bghtml
+bin/lmbench/compiler
+bin/lmbench/config
+bin/lmbench/config-run
+bin/lmbench/depend
+bin/lmbench/do_ctx
+bin/lmbench/getbg
+bin/lmbench/getbw
+bin/lmbench/getctx
+bin/lmbench/getdisk
+bin/lmbench/getlist
+bin/lmbench/getmax
+bin/lmbench/getmem
+bin/lmbench/getpercent
+bin/lmbench/getsummary
+bin/lmbench/gifs
+bin/lmbench/gnu-os
+bin/lmbench/graph
+bin/lmbench/os
+bin/lmbench/html-list
+bin/lmbench/html-man
+bin/lmbench/info
+bin/lmbench/info-template
+bin/lmbench/lmbench
+bin/lmbench/man2html
+bin/lmbench/mkrelease
+bin/lmbench/new2oldctx
+bin/lmbench/opercent
+bin/lmbench/percent
+bin/lmbench/rccs
+bin/lmbench/results
+bin/lmbench/save
+bin/lmbench/stats
+bin/lmbench/synchronize
+bin/lmbench/target
+bin/lmbench/version
+bin/lmbench/xroff
+man/man1/graph.1
+man/man1/bargraph.1
+man/man3/lmbench.3
+man/man3/reporting.3
+man/man3/results.3
+man/man3/timing.3
+man/man8/lmbench.8
+man/man8/lat_proc.8
+man/man8/lat_mmap.8
+man/man8/lat_ctx.8
+man/man8/lat_syscall.8
+man/man8/lat_pipe.8
+man/man8/lat_tcp.8
+man/man8/lat_udp.8
+man/man8/lat_rpc.8
+man/man8/lat_connect.8
+man/man8/lat_fs.8
+man/man8/lat_pagefault.8
+man/man8/lat_mem_rd.8
+man/man8/bw_file_rd.8
+man/man8/bw_mem_cp.8
+man/man8/bw_mem_rd.8
+man/man8/bw_mem_wr.8
+man/man8/bw_mmap_rd.8
+man/man8/bw_pipe.8
+man/man8/bw_tcp.8
+man/man8/mhz.8
+man/man8/lmdd.8
+share/lmbench/results/Makefile
+share/lmbench/webpage-lm/URLS
+share/lmbench/webpage-lm/index.html
+share/lmbench/webpage-lm/gifs/blueline
+share/lmbench/webpage-lm/gifs/cclip3.gif
+share/lmbench/webpage-lm/gifs/eyes.gif
+share/lmbench/webpage-lm/gifs/eyesleft.gif
+share/lmbench/webpage-lm/gifs/line1.gif
+share/lmbench/webpage-lm/gifs/new.gif
+share/lmbench/webpage-lm/gifs/pookline.gif
+share/lmbench/webpage-lm/gifs/rib_bar_wh.gif
+share/lmbench/webpage-lm/gifs/sgi_logo.gif
+share/lmbench/webpage-lm/gifs/snow-bg2.jpg
+share/lmbench/webpage-lm/gifs/spam-not.gif
+share/lmbench/webpage-lm/pictures/me-small.jpg
+@dirrm share/lmbench/webpage-lm/gifs
+@dirrm share/lmbench/webpage-lm/pictures
+@dirrm share/lmbench/webpage-lm
+@dirrm bin/lmbench
diff --git a/benchmarks/lmbench/scripts/do-install b/benchmarks/lmbench/scripts/do-install
new file mode 100755
index 00000000000..d895ca423a7
--- /dev/null
+++ b/benchmarks/lmbench/scripts/do-install
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+cd $WRKSRC
+DIR=`ls -1d bin/*`
+OSDIR=`basename $DIR`
+BINS="bw_file_rd bw_mem bw_mmap_rd bw_pipe bw_tcp bw_unix disk enough flushdisk hello lat_connect lat_ctx lat_fifo lat_fs lat_http lat_mem_rd lat_mmap lat_pagefault lat_pipe lat_proc lat_rpc lat_select lat_sig lat_syscall lat_tcp lat_udp lat_unix lat_unix_connect lmdd lmhttp loop_o memsize mhz msleep timing_o"
+SCRIPTS="allctx allmem bargraph bghtml compiler config config-run depend do_ctx getbg getbw getctx getdisk getlist getmax getmem getpercent getsummary gifs gnu-os graph html-list html-man info info-template lmbench man2html mkrelease new2oldctx opercent os percent rccs results save stats synchronize target version xroff"
+MAN3="lmbench.3 reporting.3 results.3 timing.3"
+MAN8="lmbench.8 lat_proc.8 lat_mmap.8 lat_ctx.8 lat_syscall.8 lat_pipe.8 lat_tcp.8 lat_udp.8 lat_rpc.8 lat_connect.8 lat_fs.8 lat_pagefault.8 lat_mem_rd.8 bw_file_rd.8 bw_mem_cp.8 bw_mem_rd.8 bw_mem_wr.8 bw_mmap_rd.8 bw_pipe.8 bw_tcp.8 mhz.8 lmdd.8"
+MAN1="bargraph.1 graph.1"
+
+mkdir -p $PREFIX/bin/lmbench
+mkdir -p $PREFIX/share/lmbench
+for files in $BINS; do
+ /usr/bin/install -c -s -o bin -g bin -m 0755 bin/$OSDIR/$files $PREFIX/bin/lmbench
+done
+for files in $SCRIPTS; do
+ /usr/bin/install -c -o bin -g bin -m 0755 scripts/$files $PREFIX/bin/lmbench
+done
+for files in $MAN1; do
+ /usr/bin/install -c -o bin -g bin -m 0444 doc/$files $PREFIX/man/man1
+done
+for files in $MAN8; do
+ /usr/bin/install -c -o bin -g bin -m 0444 doc/$files $PREFIX/man/man8
+done
+for files in $MAN3; do
+ /usr/bin/install -c -o bin -g bin -m 0444 doc/$files $PREFIX/man/man3
+done
+cat <<EOF >$PREFIX/bin/run-lmbench
+#!/bin/sh
+${PREFIX}/bin/lmbench/config-run
+${PREFIX}/bin/lmbench/results
+EOF
+chmod 0755 ${PREFIX}/bin/run-lmbench
+cp -R src/webpage-lm $PREFIX/share/lmbench
+mkdir -p ${PREFIX}/share/lmbench/results
+cp results/Makefile ${PREFIX}/share/lmbench/results