forked from Lainports/freebsd-ports
- Repocopy sysutils/xdd -> benchmarks/xdd since it's a better category for this
PR: ports/117407 Submitted by: obrien@ Repocopied by: marcus@ Approved by: maintainer
This commit is contained in:
parent
524a63f312
commit
e1f3ad66e2
17 changed files with 3 additions and 496 deletions
1
MOVED
1
MOVED
|
|
@ -3343,3 +3343,4 @@ java/linux-blackdown-jdk12|java/linux-blackdown-jdk14|2007-12-11|Obsolete versio
|
|||
java/linux-sun-jdk12|java/linux-sun-jdk16|2007-12-11|Obsolete version
|
||||
x11-wm/ion-3||2007-12-12|Removed by insistence of software author
|
||||
net/sipp|benchmarks/sipp|2007-12-16|new category
|
||||
sysutils/xdd|benchmarks/xdd|2007-12-21|Moved to a better category
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@
|
|||
SUBDIR += ubench
|
||||
SUBDIR += unixbench
|
||||
SUBDIR += webbench
|
||||
SUBDIR += xdd
|
||||
SUBDIR += xengine
|
||||
|
||||
.include <bsd.port.subdir.mk>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
PORTNAME= xdd
|
||||
PORTVERSION= 65
|
||||
CATEGORIES= sysutils
|
||||
CATEGORIES= benchmarks
|
||||
MASTER_SITES= http://www.ioperformance.com/xddversions/
|
||||
DISTNAME= xdd65.013007
|
||||
EXTRACT_SUFX= .tgz
|
||||
|
|
|
|||
|
|
@ -744,7 +744,6 @@
|
|||
SUBDIR += xbattbar
|
||||
SUBDIR += xcdroast
|
||||
SUBDIR += xcpustate
|
||||
SUBDIR += xdd
|
||||
SUBDIR += xdu
|
||||
SUBDIR += xfce4-battery-plugin
|
||||
SUBDIR += xfce4-cpugraph-plugin
|
||||
|
|
|
|||
|
|
@ -1,34 +0,0 @@
|
|||
# New ports collection makefile for: sysutils/xdd
|
||||
# Date created: 29.05.2006
|
||||
# Whom: Gerhard Gonter <g.gonter@ieee.org>
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PORTNAME= xdd
|
||||
PORTVERSION= 65
|
||||
CATEGORIES= sysutils
|
||||
MASTER_SITES= http://www.ioperformance.com/xddversions/
|
||||
DISTNAME= xdd65.013007
|
||||
EXTRACT_SUFX= .tgz
|
||||
|
||||
MAINTAINER= g.gonter@ieee.org
|
||||
COMMENT= Tool for measuring and characterizing disk subsystem I/O
|
||||
|
||||
WRKSRC= ${WRKDIR}/${DISTNAME}
|
||||
PLIST_FILES= bin/xdd bin/timeserver bin/gettime
|
||||
USE_DOS2UNIX= yes
|
||||
DOS2UNIX_REGEX= .*\.(c|cpp|h)
|
||||
|
||||
post-extract:
|
||||
${CP} ${FILESDIR}/freebsd.makefile ${WRKSRC}
|
||||
|
||||
do-build:
|
||||
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} -f freebsd.makefile
|
||||
|
||||
do-install:
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/bin/xdd.freebsd ${PREFIX}/bin/xdd
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/bin/timeserver.freebsd ${PREFIX}/bin/timeserver
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/bin/gettime.freebsd ${PREFIX}/bin/gettime
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
MD5 (xdd65.013007.tgz) = 02306e65059b48ab012b0bec183bfe87
|
||||
SIZE (xdd65.013007.tgz) = 1958529
|
||||
SHA256 (xdd65.013007.tgz) = bc874a4940a1d3c2e4f4640e03da898cb699b4a6ea466db6d401999b025927ab
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
# XDD Makefile for FreeBSD
|
||||
SHELL = /bin/sh
|
||||
CC ?= gcc
|
||||
CFLAGS += -DFreeBSD -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g
|
||||
PROJECT = xdd
|
||||
OBJECTS = xdd.o access_pattern.o barrier.o global_time.o initialization.o parse.o pclk.o read_after_write.o results.o ticker.o time_stamp.o verify.o
|
||||
HEADERS = xdd.h pclk.h ticker.h misc.h
|
||||
TSOBJECTS = timeserver.o pclk.o ticker.o
|
||||
GTOBJECTS = gettime.o global_time.o pclk.o ticker.o
|
||||
|
||||
all: xdd timeserver gettime
|
||||
|
||||
xdd: $(OBJECTS)
|
||||
${CC} -o xdd $(CFLAGS) $(OBJECTS) -lpthread -v
|
||||
mv -f xdd bin/xdd.freebsd
|
||||
|
||||
timeserver: $(TSOBJECTS)
|
||||
${CC} -o timeserver $(CFLAGS) $(TSOBJECTS) -lpthread -v
|
||||
mv -f timeserver bin/timeserver.freebsd
|
||||
|
||||
gettime: $(GTOBJECTS)
|
||||
${CC} -o gettime $(CFLAGS) $(GTOBJECTS) -lpthread -v
|
||||
mv -f gettime bin/gettime.freebsd
|
||||
|
||||
access_pattern.o: access_pattern.c
|
||||
${CC} $(CFLAGS) -c access_pattern.c
|
||||
|
||||
barrier.o: barrier.c
|
||||
${CC} $(CFLAGS) -c barrier.c
|
||||
|
||||
gettime.o: gettime.c
|
||||
${CC} $(CFLAGS) -c gettime.c
|
||||
|
||||
global_time.o: global_time.c
|
||||
${CC} $(CFLAGS) -c global_time.c
|
||||
|
||||
initialization.o: initialization.c
|
||||
${CC} $(CFLAGS) -c initialization.c
|
||||
|
||||
parse.o: parse.c
|
||||
${CC} $(CFLAGS) -c parse.c
|
||||
|
||||
pclk.o: pclk.c
|
||||
${CC} $(CFLAGS) -c pclk.c
|
||||
|
||||
read_after_write.o: read_after_write.c
|
||||
${CC} $(CFLAGS) -c read_after_write.c
|
||||
|
||||
results.o: results.c
|
||||
${CC} $(CFLAGS) -c results.c
|
||||
|
||||
ticker.o: ticker.c
|
||||
${CC} $(CFLAGS) -c ticker.c
|
||||
|
||||
time_stamp.o: time_stamp.c
|
||||
${CC} $(CFLAGS) -c time_stamp.c
|
||||
|
||||
timeserver.o: timeserver.c
|
||||
${CC} $(CFLAGS) -c timeserver.c
|
||||
|
||||
xdd.o: xdd.c
|
||||
${CC} $(CFLAGS) -c xdd.c
|
||||
|
||||
dist: clean
|
||||
tar cf ../dist.tar .
|
||||
clean:
|
||||
-rm -f xdd timeserver gettime a.out $(OBJECTS) $(TSOBJECTS) $(GTOBJECTS)
|
||||
|
||||
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
--- global_time.c.orig Fri Mar 16 06:52:49 2007
|
||||
+++ global_time.c Fri Mar 16 06:53:39 2007
|
||||
@@ -42,11 +42,15 @@
|
||||
#else /* GENERIC_UNIX */
|
||||
#include <netdb.h>
|
||||
#include <sys/socket.h>
|
||||
+#if (FreeBSD)
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/unistd.h>
|
||||
+#endif /* (FreeBSD) */
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/tcp.h>
|
||||
#include <arpa/inet.h>
|
||||
#endif
|
||||
-#if (AIX || HPUX || SOLARIS)
|
||||
+#if (AIX || HPUX || SOLARIS || FreeBSD)
|
||||
#include <stdarg.h>
|
||||
#endif
|
||||
#include "xdd.h"
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
--- initialization.c.orig Fri Mar 16 06:54:36 2007
|
||||
+++ initialization.c Fri Mar 16 06:56:05 2007
|
||||
@@ -628,7 +628,7 @@
|
||||
* NOTE: This is not supported by all operating systems.
|
||||
*/
|
||||
if (p->target_options & RX_SHARED_MEMORY) {
|
||||
-#if (AIX || LINUX || SOLARIS || OSX)
|
||||
+#if (AIX || LINUX || SOLARIS || OSX || FreeBSD)
|
||||
/* In AIX we need to get memory in a shared memory segment to avoid
|
||||
* the system continually trying to pin each page on every I/O operation */
|
||||
#if (AIX)
|
||||
@@ -656,14 +656,14 @@
|
||||
fprintf(xgp->errout,"%s: Shared Memory not supported on this OS - using valloc\n",
|
||||
xgp->progname);
|
||||
p->target_options &= ~RX_SHARED_MEMORY;
|
||||
-#if (IRIX || SOLARIS || HPUX || LINUX || AIX || ALTIX || OSX)
|
||||
+#if (IRIX || SOLARIS || HPUX || LINUX || AIX || ALTIX || OSX || FreeBSD)
|
||||
rwbuf = valloc(p->iosize);
|
||||
#else
|
||||
rwbuf = malloc(p->iosize);
|
||||
#endif
|
||||
#endif
|
||||
} else { /* Allocate memory the normal way */
|
||||
-#if (IRIX || SOLARIS || HPUX || LINUX || AIX || ALTIX || OSX)
|
||||
+#if (IRIX || SOLARIS || HPUX || LINUX || AIX || ALTIX || OSX || FreeBSD)
|
||||
rwbuf = valloc(p->iosize);
|
||||
#else
|
||||
rwbuf = malloc(p->iosize);
|
||||
@@ -740,7 +740,7 @@
|
||||
newlim = liret - (PAGESIZE*8);
|
||||
return;
|
||||
#else
|
||||
-#if (LINUX || SOLARIS || HPUX || OSX || AIX)
|
||||
+#if (LINUX || SOLARIS || HPUX || OSX || AIX || FreeBSD)
|
||||
if (getuid() != 0) {
|
||||
fprintf(xgp->errout,"(PID %d) %s: You must run as superuser to lock memory for %s\n",
|
||||
getpid(),xgp->progname, sp);
|
||||
@@ -889,7 +889,7 @@
|
||||
#endif
|
||||
return;
|
||||
#else
|
||||
-#if (IRIX || SOLARIS || HPUX || LINUX || ALTIX || OSX)
|
||||
+#if (IRIX || SOLARIS || HPUX || LINUX || ALTIX || OSX || FreeBSD)
|
||||
if (getuid() != 0) {
|
||||
return;
|
||||
}
|
||||
@@ -974,7 +974,7 @@
|
||||
if (xgp->global_options & RX_NOPROCLOCK)
|
||||
return;
|
||||
#if !(OSX)
|
||||
-#if (IRIX || SOLARIS || HPUX || AIX || LINUX || ALTIX || OSX)
|
||||
+#if (IRIX || SOLARIS || HPUX || AIX || LINUX || ALTIX || OSX || FreeBSD)
|
||||
if (getuid() != 0)
|
||||
fprintf(xgp->errout,"%s: xdd_schedule_options: You must be super user to lock processes\n",xgp->progname);
|
||||
#endif
|
||||
@@ -985,7 +985,7 @@
|
||||
perror("Reason");
|
||||
}
|
||||
if (xgp->global_options & RX_MAXPRI) {
|
||||
-#if (IRIX || SOLARIS || HPUX || AIX || LINUX || ALTIX || OSX)
|
||||
+#if (IRIX || SOLARIS || HPUX || AIX || LINUX || ALTIX || OSX || FreeBSD)
|
||||
if (getuid() != 0)
|
||||
fprintf(xgp->errout,"%s: xdd_schedule_options: You must be super user to max priority\n",xgp->progname);
|
||||
#endif
|
||||
@@ -1127,7 +1127,7 @@
|
||||
#endif
|
||||
#if (IRIX || SOLARIS || HPUX || AIX || ALTIX)
|
||||
struct stat64 statbuf; /* buffer for file statistics */
|
||||
-#elif ( LINUX || OSX )
|
||||
+#elif ( LINUX || OSX || FreeBSD )
|
||||
struct stat statbuf; /* buffer for file statistics */
|
||||
#endif
|
||||
int32_t i; /* working variable */
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
--- misc.h.orig Fri Mar 16 06:42:14 2007
|
||||
+++ misc.h Fri Mar 16 06:43:02 2007
|
||||
@@ -35,7 +35,7 @@
|
||||
/* -------- */
|
||||
/* Includes */
|
||||
/* -------- */
|
||||
-#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX)
|
||||
+#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX || FreeBSD)
|
||||
#ifndef NDEBUG /* These are only needed if Assert() expands to something */
|
||||
#include <stdio.h> /* fprintf(), stderr */
|
||||
#include <unistd.h> /* pause() */
|
||||
@@ -60,7 +60,7 @@
|
||||
/* --------- */
|
||||
/* Constants */
|
||||
/* --------- */
|
||||
-#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX)
|
||||
+#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX || FreeBSD)
|
||||
#define MILLION 1000000LL /* 10^6, as opposed to 2^20 */
|
||||
#define BILLION 1000000000LL /* 10^9, as opposed to 2^30 */
|
||||
#define TRILLION 1000000000000LL /* 10^12, as opposed to 2^40 */
|
||||
@@ -77,7 +77,7 @@
|
||||
#ifndef LLONG_MIN
|
||||
#define LLONG_MIN (-LLONG_MAX - 1LL)
|
||||
#endif
|
||||
-#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX)
|
||||
+#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX || FreeBSD)
|
||||
#ifndef LONGLONG_MIN
|
||||
#define LONGLONG_MIN LLONG_MIN
|
||||
#endif
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
--- parse.c.orig Fri Mar 16 07:10:44 2007
|
||||
+++ parse.c Fri Mar 16 07:11:44 2007
|
||||
@@ -810,7 +810,7 @@
|
||||
xddfunc_delay(int32_t argc, char *argv[])
|
||||
{
|
||||
xgp->passdelay = atoi(argv[1]);
|
||||
- return(1);
|
||||
+ return(2);
|
||||
}
|
||||
/*----------------------------------------------------------------------------*/
|
||||
// Delete the target file when complete
|
||||
@@ -1218,7 +1218,7 @@
|
||||
xddfunc_maxerrors(int32_t argc, char *argv[])
|
||||
{
|
||||
xgp->max_errors = atoll(argv[1]);
|
||||
- return(1);
|
||||
+ return(2);
|
||||
}
|
||||
/*----------------------------------------------------------------------------*/
|
||||
// Set the maximum runtime priority
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
--- ticker.c.orig Fri Mar 16 07:12:27 2007
|
||||
+++ ticker.c Fri Mar 16 07:12:55 2007
|
||||
@@ -75,7 +75,7 @@
|
||||
return;
|
||||
}
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
-#elif (LINUX || SOLARIS || AIX || HPUX || OSX)
|
||||
+#elif (LINUX || SOLARIS || AIX || HPUX || OSX || FreeBSD)
|
||||
void
|
||||
ticker_open(tick_t *tickp) {
|
||||
uint32_t picos;
|
||||
@@ -160,7 +160,7 @@
|
||||
return; /* Ticker not open, or error reading ticker */
|
||||
}
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
-#elif (LINUX || SOLARIS || AIX || HPUX || OSX)
|
||||
+#elif (LINUX || SOLARIS || AIX || HPUX || OSX || FreeBSD)
|
||||
void
|
||||
ticker_read(tick_t *tickp) {
|
||||
struct timeval current_time;
|
||||
@@ -197,7 +197,7 @@
|
||||
*
|
||||
* Close the ticker.
|
||||
*/
|
||||
-#if (WIN32 || LINUX || SOLARIS || AIX || HPUX || OSX)
|
||||
+#if (WIN32 || LINUX || SOLARIS || AIX || HPUX || OSX || FreeBSD)
|
||||
void
|
||||
ticker_close(void) {
|
||||
ticker_period = 0;
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- ticker.h.orig Fri Mar 16 06:44:32 2007
|
||||
+++ ticker.h Fri Mar 16 06:44:41 2007
|
||||
@@ -35,7 +35,7 @@
|
||||
/* Types */
|
||||
/* ----- */
|
||||
/* A ticker value */
|
||||
-#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX)
|
||||
+#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX || FreeBSD)
|
||||
typedef unsigned long long tick_t;
|
||||
#else
|
||||
typedef unsigned __int64 tick_t;
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
--- timeserver.c.orig Fri Mar 16 07:13:50 2007
|
||||
+++ timeserver.c Fri Mar 16 07:14:38 2007
|
||||
@@ -30,9 +30,9 @@
|
||||
#include <stdarg.h> /* variable arguments stuff */
|
||||
#include <string.h> /* strrchr(), strerror() */
|
||||
#include <errno.h> /* errno stuff */
|
||||
-#if (IRIX || SOLARIS || AIX || HPUX || LINUX || OSX)
|
||||
+#if (IRIX || SOLARIS || AIX || HPUX || LINUX || OSX || FreeBSD)
|
||||
#include <unistd.h>
|
||||
-#if !(SOLARIS || AIX || HPUX || LINUX || OSX)
|
||||
+#if !(SOLARIS || AIX || HPUX || LINUX || OSX || FreeBSD)
|
||||
#include <bstring.h>
|
||||
#endif
|
||||
#include <limits.h> /* USHRT_MAX */
|
||||
@@ -58,7 +58,7 @@
|
||||
/* ----- */
|
||||
/* Types */
|
||||
/* ----- */
|
||||
-#if !(IRIX || SOLARIS || AIX || HPUX || LINUX || OSX)
|
||||
+#if !(IRIX || SOLARIS || AIX || HPUX || LINUX || OSX || FreeBSD)
|
||||
/* SGI defines these in <netinet/in.h> */
|
||||
typedef unsigned long in_addr_t; /* An IP number */
|
||||
typedef unsigned short in_port_t; /* A port number */
|
||||
@@ -225,7 +225,7 @@
|
||||
#if (IRIX || WIN32)
|
||||
nd = getdtablehi();
|
||||
#endif
|
||||
-#if (LINUX || OSX)
|
||||
+#if (LINUX || OSX || FreeBSD)
|
||||
nd = getdtablesize();
|
||||
#endif
|
||||
#if (AIX)
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
--- xdd.c.orig Mon May 29 04:06:49 2006
|
||||
+++ xdd.c Mon May 29 04:24:54 2006
|
||||
@@ -60,7 +60,7 @@
|
||||
/* Things used by the read-after-write operations */
|
||||
#if (IRIX || SOLARIS || HPUX || AIX || ALTIX)
|
||||
struct stat64 statbuf;
|
||||
-#elif (LINUX || OSX)
|
||||
+#elif (LINUX || OSX || FreeBSD)
|
||||
struct stat statbuf;
|
||||
#endif
|
||||
int64_t prev_loc; /* The previous location from a read-after-write message from the writer */
|
||||
@@ -114,11 +114,11 @@
|
||||
sleep_time_dw = (int32_t)(p->start_delay/BILLION);
|
||||
#ifdef WIN32
|
||||
Sleep(sleep_time_dw);
|
||||
-#elif (LINUX || IRIX || AIX || ALTIX || OSX) /* Add OS Support to this line for usleep() */
|
||||
+#elif (LINUX || IRIX || AIX || ALTIX || OSX || FreeBSD) /* Add OS Support to this line for usleep() */
|
||||
if ((sleep_time_dw*CLK_TCK) > 1000) /* only sleep if it will be 1 or more ticks */
|
||||
#if (IRIX || ALTIX)
|
||||
sginap((sleep_time_dw*CLK_TCK)/1000);
|
||||
-#elif (LINUX || AIX || OSX) /* Add OS Support to this line for usleep() as well*/
|
||||
+#elif (LINUX || AIX || OSX || FreeBSD) /* Add OS Support to this line for usleep() as well*/
|
||||
usleep(sleep_time_dw*1000);
|
||||
#endif
|
||||
#endif
|
||||
@@ -384,14 +384,14 @@
|
||||
p->my_current_byte_location = (uint64_t)((p->mynum * xgp->target_offset) + p->seekhdr.seeks[0].block_location) * p->block_size;
|
||||
else p->my_current_byte_location = (uint64_t)((p->mynum * xgp->target_offset) + p->seekhdr.seeks[current_op].block_location) * p->block_size;
|
||||
|
||||
-#if (LINUX || IRIX || SOLARIS || HPUX || AIX || ALTIX || OSX)
|
||||
+#if (LINUX || IRIX || SOLARIS || HPUX || AIX || ALTIX || OSX || FreeBSD)
|
||||
if ((p->target_options & RX_READAFTERWRITE) && (p->target_options & RX_RAW_READER)) {
|
||||
// fprintf(stderr,"Reader: RAW check - dataready=%lld, trigger=%x\n",data_ready,p->raw_trigger);
|
||||
/* Check to see if we can read more data - if not see where we are at */
|
||||
if (p->raw_trigger & RX_RAW_STAT) { /* This section will continually poll the file status waiting for the size to increase so that it can read more data */
|
||||
while (data_ready < p->iosize) {
|
||||
/* Stat the file so see if there is data to read */
|
||||
-#if (LINUX || OSX)
|
||||
+#if (LINUX || OSX || FreeBSD)
|
||||
status = fstat(p->fd,&statbuf);
|
||||
#else
|
||||
status = fstat64(p->fd,&statbuf);
|
||||
@@ -472,11 +472,11 @@
|
||||
sleep_time_dw = sleep_time;
|
||||
#ifdef WIN32
|
||||
Sleep(sleep_time_dw);
|
||||
-#elif (LINUX || IRIX || AIX || ALTIX || OSX) /* Change this line to use usleep */
|
||||
+#elif (LINUX || IRIX || AIX || ALTIX || OSX || FreeBSD) /* Change this line to use usleep */
|
||||
if ((sleep_time_dw*CLK_TCK) > 1000) /* only sleep if it will be 1 or more ticks */
|
||||
#if (IRIX || ALTIX)
|
||||
sginap((sleep_time_dw*CLK_TCK)/1000);
|
||||
-#elif (LINUX || AIX || OSX) /* Change this line to use usleep */
|
||||
+#elif (LINUX || AIX || OSX || FreeBSD) /* Change this line to use usleep */
|
||||
usleep(sleep_time_dw*1000);
|
||||
#endif
|
||||
#endif
|
||||
@@ -564,7 +564,7 @@
|
||||
#else /* UUUUUUUUUUUUUUUU Begin Unix stuff UUUUUUUUUUUUUUUUU*/
|
||||
#if (IRIX || SOLARIS || HPUX || AIX || ALTIX)
|
||||
lseek64(p->fd,(off64_t)p->my_current_byte_location,0);
|
||||
-#elif (LINUX || OSX)
|
||||
+#elif (LINUX || OSX || FreeBSD)
|
||||
/* In Linux the -D_FILE_OFFSET_BITS=64 make the off_t type be a 64-bit integer */
|
||||
if (!p->target_options & RX_SGIO)
|
||||
lseek(p->fd, (off_t)p->my_current_byte_location, SEEK_SET);
|
||||
@@ -653,7 +653,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
-#if (LINUX || IRIX || SOLARIS || HPUX || AIX || ALTIX || OSX)
|
||||
+#if (LINUX || IRIX || SOLARIS || HPUX || AIX || ALTIX || OSX || FreeBSD)
|
||||
if ((p->target_options & RX_READAFTERWRITE) && (p->target_options & RX_RAW_WRITER)) {
|
||||
/* Since I am the writer in a read-after-write operation, and if we are using a socket connection to the reader for write-completion messages
|
||||
* then I need to send the reader a message of what I just wrote - starting location and length of write.
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
--- xdd.h.orig Fri Mar 16 06:35:11 2007
|
||||
+++ xdd.h Fri Mar 16 07:04:35 2007
|
||||
@@ -48,7 +48,7 @@
|
||||
#include <sys/ipc.h>
|
||||
#include <sys/sem.h>
|
||||
#include <sys/times.h>
|
||||
-#if !(SOLARIS || HPUX || AIX || OSX)
|
||||
+#if !(SOLARIS || HPUX || AIX || OSX || FreeBSD)
|
||||
#include <sys/prctl.h>
|
||||
#endif
|
||||
#include <sys/param.h>
|
||||
@@ -70,6 +70,11 @@
|
||||
#include <sys/procset.h>
|
||||
#include <sys/utsname.h>
|
||||
#endif
|
||||
+#ifdef FreeBSD
|
||||
+#include <inttypes.h>
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/unistd.h>
|
||||
+#endif
|
||||
#ifdef AIX
|
||||
#include <sys/processor.h>
|
||||
#include <ulimit.h>
|
||||
@@ -92,7 +97,7 @@
|
||||
#include <sys/utsname.h>
|
||||
#endif
|
||||
/* for the global clock stuff */
|
||||
-#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX)
|
||||
+#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX || FreeBSD)
|
||||
#include <netdb.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
@@ -199,7 +204,7 @@
|
||||
#ifdef HPUX
|
||||
typedef unsigned short in_port_t;
|
||||
#endif
|
||||
-#if (LINUX || SOLARIS || HPUX || AIX || OSX)
|
||||
+#if (LINUX || SOLARIS || HPUX || AIX || OSX || FreeBSD)
|
||||
#define MP_MUSTRUN 1 /* ASsign this thread to a specific processor */
|
||||
#define MP_NPROCS 2 /* return the number of processors on the system */
|
||||
typedef int sd_t; /* A socket descriptor */
|
||||
@@ -291,6 +296,18 @@
|
||||
#define RX_SHARED_MEMORY (uint64_t) 0x0000000020000000 /* Use a shared memory segment instead of malloced memmory */
|
||||
#define RX_VERBOSE (uint64_t) 0x0000000040000000 /* Verbose output */
|
||||
#define RX_SEQUENCED_PATTERN (uint64_t) 0x0000000080000000 /* Sequenced Data Pattern in the data buffer */
|
||||
+#if (FreeBSD)
|
||||
+#define RX_ASCII_PATTERN (uint64_t) 0x0000000100000000LL /* ASCII Data Pattern in the data buffer */
|
||||
+#define RX_HEX_PATTERN (uint64_t) 0x0000000200000000LL /* HEXIDECIMAL Data Pattern in the data buffer */
|
||||
+#define RX_SINGLECHAR_PATTERN (uint64_t) 0x0000000400000000LL /* HEXIDECIMAL Data Pattern in the data buffer */
|
||||
+#define RX_FILE_PATTERN (uint64_t) 0x0000000800000000LL /* Name of file that contains the Data Pattern */
|
||||
+#define RX_REPLICATE_PATTERN (uint64_t) 0x0000001000000000LL /* Replicate Data Pattern throughout the data buffer */
|
||||
+#define RX_NOMEMLOCK (uint64_t) 0x0000002000000000LL /* Do not lock memory */
|
||||
+#define RX_NOPROCLOCK (uint64_t) 0x0000004000000000LL /* Do not lock process */
|
||||
+#define RX_REOPEN (uint64_t) 0x0000008000000000LL /* Open/Close target on each pass and record time */
|
||||
+#define RX_CREATE_NEW_FILES (uint64_t) 0x0000010000000000LL /* Create new targets for each pass */
|
||||
+#define RX_RECREATE (uint64_t) 0x0000020000000000LL /* ReCreate targets for each pass */
|
||||
+#else
|
||||
#define RX_ASCII_PATTERN (uint64_t) 0x0000000100000000 /* ASCII Data Pattern in the data buffer */
|
||||
#define RX_HEX_PATTERN (uint64_t) 0x0000000200000000 /* HEXIDECIMAL Data Pattern in the data buffer */
|
||||
#define RX_SINGLECHAR_PATTERN (uint64_t) 0x0000000400000000 /* HEXIDECIMAL Data Pattern in the data buffer */
|
||||
@@ -301,6 +318,7 @@
|
||||
#define RX_REOPEN (uint64_t) 0x0000008000000000 /* Open/Close target on each pass and record time */
|
||||
#define RX_CREATE_NEW_FILES (uint64_t) 0x0000010000000000 /* Create new targets for each pass */
|
||||
#define RX_RECREATE (uint64_t) 0x0000020000000000 /* ReCreate targets for each pass */
|
||||
+#endif /* (FreeBSD) */
|
||||
|
||||
/* ts_options bit settings */
|
||||
#define TS_NORMALIZE 0x00000001 /* Time stamping normalization of output*/
|
||||
@@ -340,14 +358,14 @@
|
||||
/* XXX *//* This needs to be converted to use a config file */
|
||||
/* Default flag values */
|
||||
#define DFL_FL_SERVER false /* Client by default */
|
||||
-#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX)
|
||||
+#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || FreeBSD)
|
||||
#define DFL_FL_ADDR INADDR_ANY /* Any address */ /* server only */
|
||||
#else /* Windows */
|
||||
#define DFL_FL_ADDR 0x8065b61b /* 128.101.182.27 */
|
||||
#endif
|
||||
#define DFL_FL_PORT 2000 /* Port to use */
|
||||
#define DFL_FL_COUNT 10 /* Bounce a hundred times */
|
||||
-#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX)
|
||||
+#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX || FreeBSD)
|
||||
#define DFL_FL_TIME 99160##000000000000LL /* Zero means don't wait */
|
||||
#else
|
||||
#define DFL_FL_TIME 99160##000000000000I64 /* Zero means don't wait */
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
From the Xdd User's Guide:
|
||||
|
||||
About xdd
|
||||
|
||||
Xdd is a tool for measuring and characterizing disk subsystem I/O
|
||||
on single systems and clusters of systems. It is a command-line
|
||||
based tool that grew out of the UNIX world and has been ported to
|
||||
run in Windows environments as well. It is designed to provide
|
||||
consistent and reproducible performance measurements of disk I/O
|
||||
traffic. There are three basic components to xdd that include the
|
||||
xdd program itself, a timeserver program, and a gettime program.
|
||||
The timeserver and gettime programs are used to synchronize the
|
||||
clocks of xdd programs simultaneously running across multiple
|
||||
computer systems.
|
||||
|
||||
WWW: http://www.ioperformance.com/
|
||||
Loading…
Add table
Reference in a new issue