aboutsummaryrefslogtreecommitdiff
path: root/benchmarks/interbench
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2015-11-19 15:08:58 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2015-11-19 15:08:58 +0000
commit3106f8e69f6d3ae885d6aa0d053c97d2f74a5b3b (patch)
tree20f24f807225facabfdb0ca14449b22d99d9d0ed /benchmarks/interbench
parente1fee1b1d21f049d2d5b1eef6e80b707728d5a90 (diff)
downloadports-3106f8e69f6d3ae885d6aa0d053c97d2f74a5b3b.tar.gz
ports-3106f8e69f6d3ae885d6aa0d053c97d2f74a5b3b.zip
Notes
Diffstat (limited to 'benchmarks/interbench')
-rw-r--r--benchmarks/interbench/Makefile7
-rw-r--r--benchmarks/interbench/files/patch-interbench.c52
-rw-r--r--benchmarks/interbench/pkg-descr2
3 files changed, 44 insertions, 17 deletions
diff --git a/benchmarks/interbench/Makefile b/benchmarks/interbench/Makefile
index 24ecdc75527e..d8553f061a6b 100644
--- a/benchmarks/interbench/Makefile
+++ b/benchmarks/interbench/Makefile
@@ -2,7 +2,8 @@
# $FreeBSD$
PORTNAME= interbench
-DISTVERSION= 0.31
+PORTVERSION= 0.31
+PORTREVISION= 1
CATEGORIES= benchmarks
MASTER_SITES= http://ck.kolivas.org/apps/${PORTNAME}/
@@ -11,7 +12,7 @@ COMMENT= Interactivity benchmark for Unix-like systems
LICENSE= GPLv2
-USES= tar:bzip2 gmake
+USES= gmake tar:bzip2
MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS}"
ALL_TARGET= ${PORTNAME}
@@ -33,6 +34,8 @@ pre-build:
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.8 ${STAGEDIR}${MANPREFIX}/man/man8
+
+do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
diff --git a/benchmarks/interbench/files/patch-interbench.c b/benchmarks/interbench/files/patch-interbench.c
index 80c06c885b9d..000a957af176 100644
--- a/benchmarks/interbench/files/patch-interbench.c
+++ b/benchmarks/interbench/files/patch-interbench.c
@@ -1,14 +1,19 @@
---- interbench.c.orig 2009-10-31 12:14:59.000000000 +0800
-+++ interbench.c 2013-03-11 20:56:50.000000000 +0800
-@@ -43,6 +43,7 @@
+--- interbench.c.orig 2009-10-31 04:14:59 UTC
++++ interbench.c
+@@ -43,8 +43,12 @@
#include <sys/time.h>
#include <sys/resource.h>
#include <sys/types.h>
+#include <sys/stat.h>
#include <sys/mman.h>
#include <sys/wait.h>
++#ifdef __FreeBSD__
++#include <sys/sysctl.h>
++#endif
#include "interbench.h"
-@@ -210,7 +211,7 @@ int test_fifo(void)
+
+ #define MAX_UNAME_LENGTH 100
+@@ -210,7 +214,7 @@ int test_fifo(void)
{
struct sched_param sp;
memset(&sp, 0, sizeof(sp));
@@ -17,7 +22,7 @@
if (sched_setscheduler(0, SCHED_FIFO, &sp) == -1) {
if (errno != EPERM)
terminal_error("sched_setscheduler");
-@@ -888,7 +889,7 @@ void *timekeeping_thread(void *t)
+@@ -888,7 +892,7 @@ void *timekeeping_thread(void *t)
* accurate accounting remains SCHED_NORMAL;
*/
if (th->dt != &th->benchmarks[NOT_BENCHING])
@@ -26,16 +31,37 @@
/* These values must be changed at the appropriate places or race */
tk->sleep_interval = tk->slept_interval = 0;
post_sem(&s->ready);
-@@ -1133,7 +1134,7 @@ void get_ram(void)
+@@ -1130,6 +1134,7 @@ write:
+
+ void get_ram(void)
+ {
++#if defined(__linux__)
FILE *meminfo;
char aux[256];
-- if(!(meminfo = fopen("/proc/meminfo", "r")))
-+ if(!(meminfo = fopen("/compat/linux/proc/meminfo", "r")))
- terminal_error("fopen");
+@@ -1143,6 +1148,21 @@ void get_ram(void)
+ fgets(aux,sizeof(aux),meminfo);
+ if (fclose(meminfo) == -1)
+ terminal_error("fclose");
++#elif defined(__FreeBSD__)
++ long pagesize, numpages;
++ quad_t swap;
++ size_t len = sizeof(swap);
++
++ pagesize = sysconf(_SC_PAGESIZE);
++ numpages = sysconf(_SC_PHYS_PAGES);
++ if (sysctlbyname("vm.swap_total", &swap, &len, 0x0, 0) == -1)
++ swap = 0;
++
++ ud.ram = pagesize / 1024 * numpages;
++ ud.swap = swap / 1024;
++#else
++#error unsupported operating system
++#endif
- ud.ram = ud.swap = 0;
-@@ -1293,7 +1294,8 @@ void run_benchchild(int i, int j)
+ if( !ud.ram || !ud.swap ) {
+ unsigned long i;
+@@ -1293,7 +1313,8 @@ void run_benchchild(int i, int j)
thi->dt = &thi->benchmarks[j];
initialise_thread_data(thi->dt);
if (ud.do_rt)
@@ -45,7 +71,7 @@
/* Tell main we're ready */
wakeup_with(b2m[1]);
-@@ -1344,7 +1346,7 @@ void bench(int i, int j)
+@@ -1344,7 +1365,7 @@ void bench(int i, int j)
* We want to be higher priority than everything to signal them to
* stop and we lock our memory if we can as well
*/
@@ -54,7 +80,7 @@
set_mlock();
/* Wakeup the load process */
-@@ -1652,7 +1654,7 @@ bench:
+@@ -1652,7 +1673,7 @@ bench:
* To get as accurate a loop as possible we time it running
* SCHED_FIFO if we can
*/
diff --git a/benchmarks/interbench/pkg-descr b/benchmarks/interbench/pkg-descr
index d41bd69e9c1a..f06b1749b9c3 100644
--- a/benchmarks/interbench/pkg-descr
+++ b/benchmarks/interbench/pkg-descr
@@ -6,6 +6,4 @@ design or system configuration changes such as CPU, I/O scheduler and file
system changes and options. With careful benchmarking, different hardware
can be compared.
-Requires linprocfs(5) to be mounted under /compat/linux/proc to run.
-
WWW: http://users.on.net/~ckolivas/interbench/