From 3106f8e69f6d3ae885d6aa0d053c97d2f74a5b3b Mon Sep 17 00:00:00 2001 From: Alexey Dokuchaev Date: Thu, 19 Nov 2015 15:08:58 +0000 Subject: - Drop requirement for linprocfs(5) to be mounted under /compat/linux/proc - Use `do-install-DOCS-on' target for docs and perform some minor cleanups --- benchmarks/interbench/files/patch-interbench.c | 52 +++++++++++++++++++------- 1 file changed, 39 insertions(+), 13 deletions(-) (limited to 'benchmarks/interbench/files/patch-interbench.c') 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 #include #include +#include #include #include ++#ifdef __FreeBSD__ ++#include ++#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 */ -- cgit v1.2.3