lmbench: Add version 3.0-a9 (initial recipe)

* Imported from oe.dev commit id bac6441118e0b78d55c98afdc108f03b6c655909.

Signed-off-by: Noor Ahsan <noor_ahsan@mentor.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
Noor Ahsan 2011-08-29 16:17:51 +00:00 committed by Koen Kooi
parent 5c36440b57
commit a577b53823
5 changed files with 286 additions and 0 deletions

View File

@ -0,0 +1,30 @@
In some cases the host may have too old of a ranlib to work. Since it's
not exactly a great idea to not be using the cross ranlib anyhow, fix the
Makefile so we can override ranlib and then override it
Upstream-Status: Inappropriate [build system specific change]
---
src/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: lmbench-3.0-a9/src/Makefile
===================================================================
--- lmbench-3.0-a9.orig/src/Makefile
+++ lmbench-3.0-a9/src/Makefile
@@ -38,6 +38,7 @@ CC=`../scripts/compiler`
MAKE=`../scripts/make`
AR=ar
ARCREATE=cr
+RANLIB=ranlib
# base of installation location
BASE=/usr/local
@@ -217,7 +218,7 @@ $O/lmbench : ../scripts/lmbench version.
$O/lmbench.a: $(LIBOBJS)
/bin/rm -f $O/lmbench.a
$(AR) $(ARCREATE) $O/lmbench.a $(LIBOBJS)
- -ranlib $O/lmbench.a
+ -$(RANLIB) $O/lmbench.a
$O/lib_timing.o : lib_timing.c $(INCS)
$(COMPILE) -c lib_timing.c -o $O/lib_timing.o

View File

@ -0,0 +1,160 @@
Now that we have our binaries in /usr/bin rather than the normal
lmbench hierarchy we need to update the scripts as well to behave well here.
Upstream-Status: Inappropriate [This is related to the OE-specific behavior
of installing into /usr/bin, etc, rather than dumping everything into
/usr/share/lmbench or similar]
Index: lmbench-3.0-a9/scripts/results
===================================================================
--- lmbench-3.0-a9.orig/scripts/results
+++ lmbench-3.0-a9/scripts/results
@@ -8,11 +8,11 @@ RESULTS=results/$OS
BASE=../$RESULTS/`uname -n`
EXT=0
-if [ ! -f "../bin/$OS/$CONFIG" ]
+if [ ! -f "$CONFIG" ]
then echo "No config file?"
exit 1
fi
-. ../bin/$OS/$CONFIG
+. $CONFIG
if [ ! -d ../$RESULTS ]
then mkdir -p ../$RESULTS
@@ -23,11 +23,9 @@ do EXT=`expr $EXT + 1`
RESULTS=$BASE.$EXT
done
-cd ../bin/$OS
-PATH=.:${PATH}; export PATH
export SYNC_MAX
export OUTPUT
-lmbench $CONFIG 2>../${RESULTS}
+lmbench $CONFIG 2>${RESULTS}
if [ X$MAIL = Xyes ]
then echo Mailing results
Index: lmbench-3.0-a9/scripts/config-run
===================================================================
--- lmbench-3.0-a9.orig/scripts/config-run
+++ lmbench-3.0-a9/scripts/config-run
@@ -132,20 +132,20 @@ export LMBENCH_SCHED
############################################################################
echo $L; echo "";
echo "Hang on, we are calculating your timing granularity."
-../bin/$OS/msleep 250
-ENOUGH=`../bin/$OS/enough`
+msleep 250
+ENOUGH=`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`
+msleep 250
+TIMING_O=`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`
+msleep 250
+LOOP_O=`loop_o`
export LOOP_O
echo "OK, it looks like your benchmark loop costs $LOOP_O usecs."
echo ""
@@ -177,7 +177,7 @@ then
fi
if [ X$MB = X ]
then $ECHON "Probing system for available memory: $ECHOC"
- MB=`../bin/$OS/memsize 4096`
+ MB=`memsize 4096`
fi
TOTAL_MEM=$MB
MB=`echo \( $MB \* 7 \) / 10 | bc 2>/dev/null`
@@ -205,9 +205,9 @@ fi
# 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..."
-MB=`../bin/$OS/memsize $MB`
-MB=`../bin/$OS/memsize $MB`
-MB=`../bin/$OS/memsize $MB`
+MB=`memsize $MB`
+MB=`memsize $MB`
+MB=`memsize $MB`
if [ `expr $SYNC_MAX \* $MB` -gt `expr $TOTAL_MEM` ]
then
MB=`expr $TOTAL_MEM / $SYNC_MAX`
@@ -223,8 +223,8 @@ then echo Warning: you have only ${MB}MB
fi
echo "Hang on, we are calculating your cache line size."
-../bin/$OS/msleep 250
-LINE_SIZE=`../bin/$OS/lm_line -M ${MB}M`
+msleep 250
+LINE_SIZE=`lm_line -M ${MB}M`
export LINE_SIZE
echo "OK, it looks like your cache line is $LINE_SIZE bytes."
echo ""
@@ -479,7 +479,7 @@ EOF
then
for i in $disks
do if [ -r $i ]
- then ../bin/$OS/flushdisk $i
+ then flushdisk $i
if [ $? -eq 1 ]
then echo "Must be root to run disk benchmarks."
echo "Root is needed to flush the buffer cache"
@@ -584,7 +584,7 @@ fi
echo $L
echo ""
echo "Calculating mhz, please wait for a moment..."
-MHZ=`../bin/$OS/mhz`
+MHZ=`mhz`
cat<<EOF
I think your CPU mhz is
@@ -689,9 +689,9 @@ esac
INFO=`../scripts/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 ../scripts/info-template $INFO
+ chmod +w $INFO
REUSE=no
else
REUSE=view
@@ -705,7 +705,7 @@ then if [ ! -f ../bin/$OS/$INFO ]
;;
[Vv]*) REUSE=view
echo $L
- more ../bin/$OS/$INFO
+ more $INFO
echo $L
;;
*) REUSE=yes
@@ -733,7 +733,7 @@ EOF
then EDITOR=$TMP
fi
if [ X$EDITOR != "none" ]
- then $EDITOR ../bin/$OS/`../scripts/info`
+ then $EDITOR `../scripts/info`
fi
fi
fi
@@ -750,7 +750,7 @@ EOF
VERSION=`../scripts/version`
-C=../bin/$OS/`../scripts/config`
+C=`../scripts/config`
echo DISKS=\"$DISKS\" > $C
echo DISK_DESC=\"$DISK_DESC\" >> $C
echo OUTPUT=$OUTPUT >> $C

View File

@ -0,0 +1,23 @@
#!/bin/sh
# Wrapper script for lmbench written for the
# Debian GNU/Linux distribution by
# Javier Fernandez-Sanguino.
# Distributed under the GPL
SHAREDIR=/usr/share/lmbench/
BINDIR=/usr/lib/lmbench/
SCRIPTSDIR=$SHAREDIR/scripts
RESULTSDIR=$SHAREDIR/results
CONFIG=/var/lib/lmbench/config/`$SCRIPTSDIR/config`
runuid=`id -u`
[ $runuid -gt 0 ] && {
echo "You must run this as the root user"
exit 0
}
cd $SCRIPTSDIR
[ ! -f $CONFIG ] && ./config-run
./results
echo "Benchmark run finished...."
echo "Remember you can find the results of the benchmark "
echo "under $RESULTSDIR"

View File

@ -0,0 +1,19 @@
Both lmbench and util-linux-ng packages provide own /usr/bin/line binaries.
Even though the binaries name is the same, their functionality is different.
This patch renames lmbench's line binary as lm_line to avoid conflicts with
util-linux-ng. script/config-run is also modified (patch) to call lm_line
instead of line.
Upstream-Status: Inappropriate [build system specific change]
--- patches/scripts/config-run 2006-11-26 15:11:04.000000000 -0500
+++ patches/scripts/config-run 2011-04-01 09:35:50.000000000 -0400
@@ -224,7 +224,7 @@ fi
echo "Hang on, we are calculating your cache line size."
../bin/$OS/msleep 250
-LINE_SIZE=`../bin/$OS/line -M ${MB}M`
+LINE_SIZE=`../bin/$OS/lm_line -M ${MB}M`
export LINE_SIZE
echo "OK, it looks like your cache line is $LINE_SIZE bytes."
echo ""

View File

@ -0,0 +1,54 @@
DESCRIPTION = "Tools for performance analysis."
HOMEPAGE = "http://lmbench.sourceforge.net/"
SECTION = "console/utils"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
file://COPYING-2;md5=8e9aee2ccc75d61d107e43794a25cdf9"
inherit autotools
SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
file://lmbench-run \
file://rename-line-binary.patch \
file://update-results-script.patch \
file://obey-ranlib.patch \
"
SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf"
SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551"
EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \
LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \
TARGET="${TARGET_OS}" BASE="${prefix}"'
do_configure() {
:
}
do_compile () {
. ${CONFIG_SITE}
if [ X"$ac_cv_uint" = X"yes" ]; then
CFLAGS="${CFLAGS} -DHAVE_uint"
fi
install -d ${S}/bin/${TARGET_SYS}
oe_runmake -C src
}
do_install () {
install -d ${D}${localstatedir}/run/lmbench \
${D}${bindir} ${D}${mandir} ${D}${libdir}/lmbench \
${D}${datadir}/lmbench/scripts
oe_runmake 'BASE=${D}${prefix}' \
-C src install
mv ${D}${bindir}/line ${D}${bindir}/lm_line
mv ${D}${prefix}/man/* ${D}${mandir}/
install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/
sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${PN},;' \
-e 's,^BINDIR=.*$,BINDIR=${libdir}/${PN},;' \
-e 's,^CONFIG=.*$,CONFIG=$SHAREDIR/`$SCRIPTSDIR/config`,;' \
${D}${bindir}/lmbench-run
install -m 0755 ${S}/scripts/lmbench ${D}${bindir}
install -m 0755 ${S}/scripts/* ${D}${datadir}/lmbench/scripts
}
RDEPENDS_${PN} = "debianutils"
FILES_${PN} += "${datadir}/lmbench"