PAPI  5.4.0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
iozone.c File Reference
Include dependency graph for iozone.c:

Go to the source code of this file.

Data Structures

struct  child_stats
 
struct  runtime
 
struct  client_command
 
struct  client_neutral_command
 
struct  master_command
 
struct  master_neutral_command
 
struct  size_entry
 
struct  child_ident
 

Macros

#define THISVERSION   " Version $Revision$"
 
#define MODE   "\tCompiled for 32 bit mode."
 
#define MAP_FAILED   -1
 
#define VOLATILE
 
#define DEDUPSEED   0x2719362
 
#define R_CHILD_JOIN   1
 
#define R_STAT_DATA   2
 
#define R_FLAG_DATA   3
 
#define R_JOIN_ACK   4
 
#define R_STOP_FLAG   5
 
#define R_TERMINATE   6
 
#define R_DEATH   7
 
#define CACHE_LINE_SIZE   32
 
#define CACHE_SIZE   ( 1024 * 1024 )
 
#define MEG   (1024 * 1024)
 
#define STRIDE   17
 
#define IBUFSIZE   100
 
#define DISRUPT   100
 
#define LARGE_REC   65536
 
#define KILOBYTES   512
 
#define RECLEN   1024
 
#define FILESIZE   (KILOBYTES*1024)
 
#define NUMRECS   FILESIZE/RECLEN
 
#define CROSSOVER   (16*1024)
 
#define MAXBUFFERSIZE   (16*1024*1024)
 
#define MAXSTREAMS   256
 
#define MINBUFFERSIZE   128
 
#define TOOFAST   10
 
#define MAXTESTS   12
 
#define PATTERN   get_pattern();
 
#define PATTERN1   0xBB
 
#define MAX_X   100
 
#define MAX_Y   512
 
#define USAGE   "\tUsage: For usage information type iozone -h \n\n"
 
#define MAXNAMESIZE   1000
 
#define CONTROL_STRING1   "%16lld%8ld%8ld%8ld%8ld%8ld%8ld%8ld %8ld %8ld%8ld%8ld%8ld%9ld%9ld\n"
 
#define CONTROL_STRING2   "%16s%8s%8s%8s%8s%10s%8s%8s%8s %8s %8s%9s%9s%8s%9s\n"
 
#define CONTROL_STRING3   "%16s%8s%8s%8s%8s%10s%8s%8s%8s %8s %8s%9s%9s%8s%9s\n"
 
#define CONTROL_STRING4   "%16s%8s%8s%8s%8s%10s\n"
 
#define KILOBYTES_START   64
 
#define KILOBYTES_END   (1024*512)
 
#define RECLEN_START   4096
 
#define RECLEN_END   (MAXBUFFERSIZE)
 
#define MULTIPLIER   2
 
#define WRITER_TEST   0
 
#define READER_TEST   1
 
#define RANDOM_RW_TEST   2
 
#define REVERSE_TEST   3
 
#define REWRITE_REC_TEST   4
 
#define STRIDE_READ_TEST   5
 
#define FWRITER_TEST   6
 
#define FREADER_TEST   7
 
#define RANDOM_MIX_TEST   8
 
#define WRITER_MASK   (1 << WRITER_TEST)
 
#define READER_MASK   (1 << READER_TEST)
 
#define RANDOM_RW_MASK   (1 << RANDOM_RW_TEST)
 
#define RANDOM_MIX_MASK   (1 << RANDOM_MIX_TEST)
 
#define REVERSE_MASK   (1 << REVERSE_TEST)
 
#define REWRITE_REC_MASK   (1 << REWRITE_REC_TEST)
 
#define STRIDE_READ_MASK   (1 << STRIDE_READ_TEST)
 
#define FWRITER_MASK   (1 << FWRITER_TEST)
 
#define FREADER_MASK   (1 << FREADER_TEST)
 
#define CHILD_STATE_HOLD   0
 
#define CHILD_STATE_READY   1
 
#define CHILD_STATE_BEGIN   2
 
#define CHILD_STATE_DONE   3
 
#define MERSENNE
 
#define cputime_so_far()   time_so_far()
 
#define I_LSEEK(x, y, z)   lseek(x,(off_t)(y),z)
 
#define I_OPEN(x, y, z)   open(x,(int)(y),(int)(z))
 
#define I_CREAT(x, y)   creat(x,(int)(y))
 
#define I_FOPEN(x, y)   fopen(x,y)
 
#define I_STAT(x, y)   stat(x,y)
 
#define I_MMAP(a, b, c, d, e, f)   mmap((void *)(a),(size_t)(b),(int)(c),(int)(d),(int)(e),(off_t)(f))
 
#define SHMSIZE   ((( sizeof(struct child_stats) * MAXSTREAMS) )+4096 )
 
#define HOST_LIST_PORT   20000
 
#define HOST_ESEND_PORT   (HOST_LIST_PORT+MAXSTREAMS)
 
#define HOST_ASEND_PORT   (HOST_ESEND_PORT+MAXSTREAMS)
 
#define CHILD_ESEND_PORT   (HOST_ASEND_PORT+MAXSTREAMS)
 
#define CHILD_LIST_PORT   (CHILD_ESEND_PORT+MAXSTREAMS)
 
#define CHILD_ALIST_PORT   (CHILD_LIST_PORT+MAXSTREAMS)
 
#define SP_CHILD_LISTEN_PORT   31000
 
#define SP_CHILD_ESEND_PORT   (SP_CHILD_LISTEN_PORT+10)
 
#define SP_MASTER_LISTEN_PORT   (SP_CHILD_ESEND_PORT+10)
 
#define SP_MASTER_ESEND_PORT   (SP_MASTER_LISTEN_PORT+10)
 
#define SP_MASTER_RESULTS_PORT   (SP_MASTER_ESEND_PORT+10)
 
#define THREAD_WRITE_TEST   1
 
#define THREAD_REWRITE_TEST   2
 
#define THREAD_READ_TEST   3
 
#define THREAD_REREAD_TEST   4
 
#define THREAD_STRIDE_TEST   5
 
#define THREAD_RANDOM_READ_TEST   6
 
#define THREAD_RANDOM_WRITE_TEST   7
 
#define THREAD_REVERSE_READ_TEST   8
 
#define THREAD_RANDOM_MIX_TEST   9
 
#define THREAD_PWRITE_TEST   10
 
#define THREAD_PREAD_TEST   11
 
#define THREAD_FWRITE_TEST   12
 
#define THREAD_FREAD_TEST   13
 
#define THREAD_CLEANUP_TEST   14
 
#define C_STATE_ZERO   1
 
#define C_STATE_WAIT_WHO   2
 
#define C_STATE_WAIT_BARRIER   3
 
#define NN   312
 
#define MM   156
 
#define MATRIX_A   0xB5026F5AA96619E9ULL
 
#define UM   0xFFFFFFFF80000000ULL /* Most significant 33 bits */
 
#define LM   0x7FFFFFFFULL /* Least significant 31 bits */
 
#define DFLT_SERVICE   "PIT" /* Default service name. */
 
#define INVALID_DESC   -1 /* Invalid file (socket) descriptor. */
 
#define MAXBFRSIZE   256 /* Max bfr sz to read remote TOD. */
 
#define BUCKETS   40
 

Typedefs

typedef long long off64_t
 
typedef struct sockaddr_in sockaddr_in_t
 
typedef struct sockaddr_in6 sockaddr_in6_t
 

Enumerations

enum  boolean { false = 0, true }
 

Functions

int atoi ()
 
int close ()
 
int unlink ()
 
int main ()
 
void record_command_line ()
 
int wait ()
 
int fsync ()
 
void srand48 ()
 
long lrand48 ()
 
void create_list ()
 
void Poll ()
 
void print_header ()
 
void Kill ()
 
long long l_min ()
 
long long l_max ()
 
long long mythread_create ()
 
int gen_new_buf ()
 
void touch_dedup ()
 
void init_by_array64 (unsigned long long *, unsigned long long)
 
unsigned long long genrand64_int64 (void)
 
char * initfile ()
 
int pit_gettimeofday ()
 
static int openSckt (const char *, const char *, unsigned int)
 
static void pit (int, struct timeval *)
 
void mmap_end ()
 
void alloc_pbuf ()
 
void auto_test ()
 
void show_help ()
 
static double time_so_far ()
 
static double time_so_far1 ()
 
void get_resolution ()
 
void get_rusage_resolution ()
 
void signal_handler ()
 
void begin ()
 
void fetchit ()
 
void purgeit ()
 
void throughput_test ()
 
void multi_throughput_test ()
 
void prepage ()
 
void get_date ()
 
int get_pattern ()
 
float do_compute ()
 
void write_perf_test ()
 
void fwrite_perf_test ()
 
void fread_perf_test ()
 
void read_perf_test ()
 
void mix_perf_test ()
 
void random_perf_test ()
 
void reverse_perf_test ()
 
void rewriterec_perf_test ()
 
void read_stride_perf_test ()
 
void store_dvalue ()
 
void dump_excel ()
 
void dump_throughput ()
 
int sp_start_child_send ()
 
int sp_start_master_listen ()
 
void do_speed_check ()
 
char * getenv ()
 
char * inet_ntoa ()
 
int system ()
 
void my_nap ()
 
void my_unap ()
 
int thread_exit ()
 
void close_xls ()
 
void do_label ()
 
int create_xls ()
 
void do_float ()
 
int mylockf ()
 
int mylockr ()
 
int rand ()
 
void srand ()
 
int get_client_info ()
 
void exit ()
 
void find_remote_shell ()
 
void traj_vers ()
 
void r_traj_size ()
 
long long w_traj_size ()
 
FILE * open_w_traj ()
 
FILE * open_r_traj ()
 
void create_temp ()
 
void fill_buffer ()
 
char * alloc_mem ()
 
void *() thread_rwrite_test ()
 
void *() thread_write_test ()
 
void *() thread_fwrite_test ()
 
void *() thread_fread_test ()
 
void *() thread_read_test ()
 
void *() thread_cleanup_test ()
 
void *() thread_ranread_test ()
 
void *() thread_mix_test ()
 
void *() thread_ranwrite_test ()
 
void *() thread_rread_test ()
 
void *() thread_reverse_read_test ()
 
void *() thread_stride_read_test ()
 
void *() thread_set_base ()
 
void *() thread_join ()
 
void disrupt ()
 
long long get_traj ()
 
void init_file_sizes ()
 
off64_t get_next_file_size ()
 
void add_file_size ()
 
void init_record_sizes ()
 
off64_t get_next_record_size ()
 
void add_record_size ()
 
void dump_cputimes ()
 
static double cpu_util ()
 
void del_record_sizes ()
 
void hist_insert ()
 
void dump_hist ()
 
void child_send ()
 
int start_child_listen ()
 
int start_child_listen_async ()
 
void start_child_listen_loop ()
 
void child_listen ()
 
void child_listen_async ()
 
void stop_child_send ()
 
void stop_child_listen ()
 
void cleanup_comm ()
 
void master_send ()
 
int start_master_send ()
 
int start_master_listen ()
 
int check_filename ()
 
void master_listen ()
 
void stop_master_send ()
 
void stop_master_listen ()
 
long long start_child_proc ()
 
int parse_client_line ()
 
void wait_dist_join ()
 
void tell_children_begin ()
 
void start_master_listen_loop ()
 
void wait_for_master_go ()
 
void tell_master_ready ()
 
void stop_master_listen_loop ()
 
void tell_master_stats ()
 
void become_client ()
 
int pick_client ()
 
void child_remove_files ()
 
void terminate_child_async ()
 
void distribute_stop ()
 
void send_stop ()
 
void cleanup_children ()
 
 setvbuf (stdout, NULL, _IONBF,(size_t) NULL)
 
 setvbuf (stderr, NULL, _IONBF,(size_t) NULL)
 
 gethostname (controlling_host_name, 100)
 
 srand (time(0))
 
void find_external_mon (imon_start, imon_stop)
 
 sprintf (splash[splash_line++],"\tIozone: Performance Test of File I/O\n")
 
 sprintf (splash[splash_line++],"\t%s\n\t%s\n", THISVERSION, MODE)
 
 sprintf (splash[splash_line++],"\t\tBuild: %s \n\n", build_name)
 
 sprintf (splash[splash_line++],"\tContributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins\n")
 
 sprintf (splash[splash_line++],"\t Al Slater, Scott Rhine, Mike Wisner, Ken Goss\n")
 
 sprintf (splash[splash_line++],"\t Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,\n")
 
 sprintf (splash[splash_line++],"\t Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,\n")
 
 sprintf (splash[splash_line++],"\t Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,\n")
 
 sprintf (splash[splash_line++],"\t Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,\n")
 
 sprintf (splash[splash_line++],"\t Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer.\n")
 
 sprintf (splash[splash_line++],"\t Ben England.\n\n")
 
 sprintf (splash[splash_line++],"\tRun began: %s\n", ctime(&time_run))
 
 signal (SIGINT, signal_handler)
 
 signal (SIGTERM, signal_handler)
 
 if (buffer==0)
 
 if (buffer1==0)
 
 touch_dedup (buffer1, MAXBUFFERSIZE)
 
 strcpy (filename, default_filename)
 
 sprintf (dummyfile[0],"%s.DUMMY", default_filename)
 
 if (argc<=1)
 
 while ((cret=getopt(argc, argv,"ZQNIBDGCTOMREWovAxamwphcezKJ:j:k:V:r:t:s:f:F:d:l:u:U:S:L:H:+:P:i:b:X:Y:g:n:y:q: "))!=EOF)
 
 if (speed_code)
 
 if (r_count > 1)
 
 if (s_count > 1)
 
 if (!silent) printf("%s"
 
 record_command_line (argcsave, argvsave)
 
 if (pflag)
 
 if (distributed &&master_iozone)
 
 if (!OPS_flag &&!MS_flag)
 
 if (min_rec_size > max_rec_size)
 
 if (compute_flag &&r_traj_flag &&!w_traj_flag)
 
 if (compute_flag &&!r_traj_flag &&w_traj_flag)
 
 if (compute_flag &&r_traj_flag &&w_traj_flag &&jflag)
 
 if (compute_flag &&r_traj_flag &&w_traj_flag &&!jflag)
 
 if (w_traj_flag||r_traj_flag)
 
 if (r_traj_flag)
 
 if (w_traj_flag)
 
 exit (17)
 
 printf ("\tTry: -i 0 -i 1 \n\n")
 
 if (sflag &&w_traj_flag)
 
 if (rflag &&w_traj_flag)
 
 if (trflag &&MS_flag)
 
 if (trflag &&(auto_mode||aflag||yflag||qflag||nflag||gflag))
 
 if (fflag &&trflag)
 
 if (aflag &&mfflag)
 
 if (async_flag &&mmapflag)
 
 if (async_flag)
 
 if (no_write)
 
 if (include_tflag)
 
 if (h_flag &&k_flag)
 
 exit (20)
 
 init_record_sizes (min_rec_size, max_rec_size)
 
 if (bif_flag)
 
 for (i=0;i<=max_y;i++)
 
 for (rec_size=get_next_record_size(0);rec_size<=orig_max_rec_size;rec_size=get_next_record_size(rec_size))
 
 if ((char *) addr==(char *)-1)
 
 printf ("Got shared memory for size %d\n", size1)
 
 return (addr)
 
void Poll (longlong time1)
 
long long l_max (long long one, long long two)
 
void Kill (long long pid, long long sig)
 
long long l_min (long long num1, long long num2)
 
void multi_throughput_test (long long mint, long long maxt)
 
 strcpy (command,"umount ")
 
 strcat (command, mountname)
 
 for (i=1;i< 200;++i)
 
 strcpy (command,"mount ")
 
 if (use_thread)
 
 if (debug1)
 
 if (mfflag)
 
 if ((fd=I_OPEN(dummyfile[xx],(int) flags, 0640))< 0)
 
 if (mmapflag)
 
 if (fetchon)
 
 if (mylockf((int) fd,(int) 1,(int) 0)!=0)
 
 if (L_flag)
 
 if (cpuutilflag)
 
 rewind (w_traj_fd)
 
 if (mylockf((int) fd,(int) 0,(int) 0))
 
 if (include_flush)
 
 if (include_close)
 
 if (cdebug)
 
 tell_master_stats (THREAD_WRITE_TEST, chid, child_stat->throughput, child_stat->actual, child_stat->cputime, child_stat->walltime,(char)*stop_flag,(long long) CHILD_STATE_HOLD)
 
 printf ("\nChild finished %lld\n", xx)
 
 fclose (thread_wqfd)
 
 free (dummyfile[xx])
 
 fclose (w_traj_fd)
 
 dump_hist ("write",(int) xx)
 
 return (0)
 
else exit (0)
 
 fetchit (nbuff, reclen)
 
 if (Q_flag)
 
 tell_master_ready (chid)
 
 fill_buffer (nbuff, reclen,(long long) pattern, sverify,(long long) 0)
 
 if (OPS_flag)
 
 tell_master_stats (THREAD_REWRITE_TEST, chid, child_stat->throughput, child_stat->actual, child_stat->cputime, child_stat->walltime,(char)*stop_flag,(long long) CHILD_STATE_HOLD)
 
 fclose (thread_rwqfd)
 
 printf ("\nChild Stopping %lld\n", xx)
 
 dump_hist ("Rewrite",(int) xx)
 
 if (mylockf((int) fd,(int) 1,(int) 1)!=0)
 
 rewind (r_traj_fd)
 
 if (mylockf((int) fd,(int) 0,(int) 1))
 
 tell_master_stats (THREAD_READ_TEST, chid, child_stat->throughput, child_stat->actual, child_stat->cputime, child_stat->walltime,(char)*stop_flag,(long long) CHILD_STATE_HOLD)
 
 fclose (thread_rqfd)
 
 fclose (r_traj_fd)
 
 dump_hist ("Read",(int) xx)
 
else Poll ((long long) 1)
 
 fclose (thread_rrqfd)
 
 dump_hist ("Reread",(int) xx)
 
 tell_master_stats (THREAD_REVERSE_READ_TEST, chid, child_stat->throughput, child_stat->actual, child_stat->cputime, child_stat->walltime,(char)*stop_flag,(long long) CHILD_STATE_HOLD)
 
 fclose (thread_revqfd)
 
 dump_hist ("Read Backwards",(int) xx)
 
 fclose (thread_strqfd)
 
 dump_hist ("Stride Read",(int) xx)
 
 if (pct_read!=0)
 
 init_by_array64 (init, length)
 
 if (recnum)
 
 if (oflag)
 
 tell_master_stats (THREAD_RANDOM_READ_TEST, chid, child_stat->throughput, child_stat->actual, child_stat->cputime, child_stat->walltime,(char)*stop_flag,(long long) CHILD_STATE_HOLD)
 
 fclose (thread_randrfd)
 
 free (recnum)
 
 dump_hist ("Random Read",(int) xx)
 
 tell_master_stats (THREAD_RANDOM_WRITE_TEST, chid, child_stat->throughput, child_stat->actual, child_stat->cputime, child_stat->walltime,(char)*stop_flag,(long long) CHILD_STATE_HOLD)
 
 fclose (thread_randwqfd)
 
 dump_hist ("Random Write",(int) xx)
 
 tell_master_stats (THREAD_CLEANUP_TEST, chid, child_stat->throughput, child_stat->actual, child_stat->cputime, child_stat->walltime,(char)*stop_flag,(long long) CHILD_STATE_HOLD)
 
bcopy &[memets (pthread_t)
 
 printf ("Thread create failed. Returned %d Errno = %d\n", xx, errno)
 
 return ((long long) meme)
 
 return (xx)
 
bcopy &[tidp_childids (pthread_t)
 
 printf ("Thread join returned error %d\n", errno)
 
 printf ("\n\"CPU utilization report Y-axis is type of test X-axis is number of %s\"\n", port)
 
 dump_throughput_cpu ()
 
 close_xls (bif_fd)
 
 if (max_x >=MAX_X)
 
 if (max_y >=MAXSTREAMS)
 
 if (flag)
 
 exit (168)
 
 if (advise_flag)
 
 return (pa)
 
int async_read ()
 
size_t async_write_no_copy ()
 
size_t async_write ()
 
void async_init ()
 
int async_read_no_copy ()
 
void async_release ()
 
 select (0, 0, 0, 0,&nap_time)
 
 while (1)
 
 if (pit_hostname[0])
 
 return ((double)(tp.tv_sec)*1000000.0)+(((double) tp.tv_usec))
 
 if (op==0)
 
 return (ret)
 
 return (0.0)
 
 I_LSEEK (fd, 0, SEEK_SET)
 
 I_LSEEK (fd, page_size, SEEK_SET)
 
 I_LSEEK (fd, current, SEEK_SET)
 
 free (free_addr)
 
 while (got_line==0)
 
 if (tokens==3)
 
 if ((tokens!=2)&&(tokens!=3))
 
 if (ret==EOF)
 
 return (traj_offset)
 
 exit (174)
 
 return (fd)
 
 exit (175)
 
 printf ("File size of read %lld Item count %lld\n", r_traj_fsize, r_traj_ops)
 
 fclose (fd)
 
 printf ("File size of write %lld Item count %lld\n", w_traj_fsize, w_traj_ops)
 
 return (max_offset)
 
 if (size_list)
 
 if (nsize_list==0)
 
 for (;size_listp;size_listp=size_listp->next)
 
 if (rec_size_list)
 
 if (sockerr==-1)
 
bzeroaddr (struct sockaddr_in)
 
 while (rc< 0)
 
 printf ("Master listening on socket %d Port %d\n", s, tmp_port)
 
 return (s)
 
 printf ("Master in listening mode on socket %d\n", s)
 
 if (ret!=0)
 
 printf ("Master in accepting connection\n")
 
 printf ("Master in reading from connection\n")
 
 close (ns)
 
 if (he==NULL)
 
bzerocs_addr (struct sockaddr_in)
 
bzerooutbuf (struct master_neutral_command)
 
 if (cdebug >=1)
 
 strcpy (outbuf.m_host_name, send_buffer->m_host_name)
 
 sprintf (outbuf.m_client_number,"%d", send_buffer->m_client_number)
 
 sprintf (outbuf.m_throughput,"%f", send_buffer->m_throughput)
 
 sprintf (outbuf.m_child_flag,"%lld", send_buffer->m_child_flag)
 
 close (child_socket_val)
 
bzerooutbuf (struct client_neutral_command)
 
 if (mdebug)
 
 printf ("Master sending message to %s \n", host_name)
 
 close (master_socket_val)
 
bzerochild_sync_sock (struct sockaddr_in)
 
 listen (s, 10)
 
 return (ns)
 
 bzero (cnc, sizeof(child_rcv_buf))
 
bzerochild_async_sock (struct sockaddr_in)
 
again struct sockaddr sizeof (struct sockaddr_in))
 
 return (master_socket_val)
 
 printf ("Starting proc %d\n",(int) x)
 
 return (x)
 
bzerocc (struct client_command)
 
 find_remote_shell (remote_shell)
 
 sprintf (command,"%s ", remote_shell)
 
 strcat (command, child_idents[x-1].child_name)
 
 strcat (command," -n '")
 
 strcat (command," -+s -t 1 -r 4 -s 4 -+c ")
 
 strcat (command, controlling_host_name)
 
 if (master_listen_port!=HOST_LIST_PORT)
 
 strcat (command," '")
 
 printf ("%s", command)
 
 printf ("\nMaster listening for child to send join message.\n")
 
 master_listen (master_listen_socket, sizeof(struct master_neutral_command))
 
 sscanf (mnc->m_child_port,"%d",&mc.m_child_port)
 
 if (mc.m_version!=proto_version)
 
 if (mdebug >=1)
 
 printf ("Starting master send channel\n")
 
 printf ("Starting master send async channel\n")
 
 strcpy (cc.c_host_name, controlling_host_name)
 
 strcpy (cc.c_pit_hostname, pit_hostname)
 
 strcpy (cc.c_pit_service, pit_service)
 
 strcpy (cc.c_client_name, child_idents[x-1].child_name)
 
 strcpy (cc.c_write_traj_filename, write_traj_filename)
 
 strcpy (cc.c_read_traj_filename, read_traj_filename)
 
 printf ("Master sending client who he is\n")
 
 master_send (master_send_sockets[x-1], cc.c_client_name,&cc, sizeof(struct client_command))
 
 printf ("Master listening for child to send at barrier message.\n")
 
 sscanf (mnc->m_child_flag,"%lld",&mc.m_child_flag)
 
 printf ("Master sees child %d at barrier message.\n", child_index)
 
bzeromc (struct master_command)
 
void gethostname (client_name, 100)
 
 fflush (stdout)
 
 fflush (stderr)
 
 fclose (stdout)
 
 fclose (stderr)
 
 strcpy (mc.m_host_name, controlling_host_name)
 
 strcpy (mc.m_client_name, client_name)
 
 child_send (controlling_host_name,(struct master_command *)&mc, sizeof(struct master_command))
 
 child_listen (l_sock, sizeof(struct client_neutral_command))
 
 sscanf (cnc->c_command,"%d",&cc.c_command)
 
 sscanf (cnc->c_client_name,"%s", cc.c_client_name)
 
 if (cc.c_command==R_TERMINATE||cc.c_command==R_DEATH)
 
 sscanf (cnc->c_numrecs64,"%lld",&cc.c_numrecs64)
 
 sscanf (cnc->c_compute_time,"%f",&cc.c_compute_time)
 
 strcpy (write_traj_filename, cc.c_write_traj_filename)
 
 strcpy (read_traj_filename, cc.c_read_traj_filename)
 
 strcpy (pit_hostname, cc.c_pit_hostname)
 
 strcpy (pit_service, cc.c_pit_service)
 
 strcpy (filearray[chid], cc.c_file_name)
 
 if (hist_summary)
 
 switch (testnum)
 
 stop_child_listen (l_sock)
 
void tell_master_stats (int testnum, long long chid, double throughput, double actual, float cpu_time, double wall_time, char stop_flag, long long child_flag)
 
 kill (master_listen_pid, SIGKILL)
 
 printf ("Starting Master listen loop m %d c %d count %d\n", master_iozone, client_iozone, num)
 
 while (master_join_count)
 
 printf ("Master: Tell child %d to begin\n", x)
 
 master_send (master_send_sockets[x], child_idents[x].child_name,&cc, sizeof(struct client_command))
 
 printf ("Master: All children have finished. Sending terminate\n")
 
 exit (176)
 
 return (count)
 
 if ((num > 0)&&(num!=3)&&(num!=4))
 
 return (1)
 
 unlink (dummyfile[i])
 
 if (sent_stop)
 
 if (value)
 
 strcpy (shell,"rsh")
 
 if (start)
 
 if (stop)
 
 if (sync)
 
void sp_send_result (int, int, float)
 
void sp_get_result (int, int)
 
void sp_do_child_t (void)
 
void sp_do_master_t (void)
 
void speed_main (char *, char *, long long, long long, int)
 
 strcpy (sp_master_host, controlling_host_name)
 
 bzero (sp_buf, sp_msize)
 
 if (sp_child_mode)
 
 if (x==0)
 
 sleep (1)
 
 free (sp_buf)
 
 sscanf (mybuf,"%d %f",&count,&throughput)
 
 printf ("%-20s received %10d Kbytes @ %10.2f Kbytes/sec \n", sp_remote_host, count, throughput)
 
else printf ("%-20s sent %10d Kbytes @ %10.2f Kbytes/sec \n", sp_remote_host, count, throughput)
 
 close (tcfd)
 
 sprintf (mybuf,"%d %f", count, throughput)
 
 close (msfd)
 
bzerosp_child_sync_sock (struct sockaddr_in)
 
 close (s)
 
 close (sp_crfd)
 
 sp_send_result (sp_master_results_port, sp_tcount/1024,(float)(sp_tcount/1024)/(sp_finish_time-sp_start_time))
 
 close (sp_csfd)
 
 close (sp_msfd)
 
 sp_get_result (sp_master_results_port, 0)
 
 printf ("%-20s sent %10d kbytes @ %10.2f Kbytes/sec \n", sp_master_host, sp_tcount/1024,(float)(sp_tcount/1024)/(sp_finish_time-sp_start_time))
 
 sp_get_result (sp_master_results_port, 1)
 
 printf ("%-20s received %10d kbytes @ %10.2f Kbytes/sec \n", sp_master_host, sp_tcount/1024,(float)(sp_tcount/1024)/(sp_finish_time-sp_start_time))
 
 printf ("\n")
 
 wait (NULL)
 
 close (sp_mrfd)
 
bzerosp_master_sync_sock (struct sockaddr_in)
 
 return (sp_child_socket_val)
 
 if (client_flag)
 
 strcpy (where, value)
 
 strcpy (cp, THISVERSION)
 
 srand (y)
 
 return (pat)
 
 if (pbuffer==0)
 
 if (mystat.st_mode &S_IFREG)
 
else sprintf (command_line,"%s %s&", imon_start, test)
 
else sprintf (command_line,"%s %s &", imon_stop, test)
 
int gen_new_buf (char *ibuf, char *obuf, long seed, int size, int percent, int percent_interior, int percent_compress, int all)
 
void touch_dedup (char *i, int size)
 
void init_genrand64 (unsigned long long seed)
 
void init_by_array64 (unsigned long long init_key[], unsigned long long key_length)
 
long long genrand64_int63 (void)
 
double genrand64_real1 (void)
 
double genrand64_real2 (void)
 
double genrand64_real3 (void)
 
int pit_gettimeofday (struct timeval *tp, struct timezone *foo, char *pit_hostname, char *pit_service)
 
void hist_insert (double my_value)
 
void dump_hist (char *what, int id)
 
voidthread_fwrite_test (x)
 
voidthread_fread_test (x)
 

Variables

int errno
 
int h_errno
 
char * help []
 
char * head1 []
 
long long page_size = 4096
 
struct child_statschild_stat = (struct child_stats *)&shmaddr[xx]
 
void(* func [])()
 
char * test_output []
 
long long test_soutput [] = {2,2,2,1,1,1,2,2,2,2,2,2,2,2}
 
VOLATILE struct child_statsshmaddr
 
double totaltime
 
double total_time
 
double temp_time =time_so_far()
 
double total_kilos
 
off64_t report_array [MAX_X][MAX_Y]
 
double report_darray [MAX_X][MAXSTREAMS]
 
double time_res =besttime/1000000.0
 
double cputime_res = (finishtime-starttime)
 
long long throughput_array [MAX_X]
 
short current_x
 
short current_y
 
long long orig_size
 
long long max_x =current_x
 
long long max_y =current_y
 
unsigned long long goodkilos
 
off64_t kilobytes64 = (off64_t)KILOBYTES
 
long long goodrecl
 
off64_t offset = 0
 
off64_t offset64 = 0
 
off64_t filebytes64 = numrecs64*reclen
 
off64_t r_range [100]
 
off64_t s_range [100]
 
int t_range [100]
 
int t_count = 0
 
int r_count
 
int s_count
 
char * barray [MAXSTREAMS]
 
char * haveshm
 
int optind
 
long long onetime
 
long long auto_mode = 0
 
long long sfd
 
long long multi_buffer
 
int fd
 
int sp_msfd
 
int sp_mrfd =sp_start_master_listen(sp_master_listen_port, sp_msize)
 
int sp_csfd
 
int sp_crfd =sp_start_child_listen(sp_child_listen_port, sp_msize)
 
int begin_proc
 
int num_processors
 
int ioz_processor_bind
 
long long res_prob =1
 
long long rec_prob = reclen
 
char silent
 
char read_sync = cc.c_read_sync
 
char master_iozone
 
char client_iozone
 
char distributed
 
int bif_fd
 
int bif_row
 
int bif_column
 
int dedup_mseed = 1
 
int hist_summary = cc.c_hist_summary
 
int op_rate = cc.c_op_rate
 
int op_rate_flag = cc.c_op_rate_flag
 
char aflag
 
char Eflag
 
char hflag
 
char Rflag
 
char rflag
 
char sflag
 
char diag_v = cc.c_diag_v
 
char sent_stop =1
 
char dedup = cc.c_dedup
 
char dedup_interior = cc.c_dedup_interior
 
char dedup_compress = cc.c_dedup_compress
 
char * dedup_ibuf = buffer1
 
char * dedup_temp = mainbuffer
 
char bif_flag
 
int rlocking = cc.c_rec_lock
 
int share_file = cc.c_share_file
 
int ecount =0
 
char gflag
 
char nflag
 
char yflag
 
char qflag
 
char * build_name = NAME
 
char imon_start [256] =(char)0
 
char imon_stop [256] =(char)0
 
char imon_sync
 
char trflag
 
char cpuutilflag = cc.c_cpuutilflag
 
char seq_mix = cc.c_seq_mix
 
long base_time =(long)time_so_far()
 
long long mint
 
long long maxt
 
long long w_traj_ops
 
long long r_traj_ops
 
long long w_traj_fsize =max_offset
 
long long r_traj_fsize =max_offset
 
long long r_traj_ops_completed
 
long long r_traj_bytes_completed =r_traj_ops_completed=0
 
long long w_traj_ops_completed
 
long long w_traj_bytes_completed =w_traj_ops_completed=0
 
int w_traj_items
 
int r_traj_items
 
char fflag
 
char Uflag
 
char uflag
 
char lflag
 
char include_tflag
 
struct runtime runtimes [MAX_X][MAX_Y]
 
long long include_test [50]
 
long long include_mask
 
char RWONLYflag
 
char NOCROSSflag
 
char mfflag = cc.c_mfflag
 
long long status
 
long long x =max_x
 
long long y =max_y
 
long long childids [MAXSTREAMS+1]
 
long long myid =(long long)getpid()
 
long long num_child =(long long)cc.c_num_child
 
int pct_read =cc.c_pct_read
 
int speed_code
 
pthread_t p_childids [MAXSTREAMS+1]
 
off64_t next64
 
char wol_opened
 
char rol_opened
 
FILE * wqfd
 
FILE * rwqfd
 
FILE * rqfd
 
FILE * rrqfd
 
char * optarg
 
long long ret
 
struct size_entrysize_list =0
 
struct size_entryrec_size_list =0
 
off64_t maximum_file_size
 
off64_t minimum_file_size
 
char bif_filename [MAXNAMESIZE]
 
char filename [MAXNAMESIZE]
 
char mountname [MAXNAMESIZE]
 
char dummyfile [MAXSTREAMS][MAXNAMESIZE] =(char *)malloc((size_t)MAXNAMESIZE)
 
char dummyfile1 [MAXNAMESIZE]
 
char * filearray [MAXSTREAMS] =(char *)tfile
 
char tfile [] = "iozone"
 
char * buffer = (char *) alloc_mem((long long)(MAXBUFFERSIZE + (2 * cache_size)),(int)0)
 
char * buffer1 = (char *) alloc_mem((long long)(MAXBUFFERSIZE + (2 * cache_size)),(int)0)
 
char * mbuffer
 
char * mainbuffer = buffer
 
FILE * pi
 
FILE * r_traj_fd =open_r_traj()
 
FILE * w_traj_fd =open_w_traj()
 
VOLATILE char * pbuffer
 
char * default_filename ="iozone.tmp"
 
VOLATILE char stoptime
 
char Cflag
 
char use_thread = 0
 
long long debug1 =0
 
long long debug =0
 
unsigned long cache_size =CACHE_SIZE
 
unsigned long cache_line_size =CACHE_LINE_SIZE
 
long longpstatus
 
off64_t min_file_size = KILOBYTES_START
 
off64_t max_file_size = KILOBYTES_END
 
long long min_rec_size = RECLEN_START
 
long long max_rec_size = RECLEN_END
 
long long orig_min_rec_size = RECLEN_START
 
long long orig_max_rec_size = RECLEN_END
 
long long xover = CROSSOVER
 
char * throughput_tests []
 
char command_line [1024] = "\0"
 
int argcsave =argc
 
char ** argvsave =argv
 
char splash [80][80]
 
int splash_line
 
char client_filename [256]
 
char remote_shell [256]
 
int client_error =errno
 
char pit_hostname [40]
 
char pit_service [8]
 
int junk =read(fd,nbuff,page_size)
 
int controlling_host_port = HOST_LIST_PORT
 
int c_port = mc.m_child_port
 
int a_port = mc.m_child_async_port
 
int child_port = ntohs(child_sync_sock.sin_port)
 
int child_async_port = ntohs(child_async_sock.sin_port)
 
int client_listen_pid =fork()
 
int master_join_count =num
 
int l_sock = start_child_listen(sizeof(struct client_neutral_command))
 
int l_async_sock = start_child_listen_async(sizeof(struct client_neutral_command))
 
char master_rcv_buf [4096]
 
int master_listen_pid =fork()
 
char master_send_buf [4096]
 
char child_rcv_buf [4096]
 
char child_async_rcv_buf [4096]
 
char child_send_buf [4096]
 
int child_send_socket
 
int child_listen_socket
 
int child_listen_socket_async
 
int master_send_socket
 
int master_send_sockets [MAXSTREAMS]
 
int master_send_async_sockets [MAXSTREAMS]
 
int master_listen_port
 
int master_listen_socket
 
int clients_found
 
FILE * newstdin
 
FILE * newstdout
 
FILE * newstderr
 
char toutput [20][20]
 
int toutputindex
 
int cdebug = 0
 
int mdebug = 0
 
int aggflag
 
struct sockaddr_in child_sync_sock child_async_sock
 
int proto_version = 25
 
char controlling_host_name [100]
 
struct child_ident child_idents [MAXSTREAMS] = C_STATE_WAIT_WHO
 
int Kplus_readers = cc.c_Kplus_readers
 
char write_traj_filename [MAXNAMESIZE]
 
char read_traj_filename [MAXNAMESIZE]
 
char oflag = cc.c_oflag
 
char jflag = cc.c_jflag
 
char k_flag = cc.c_k_flag
 
char h_flag = cc.c_h_flag
 
char mflag = cc.c_mflag
 
char pflag = cc.c_pflag
 
char unbuffered = cc.c_unbuffered
 
char Kplus_flag = cc.c_Kplus_flag
 
char noretest = cc.c_noretest
 
char notruncate = cc.c_notruncate
 
char async_flag = cc.c_async_flag
 
char stride_flag = cc.c_stride_flag
 
char mmapflag = cc.c_mmapflag
 
char mmapasflag = cc.c_mmapasflag
 
char mmapssflag = cc.c_mmapssflag
 
char mmapnsflag = cc.c_mmapnsflag
 
char mmap_mix = cc.c_mmap_mix
 
char verify = 1
 
int restf =cc.c_restf
 
char sverify = 1
 
char odsync = 0
 
char Q_flag = cc.c_Q_flag
 
char OPS_flag = cc.c_OPS_flag
 
char L_flag =0
 
char no_copy_flag = cc.c_no_copy_flag
 
char include_close = cc.c_include_close
 
char include_flush = cc.c_include_flush
 
char disrupt_flag = cc.c_disrupt_flag
 
char compute_flag = cc.c_compute_flag
 
char xflag = cc.c_xflag
 
char Z_flag
 
char X_flag
 
int no_unlink = 0
 
int no_write = 0
 
int r_traj_flag = cc.c_r_traj_flag
 
int w_traj_flag = cc.c_w_traj_flag
 
int mygen =rand()
 
char MS_flag = cc.c_MS_flag
 
int advise_op =cc.c_advise_op
 
int advise_flag =cc.c_advise_flag
 
int direct_flag = cc.c_direct_flag
 
int current_client_number =0
 
long long chid = cc.c_client_number
 
int file_lock = cc.c_file_lock
 
unsigned int pattern = ((inp_pat << 24) | (inp_pat << 16) | (inp_pat << 8) | inp_pat)
 
long long stride = STRIDE
 
long long delay = (float)0
 
long long purge = cc.c_purge
 
long long fetchon = cc.c_fetchon
 
off64_t numrecs64 = (off64_t)NUMRECS
 
long long reclen = RECLEN
 
long long delay_start = cc.c_delay_start
 
long long depth = cc.c_depth
 
VOLATILE char * stop_flag =1
 
float compute_time = cc.c_compute_time
 
int multiplier = MULTIPLIER
 
long long rest_val = cc.c_rest_val
 
int int argc
 
char ** argv
 
long long ind
 
char reply [IBUFSIZE]
 
unsigned char inp_pat = PATTERN
 
time_t time_run = time(0)
 
char * port = use_thread ? "threads" : "processes"
 
char * m
 
char * subarg
 
int num_child1
 
int cret
 
int anwser =bind_cpu=0
 
int bind_cpu
 
char * evalue = (char *)NULL
 
 Throughput = %10.2f %s/sec
 
 wall =%6.3f
 
 cpu =%6.3f
 
 rec_size
 
 current_file_size = report_array[0][0]
 
long long who
 
char *long long size =size
 
int shared_flag
 
char * addr
 
char * dumb = (char *)0
 
int shmid
 
int tfd =0
 
long long tmp = 0
 
 size1 =l_max(size,page_size)
 
int i
 
void *double starttime1 = 0
 
double walltime =cputime=0
 
double cputime = 0.0
 
double compute_val = (double)0
 
double thread_qtime_stop
 
double thread_qtime_start
 
double hist_time =thread_qtime_stop=thread_qtime_start=0
 
double desired_op_rate_time
 
double actual_rate
 
off64_t traj_offset =walltime=cputime=0
 
off64_t lock_offset =0
 
off64_t save_offset =0
 
long long flags =O_RDWR|O_SYNC|O_CREAT
 
long long traj_size = 0
 
long long recs_per_buffer = cache_size/reclen
 
long long stopped =0
 
off64_t written_so_far =read_so_far=re_written_so_far=re_read_so_far=0
 
off64_t read_so_far
 
off64_t re_written_so_far
 
off64_t re_read_so_far =0
 
long long xx
 
long long xx2 =xx
 
char * nbuff =maddr=wmaddr=free_addr=0
 
char * maddr =0
 
char * wmaddr =nbuff=maddr=free_addr=0
 
char * free_addr =0
 
char now_string [30]
 
int wval
 
char tmpname [256]
 
FILE * thread_wqfd =w_traj_fd=thread_Lwqfd=(FILE *)0
 
FILE * thread_Lwqfd =0
 
long longgc =0
 
 else
 
child_stat actual = 0
 
child_stat throughput = 0
 
child_stat flag = CHILD_STATE_HOLD
 
FILE * thread_rwqfd =w_traj_fd=thread_Lwqfd=(FILE *)0
 
FILE * thread_rqfd =thread_Lwqfd=r_traj_fd=(FILE *)0
 
FILE * thread_rrqfd =r_traj_fd=thread_Lwqfd=(FILE *)0
 
double starttime2 = 0
 
off64_t t_offset = (off64_t)reclen
 
off64_t current_position =0
 
off64_t reverse_read
 
FILE * thread_revqfd =0
 
off64_t savepos64 =0
 
off64_t stride_read
 
off64_t stripewrap = 0
 
FILE * thread_strqfd =0
 
void *int num_readers
 
off64_t ranread_so_far
 
off64_t current_offset =0
 
FILE * thread_randrfd =0
 
long longrecnum =0
 
long long save_pos
 
unsigned long long big_rand
 
unsigned long long init [4] ={0x12345ULL, 0x23456ULL, 0x34567ULL, 0x45678ULL}
 
unsigned long long length =4
 
FILE * thread_randwqfd =0
 
pthread_attr_t attr
 
intyy =(int *)x
 
long meme = (long)x
 
 int
 
 pthread_t
 
void *long long tid
 
pthread_t eek
 
pthread_attr_t foo
 
 void
 
char * label
 
char print_str [300]
 
void double value =(char *)getenv("RSH")
 
off64_t filebytes
 
int prot
 
int mflags =0
 
char * stmp
 
int file_flags
 
long long recs
 
int dflag = 0
 
 pa
 
long longsrc_buffer
 
long longdest_buffer
 
void int ntime
 
int seconds
 
int microsecs = (ntime*1000)%1000000
 
nap_time tv_sec =seconds
 
nap_time tv_usec =microsecs
 
int nap_once
 
double nap_res
 
double timein =time_so_far1()
 
double timeout
 
long j
 
int k
 
 finishtime =time_so_far1()
 
 starttime =time_so_far1()
 
static double
 
int int op
 
int int rdwr
 
else myflock l_type =F_RDLCK
 
myflock l_whence =SEEK_SET
 
myflock l_start =0
 
myflock l_len =0
 
myflock l_pid =getpid()
 
float float comp_delay
 
off64_t current
 
long long FILE * traj_fd
 
long which
 
long long tmp2 = 0
 
int tokens
 
char * ret1
 
char * where
 
char buf [200]
 
char sbuf [200]
 
int got_line =0
 
long long max_offset = 0
 
int dummy ={1,0}
 
int lines =0
 
long long
 
int things
 
void off64_t min_f_size
 
off64_t max_f_size
 
struct size_entrynsize_list
 
 size_listp =size_list
 
nsize_list next =0
 
void off64_t min_r_size
 
off64_t max_r_size
 
int rc = -1
 
int tmp_port =HOST_LIST_PORT
 
int sockerr
 
int recv_buf_size =65536*4
 
int optval =1
 
 s = socket(AF_INET, SOCK_STREAM, 0)
 
addr sin_port = htons(tmp_port)
 
addr sin_family = AF_INET
 
addr sin_addr s_addr = INADDR_ANY
 
struct sockaddr_in listener_sync_sock
 
void int sock
 
void int size_of_message
 
unsigned int me =sizeof(struct sockaddr_in)
 
int ns =accept(s,(void *)addr,&me)
 
struct master_neutral_commandmnc =(struct master_neutral_command *)&master_rcv_buf[0]
 
 tsize = size_of_message
 
again __pad0__
 
again MAXSTREAMS
 
struct master_commandsend_buffer
 
int send_size
 
struct hostent * he
 
struct in_addr * ip = (struct in_addr *)he->h_addr_list[0]
 
struct sockaddr_in cs_addr cs_raddr
 
struct master_neutral_command outbuf
 
struct timespec req rem
 
req tv_nsec = 10000000
 
over __pad1__
 
 child_socket_val = socket(AF_INET, SOCK_STREAM, 0)
 
again __pad2__
 
char * host_name
 
void int master_socket_val
 
int rcvd
 
char * cnc = (char *)&child_rcv_buf[0]
 
int char * child_host_name
 
struct in_addr * my_s_addr
 
struct sockaddr_in addr raddr
 
nanosleep & req
 
again __pad3__
 
over __pad4__
 
again __pad5__
 
long long int testnum = cc.c_testnum
 
int c_command
 
int child_index = mc.m_client_number
 
struct client_command cc
 
struct master_command mc
 
char command [512] =0
 
char my_port_num [10]
 
child_idents[x-1] state = C_STATE_ZERO
 
child_idents[x-1] master_socket_num = master_send_sockets[x-1]
 
child_idents[x-1] master_async_socket_num = master_send_async_sockets[x-1]
 
child_idents[x-1] child_number = x-1
 
cc c_client_number = x-1
 
cc c_testnum = testnum
 
cc c_numrecs64 = numrecs64
 
cc c_reclen = reclen
 
cc c_oflag = oflag
 
cc c_mfflag = mfflag
 
cc c_unbuffered = unbuffered
 
cc c_noretest = noretest
 
cc c_notruncate = notruncate
 
cc c_read_sync = read_sync
 
cc c_jflag = jflag
 
cc c_direct_flag = direct_flag
 
cc c_cpuutilflag = cpuutilflag
 
cc c_seq_mix = seq_mix
 
cc c_async_flag = async_flag
 
cc c_k_flag = k_flag
 
cc c_h_flag = h_flag
 
cc c_mflag = mflag
 
cc c_pflag = pflag
 
cc c_stride_flag = stride_flag
 
cc c_fetchon = fetchon
 
cc c_verify = verify
 
cc c_sverify = sverify
 
cc c_odsync = odsync
 
cc c_diag_v = diag_v
 
cc c_dedup = dedup
 
cc c_dedup_interior = dedup_interior
 
cc c_dedup_compress = dedup_compress
 
cc c_dedup_mseed = dedup_mseed
 
cc c_hist_summary = hist_summary
 
cc c_op_rate = op_rate
 
cc c_op_rate_flag = op_rate_flag
 
cc c_file_lock = file_lock
 
cc c_rec_lock = rlocking
 
cc c_Kplus_readers = Kplus_readers
 
cc c_multiplier = multiplier
 
cc c_share_file = share_file
 
cc c_pattern = pattern
 
cc c_version = proto_version
 
cc c_base_time = base_time
 
cc c_num_child = (int)num_child
 
cc c_pct_read = pct_read
 
cc c_advise_op = advise_op
 
cc c_advise_flag = advise_flag
 
cc c_restf = restf
 
cc c_mygen = mygen
 
cc c_Q_flag = Q_flag
 
cc c_L_flag = L_flag
 
cc c_xflag = xflag
 
cc c_w_traj_flag = w_traj_flag
 
cc c_r_traj_flag = r_traj_flag
 
cc c_include_flush = include_flush
 
cc c_OPS_flag = OPS_flag
 
cc c_purge = purge
 
cc c_mmapflag = mmapflag
 
cc c_mmapasflag = mmapasflag
 
cc c_mmapnsflag = mmapnsflag
 
cc c_mmapssflag = mmapssflag
 
cc c_no_copy_flag = no_copy_flag
 
cc c_no_unlink = no_unlink
 
cc c_no_write = no_write
 
cc c_include_close = include_close
 
cc c_disrupt_flag = disrupt_flag
 
cc c_compute_flag = compute_flag
 
cc c_delay = delay
 
cc c_stride = stride
 
cc c_rest_val = rest_val
 
cc c_delay_start = delay_start
 
cc c_compute_time = compute_time
 
cc c_depth = depth
 
cc c_MS_flag = MS_flag
 
cc c_mmap_mix = mmap_mix
 
cc c_Kplus_flag = Kplus_flag
 
char client_name [100]
 
char * workdir =cc.c_working_dir
 
mc m_child_port = child_port
 
mc m_child_async_port = child_async_port
 
mc m_command = R_CHILD_JOIN
 
mc m_version = proto_version
 
mc m_mygen = mygen
 
mc m_child_flag = CHILD_STATE_READY
 
mc m_client_number = (int)chid
 
mc m_client_error = client_error
 
void int num
 
int temp =((inp_pat << 24) | (inp_pat << 16) | (inp_pat << 8) | inp_pat)
 
 return
 
void long long childnum
 
cc c_child_flag = CHILD_STATE_BEGIN
 
int count =0
 
int line_num
 
cc c_stop_flag = 1
 
void char * shell
 
 start =(char *)getenv("IMON_START")
 
 stop =(char *)getenv("IMON_STOP")
 
 sync =(char *)getenv("IMON_SYNC")
 
void off64_t kilo64
 
long longdata1
 
long longdata2
 
char * sp_dest
 
int sp_child_listen_port = SP_CHILD_LISTEN_PORT
 
int sp_child_esend_port = SP_CHILD_ESEND_PORT
 
int sp_master_listen_port = SP_MASTER_LISTEN_PORT
 
int sp_master_esend_port = SP_MASTER_ESEND_PORT
 
int sp_master_results_port = SP_MASTER_RESULTS_PORT
 
struct in_addr sp_my_cs_addr
 
struct in_addr sp_my_ms_addr
 
struct sockaddr_in
sp_child_sync_sock 
sp_child_async_sock
 
struct sockaddr_in
sp_master_sync_sock 
sp_master_async_sock
 
char * sp_buf =(char *)malloc(sp_msize)
 
char sp_command [1024]
 
char sp_remote_shell [100]
 
int sp_child_mode =1
 
int sp_count =((int)kilos*1024)/(int)reclen
 
int sp_msize =(int)reclen
 
int sp_once
 
int sp_tcount =0
 
double sp_start_time =time_so_far()
 
double sp_finish_time =time_so_far()
 
int sp_cret
 
char sp_remote_host [256]
 
char sp_master_host [256]
 
char sp_location [256]
 
char * e_path
 
long long kilos
 
int client_flag
 
char mybuf [1024]
 
int sp_offset =0
 
 tcfd =sp_start_master_listen(port, 1024)
 
 msfd =sp_start_child_send(sp_dest, port, &sp_my_cs_addr)
 
int char * sp_child_host_name
 
again __pad6__
 
int int listen_port
 
int int sp_size_of_message
 
int char * sp_master_host_name
 
 sp_child_socket_val = socket(AF_INET, SOCK_STREAM, 0)
 
again __pad7__
 
 t =time(0)
 
char cp [100]
 
char * ptr =&cp[0]
 
int pat =(rand()& 0xff)
 
char * name
 
char * test
 
static unsigned long long mt [NN]
 
static int mti =NN+1
 
long long buckets [BUCKETS]
 
long long bucket_val [BUCKETS]
 

Macro Definition Documentation

#define BUCKETS   40

Definition at line 24211 of file iozone.c.

#define C_STATE_WAIT_BARRIER   3

Definition at line 1451 of file iozone.c.

#define C_STATE_WAIT_WHO   2

Definition at line 1450 of file iozone.c.

#define C_STATE_ZERO   1

Definition at line 1449 of file iozone.c.

#define CACHE_LINE_SIZE   32

Definition at line 750 of file iozone.c.

#define CACHE_SIZE   ( 1024 * 1024 )

Definition at line 751 of file iozone.c.

#define CHILD_ALIST_PORT   (CHILD_LIST_PORT+MAXSTREAMS)

Definition at line 1419 of file iozone.c.

#define CHILD_ESEND_PORT   (HOST_ASEND_PORT+MAXSTREAMS)

Definition at line 1415 of file iozone.c.

#define CHILD_LIST_PORT   (CHILD_ESEND_PORT+MAXSTREAMS)

Definition at line 1416 of file iozone.c.

#define CHILD_STATE_BEGIN   2

Definition at line 946 of file iozone.c.

#define CHILD_STATE_DONE   3

Definition at line 948 of file iozone.c.

#define CHILD_STATE_HOLD   0

Definition at line 942 of file iozone.c.

#define CHILD_STATE_READY   1

Definition at line 944 of file iozone.c.

#define CONTROL_STRING1   "%16lld%8ld%8ld%8ld%8ld%8ld%8ld%8ld %8ld %8ld%8ld%8ld%8ld%9ld%9ld\n"

Definition at line 876 of file iozone.c.

#define CONTROL_STRING2   "%16s%8s%8s%8s%8s%10s%8s%8s%8s %8s %8s%9s%9s%8s%9s\n"

Definition at line 877 of file iozone.c.

#define CONTROL_STRING3   "%16s%8s%8s%8s%8s%10s%8s%8s%8s %8s %8s%9s%9s%8s%9s\n"

Definition at line 878 of file iozone.c.

#define CONTROL_STRING4   "%16s%8s%8s%8s%8s%10s\n"

Definition at line 879 of file iozone.c.

#define cputime_so_far ( )    time_so_far()

Definition at line 973 of file iozone.c.

#define CROSSOVER   (16*1024)

Definition at line 807 of file iozone.c.

#define DEDUPSEED   0x2719362

Definition at line 449 of file iozone.c.

#define DFLT_SERVICE   "PIT" /* Default service name. */

Definition at line 24038 of file iozone.c.

#define DISRUPT   100

Definition at line 779 of file iozone.c.

#define FILESIZE   (KILOBYTES*1024)

Definition at line 795 of file iozone.c.

#define FREADER_MASK   (1 << FREADER_TEST)

Definition at line 928 of file iozone.c.

#define FREADER_TEST   7

Definition at line 909 of file iozone.c.

#define FWRITER_MASK   (1 << FWRITER_TEST)

Definition at line 927 of file iozone.c.

#define FWRITER_TEST   6

Definition at line 908 of file iozone.c.

#define HOST_ASEND_PORT   (HOST_ESEND_PORT+MAXSTREAMS)

Definition at line 1409 of file iozone.c.

#define HOST_ESEND_PORT   (HOST_LIST_PORT+MAXSTREAMS)

Definition at line 1408 of file iozone.c.

#define HOST_LIST_PORT   20000

Definition at line 1407 of file iozone.c.

#define I_CREAT (   x,
  y 
)    creat(x,(int)(y))

Definition at line 1184 of file iozone.c.

#define I_FOPEN (   x,
  y 
)    fopen(x,y)

Definition at line 1185 of file iozone.c.

#define I_LSEEK (   x,
  y,
 
)    lseek(x,(off_t)(y),z)

Definition at line 1182 of file iozone.c.

#define I_MMAP (   a,
  b,
  c,
  d,
  e,
  f 
)    mmap((void *)(a),(size_t)(b),(int)(c),(int)(d),(int)(e),(off_t)(f))

Definition at line 1191 of file iozone.c.

#define I_OPEN (   x,
  y,
 
)    open(x,(int)(y),(int)(z))

Definition at line 1183 of file iozone.c.

#define I_STAT (   x,
  y 
)    stat(x,y)

Definition at line 1186 of file iozone.c.

#define IBUFSIZE   100

Definition at line 775 of file iozone.c.

#define INVALID_DESC   -1 /* Invalid file (socket) descriptor. */

Definition at line 24039 of file iozone.c.

#define KILOBYTES   512

Definition at line 789 of file iozone.c.

#define KILOBYTES_END   (1024*512)

Definition at line 891 of file iozone.c.

#define KILOBYTES_START   64

Definition at line 889 of file iozone.c.

#define LARGE_REC   65536

Definition at line 786 of file iozone.c.

#define LM   0x7FFFFFFFULL /* Least significant 31 bits */

Definition at line 23878 of file iozone.c.

#define MAP_FAILED   -1

Definition at line 336 of file iozone.c.

#define MATRIX_A   0xB5026F5AA96619E9ULL

Definition at line 23876 of file iozone.c.

#define MAX_X   100

Definition at line 825 of file iozone.c.

#define MAX_Y   512

Definition at line 827 of file iozone.c.

#define MAXBFRSIZE   256 /* Max bfr sz to read remote TOD. */

Definition at line 24040 of file iozone.c.

#define MAXBUFFERSIZE   (16*1024*1024)

Definition at line 809 of file iozone.c.

#define MAXNAMESIZE   1000

Definition at line 833 of file iozone.c.

#define MAXSTREAMS   256

Definition at line 813 of file iozone.c.

#define MAXTESTS   12

Definition at line 820 of file iozone.c.

#define MEG   (1024 * 1024)

Definition at line 754 of file iozone.c.

#define MERSENNE

Definition at line 950 of file iozone.c.

#define MINBUFFERSIZE   128

Definition at line 816 of file iozone.c.

#define MM   156

Definition at line 23875 of file iozone.c.

#define MODE   "\tCompiled for 32 bit mode."

Definition at line 88 of file iozone.c.

#define MULTIPLIER   2

Definition at line 897 of file iozone.c.

#define NN   312

Definition at line 23874 of file iozone.c.

#define NUMRECS   FILESIZE/RECLEN

Definition at line 798 of file iozone.c.

#define PATTERN   get_pattern();

Definition at line 822 of file iozone.c.

#define PATTERN1   0xBB

Definition at line 823 of file iozone.c.

#define R_CHILD_JOIN   1

Definition at line 731 of file iozone.c.

#define R_DEATH   7

Definition at line 744 of file iozone.c.

#define R_FLAG_DATA   3

Definition at line 733 of file iozone.c.

#define R_JOIN_ACK   4

Definition at line 741 of file iozone.c.

#define R_STAT_DATA   2

Definition at line 732 of file iozone.c.

#define R_STOP_FLAG   5

Definition at line 742 of file iozone.c.

#define R_TERMINATE   6

Definition at line 743 of file iozone.c.

#define RANDOM_MIX_MASK   (1 << RANDOM_MIX_TEST)

Definition at line 923 of file iozone.c.

#define RANDOM_MIX_TEST   8

Definition at line 910 of file iozone.c.

#define RANDOM_RW_MASK   (1 << RANDOM_RW_TEST)

Definition at line 922 of file iozone.c.

#define RANDOM_RW_TEST   2

Definition at line 904 of file iozone.c.

#define READER_MASK   (1 << READER_TEST)

Definition at line 921 of file iozone.c.

#define READER_TEST   1

Definition at line 903 of file iozone.c.

#define RECLEN   1024

Definition at line 792 of file iozone.c.

#define RECLEN_END   (MAXBUFFERSIZE)

Definition at line 895 of file iozone.c.

#define RECLEN_START   4096

Definition at line 893 of file iozone.c.

#define REVERSE_MASK   (1 << REVERSE_TEST)

Definition at line 924 of file iozone.c.

#define REVERSE_TEST   3

Definition at line 905 of file iozone.c.

#define REWRITE_REC_MASK   (1 << REWRITE_REC_TEST)

Definition at line 925 of file iozone.c.

#define REWRITE_REC_TEST   4

Definition at line 906 of file iozone.c.

#define SHMSIZE   ((( sizeof(struct child_stats) * MAXSTREAMS) )+4096 )

Definition at line 1263 of file iozone.c.

#define SP_CHILD_ESEND_PORT   (SP_CHILD_LISTEN_PORT+10)

Definition at line 1423 of file iozone.c.

#define SP_CHILD_LISTEN_PORT   31000

Definition at line 1422 of file iozone.c.

#define SP_MASTER_ESEND_PORT   (SP_MASTER_LISTEN_PORT+10)

Definition at line 1425 of file iozone.c.

#define SP_MASTER_LISTEN_PORT   (SP_CHILD_ESEND_PORT+10)

Definition at line 1424 of file iozone.c.

#define SP_MASTER_RESULTS_PORT   (SP_MASTER_ESEND_PORT+10)

Definition at line 1426 of file iozone.c.

#define STRIDE   17

Definition at line 760 of file iozone.c.

#define STRIDE_READ_MASK   (1 << STRIDE_READ_TEST)

Definition at line 926 of file iozone.c.

#define STRIDE_READ_TEST   5

Definition at line 907 of file iozone.c.

#define THISVERSION   " Version $Revision$"

Definition at line 63 of file iozone.c.

#define THREAD_CLEANUP_TEST   14

Definition at line 1442 of file iozone.c.

#define THREAD_FREAD_TEST   13

Definition at line 1441 of file iozone.c.

#define THREAD_FWRITE_TEST   12

Definition at line 1440 of file iozone.c.

#define THREAD_PREAD_TEST   11

Definition at line 1439 of file iozone.c.

#define THREAD_PWRITE_TEST   10

Definition at line 1438 of file iozone.c.

#define THREAD_RANDOM_MIX_TEST   9

Definition at line 1437 of file iozone.c.

#define THREAD_RANDOM_READ_TEST   6

Definition at line 1434 of file iozone.c.

#define THREAD_RANDOM_WRITE_TEST   7

Definition at line 1435 of file iozone.c.

#define THREAD_READ_TEST   3

Definition at line 1431 of file iozone.c.

#define THREAD_REREAD_TEST   4

Definition at line 1432 of file iozone.c.

#define THREAD_REVERSE_READ_TEST   8

Definition at line 1436 of file iozone.c.

#define THREAD_REWRITE_TEST   2

Definition at line 1430 of file iozone.c.

#define THREAD_STRIDE_TEST   5

Definition at line 1433 of file iozone.c.

#define THREAD_WRITE_TEST   1

Definition at line 1429 of file iozone.c.

#define TOOFAST   10

Definition at line 818 of file iozone.c.

#define UM   0xFFFFFFFF80000000ULL /* Most significant 33 bits */

Definition at line 23877 of file iozone.c.

#define USAGE   "\tUsage: For usage information type iozone -h \n\n"

Definition at line 829 of file iozone.c.

#define VOLATILE

Definition at line 395 of file iozone.c.

#define WRITER_MASK   (1 << WRITER_TEST)

Definition at line 920 of file iozone.c.

#define WRITER_TEST   0

Definition at line 902 of file iozone.c.

Typedef Documentation

typedef long long off64_t

Definition at line 357 of file iozone.c.

typedef struct sockaddr_in6 sockaddr_in6_t

Definition at line 24052 of file iozone.c.

typedef struct sockaddr_in sockaddr_in_t

Definition at line 24051 of file iozone.c.

Enumeration Type Documentation

enum boolean
Enumerator
false 
true 

Definition at line 24049 of file iozone.c.

24049 { false = 0, true } boolean;
boolean
Definition: iozone.c:24049

Function Documentation

void add_file_size ( )
void add_record_size ( )
bzero& addr ( struct sockaddr_in  )
char* alloc_mem ( )

Here is the caller graph for this function:

alloc_pbuf ( )

Here is the caller graph for this function:

void async_init ( )

Definition at line 19044 of file iozone.c.

19045 {
19046  printf("Your system does not support async I/O\n");
19047  exit(172);
19048 }
#define printf
Definition: papi_test.h:125
void exit()

Here is the call graph for this function:

int async_read ( )

Definition at line 19026 of file iozone.c.

19027 {
19028  printf("Your system does not support async I/O\n");
19029  exit(169);
19030 }
#define printf
Definition: papi_test.h:125
void exit()

Here is the call graph for this function:

int async_read_no_copy ( )

Definition at line 19050 of file iozone.c.

19051 {
19052  printf("Your system does not support async I/O\n");
19053  exit(172);
19054 }
#define printf
Definition: papi_test.h:125
void exit()

Here is the call graph for this function:

void async_release ( )

Definition at line 19056 of file iozone.c.

19057 {
19058  printf("Your system does not support async I/O\n");
19059  exit(173);
19060 }
#define printf
Definition: papi_test.h:125
void exit()

Here is the call graph for this function:

size_t async_write ( )

Definition at line 19038 of file iozone.c.

19039 {
19040  printf("Your system does not support async I/O\n");
19041  exit(171);
19042 }
#define printf
Definition: papi_test.h:125
void exit()

Here is the call graph for this function:

size_t async_write_no_copy ( )

Definition at line 19032 of file iozone.c.

19033 {
19034  printf("Your system does not support async I/O\n");
19035  exit(170);
19036 }
#define printf
Definition: papi_test.h:125
void exit()

Here is the call graph for this function:

int atoi ( )

Here is the caller graph for this function:

void auto_test ( )
void become_client ( )
void begin ( )

Here is the caller graph for this function:

bzero ( cnc  ,
sizeof(child_rcv_buf  
)
bzero ( sp_buf  ,
sp_msize   
)
bzero& cc ( struct client_command  )
int check_filename ( )

Here is the caller graph for this function:

bzero& child_async_sock ( struct sockaddr_in  )
void child_listen ( )
child_listen ( l_sock  ,
sizeof(struct client_neutral_command  
)
void child_listen_async ( )
void child_remove_files ( )
void child_send ( )

Here is the caller graph for this function:

child_send ( controlling_host_name  ,
(struct master_command *)&  mc,
sizeof(struct master_command  
)
bzero& child_sync_sock ( struct sockaddr_in  )
void cleanup_children ( )
void cleanup_comm ( )
int close ( )
close ( ns  )
close ( child_socket_val  )
close ( master_socket_val  )
close ( tcfd  )
close ( msfd  )
close ( s  )
close ( sp_crfd  )
close ( sp_csfd  )
close ( sp_msfd  )
close ( sp_mrfd  )
void close_xls ( )

Here is the caller graph for this function:

close_xls ( bif_fd  )
static double cpu_util ( )
static

Here is the caller graph for this function:

void create_list ( )
void create_temp ( )
int create_xls ( )

Here is the caller graph for this function:

bzero& cs_addr ( struct sockaddr_in  )
void del_record_sizes ( )
void disrupt ( )
void distribute_stop ( )

Here is the caller graph for this function:

float do_compute ( )

Here is the caller graph for this function:

void do_float ( )

Here is the caller graph for this function:

void do_label ( )

Here is the caller graph for this function:

void do_speed_check ( )

Here is the caller graph for this function:

void dump_cputimes ( void  )

Definition at line 11880 of file iozone.c.

11882 {
11883  bif_row++;
11884  bif_column = 0;
11885 
11886  if ((!include_tflag) || (include_mask & (long long)WRITER_MASK)) {
11887  if(bif_flag)
11888  do_label(bif_fd, "Writer CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11889  if(!silent) printf("\n%cWriter CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11890  dump_times(2);
11891  if(bif_flag)
11892  do_label(bif_fd, "Re-writer CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11893  if(!silent) printf("\n%cRe-writer CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11894  dump_times(3);
11895  }
11896 
11897  if ((!include_tflag) || (include_mask & (long long)READER_MASK)) {
11898  if(bif_flag)
11899  do_label(bif_fd, "Reader CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11900  if(!silent) printf("\n%cReader CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11901  dump_times(4);
11902  if(bif_flag)
11903  do_label(bif_fd, "Re-reader CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11904  if(!silent) printf("\n%cRe-Reader CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11905  dump_times(5);
11906  }
11907 
11908  if ((!include_tflag) || (include_mask & (long long)RANDOM_RW_MASK)) {
11909  if(bif_flag)
11910  do_label(bif_fd, "Random Read CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11911  if(!silent) printf("\n%cRandom read CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11912  dump_times(6);
11913  if(bif_flag)
11914  do_label(bif_fd, "Random Write CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11915  if(!silent) printf("\n%cRandom write CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11916  dump_times(7);
11917  }
11918 
11919  if ((!include_tflag) || (include_mask & (long long)REVERSE_MASK)) {
11920  if(bif_flag)
11921  do_label(bif_fd, "Backward Read CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11922  if(!silent) printf("\n%cBackward read CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11923  dump_times(8);
11924  }
11925 
11926  if ((!include_tflag) || (include_mask & (long long)REWRITE_REC_MASK)) {
11927  if(bif_flag)
11928  do_label(bif_fd, "Record Rewrite CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11929  if(!silent) printf("\n%cRecord rewrite CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11930  dump_times(9);
11931  }
11932 
11933  if ((!include_tflag) || (include_mask & (long long)STRIDE_READ_MASK)) {
11934  if(bif_flag)
11935  do_label(bif_fd, "Stride Read CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11936  if(!silent) printf("\n%cStride read CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11937  dump_times(10);
11938  }
11939 
11940  if ((!include_tflag) || (include_mask & (long long)FWRITER_MASK)) {
11941  if(bif_flag)
11942  do_label(bif_fd, "Fwrite CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11943  if(!silent) printf("\n%cFwrite CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11944  dump_times(11);
11945  if(bif_flag)
11946  do_label(bif_fd, "Re-fwrite CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11947  if(!silent) printf("\n%cRe-Fwrite CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11948  dump_times(12);
11949  }
11950 
11951  if ((!include_tflag) || (include_mask & (long long)FREADER_MASK)) {
11952  if(bif_flag)
11953  do_label(bif_fd, "Fread CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11954  if(!silent) printf("\n%cFread CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11955  dump_times(13);
11956  if(bif_flag)
11957  do_label(bif_fd, "Re-fread CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11958  if(!silent) printf("\n%cRe-Fread CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11959  dump_times(14);
11960  }
11961 
11962 #ifdef HAVE_PREAD
11963  if(Eflag)
11964  {
11965  if ((!include_tflag) || (include_mask & (long long)PWRITER_MASK)) {
11966  if(bif_flag)
11967  do_label(bif_fd, "Pwrite CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11968  if(!silent) printf("\n%cPwrite CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11969  dump_times(15);
11970  if(bif_flag)
11971  do_label(bif_fd, "Re-pwrite CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11972  if(!silent) printf("\n%cRe-Pwrite CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11973  dump_times(16);
11974  }
11975 
11976  if ((!include_tflag) || (include_mask & (long long)PREADER_MASK)) {
11977  if(bif_flag)
11978  do_label(bif_fd, "Pread CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11979  if(!silent) printf("\n%cPread CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11980  dump_times(17);
11981  if(bif_flag)
11982  do_label(bif_fd, "Re-pread CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11983  if(!silent) printf("\n%cRe-Pread CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11984  dump_times(18);
11985  }
11986 
11987 #ifdef HAVE_PREADV
11988  if ((!include_tflag) || (include_mask & (long long)PWRITEV_MASK)) {
11989  if(bif_flag)
11990  do_label(bif_fd, "Pwritev CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11991  if(!silent) printf("\n%cPwritev CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11992  dump_times(19);
11993  if(bif_flag)
11994  do_label(bif_fd, "Re-pwritev CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
11995  if(!silent) printf("\n%cRe-Pwritev CPU utilization report (Zero values should be ignored)%c\n",'"','"');
11996  dump_times(20);
11997  }
11998 
11999  if ((!include_tflag) || (include_mask & (long long)PREADV_MASK)) {
12000  if(bif_flag)
12001  do_label(bif_fd, "Preadv CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
12002  if(!silent) printf("\n%cPreadv CPU utilization report (Zero values should be ignored)%c\n",'"','"');
12003  dump_times(21);
12004  if(bif_flag)
12005  do_label(bif_fd, "Re-preadv CPU utilization report (Zero values should be ignored)", bif_row++, bif_column);
12006  if(!silent) printf("\n%cRe-Preadv CPU utilization report (Zero values should be ignored)%c\n",'"','"');
12007  dump_times(22);
12008  }
12009 #endif
12010  }
12011 #endif
12012 }
int bif_column
Definition: iozone.c:1298
void do_label()
#define RANDOM_RW_MASK
Definition: iozone.c:922
#define STRIDE_READ_MASK
Definition: iozone.c:926
#define printf
Definition: papi_test.h:125
#define FREADER_MASK
Definition: iozone.c:928
#define READER_MASK
Definition: iozone.c:921
char include_tflag
Definition: iozone.c:1329
char Eflag
Definition: iozone.c:1303
int bif_row
Definition: iozone.c:1298
int bif_fd
Definition: iozone.c:1297
long long include_mask
Definition: iozone.c:1332
#define REWRITE_REC_MASK
Definition: iozone.c:925
#define REVERSE_MASK
Definition: iozone.c:924
#define WRITER_MASK
Definition: iozone.c:920
char silent
Definition: iozone.c:1295
#define FWRITER_MASK
Definition: iozone.c:927
char bif_flag
Definition: iozone.c:1307

Here is the call graph for this function:

Here is the caller graph for this function:

void dump_excel ( )

Definition at line 11653 of file iozone.c.

11655 {
11656  if(bif_flag)
11657  {
11661  do_label(bif_fd,"The top row is records sizes, the left column is file sizes",bif_row++,bif_column);
11662  }
11663  if(!silent) printf("Excel output is below:\n");
11664 
11665  if ((!include_tflag) || (include_mask & (long long)WRITER_MASK)) {
11666  if(bif_flag)
11667  do_label(bif_fd,"Writer Report",bif_row++,bif_column);
11668  if(!silent) printf("\n%cWriter report%c\n",'"','"');
11669  dump_report(2);
11670  if(bif_flag)
11671  do_label(bif_fd,"Re-writer Report",bif_row++,bif_column);
11672  if(!silent) printf("\n%cRe-writer report%c\n",'"','"');
11673  dump_report(3);
11674  }
11675 
11676  if ((!include_tflag) || (include_mask & (long long)READER_MASK)) {
11677  if(bif_flag)
11678  do_label(bif_fd,"Reader Report",bif_row++,bif_column);
11679  if(!silent) printf("\n%cReader report%c\n",'"','"');
11680  dump_report(4);
11681  if(bif_flag)
11682  do_label(bif_fd,"Re-reader Report",bif_row++,bif_column);
11683  if(!silent) printf("\n%cRe-Reader report%c\n",'"','"');
11684  dump_report(5);
11685  }
11686 
11687  if ((!include_tflag) || (include_mask & (long long)RANDOM_RW_MASK)) {
11688  if(bif_flag)
11689  do_label(bif_fd,"Random Read Report",bif_row++,bif_column);
11690  if(!silent) printf("\n%cRandom read report%c\n",'"','"');
11691  dump_report(6);
11692  if(bif_flag)
11693  do_label(bif_fd,"Random Write Report",bif_row++,bif_column);
11694  if(!silent) printf("\n%cRandom write report%c\n",'"','"');
11695  dump_report(7);
11696  }
11697 
11698  if ((!include_tflag) || (include_mask & (long long)REVERSE_MASK)) {
11699  if(bif_flag)
11700  do_label(bif_fd,"Backward Read Report",bif_row++,bif_column);
11701  if(!silent) printf("\n%cBackward read report%c\n",'"','"');
11702  dump_report(8);
11703  }
11704 
11705  if ((!include_tflag) || (include_mask & (long long)REWRITE_REC_MASK)) {
11706  if(bif_flag)
11707  do_label(bif_fd,"Record Rewrite Report",bif_row++,bif_column);
11708  if(!silent) printf("\n%cRecord rewrite report%c\n",'"','"');
11709  dump_report(9);
11710  }
11711 
11712  if ((!include_tflag) || (include_mask & (long long)STRIDE_READ_MASK)) {
11713  if(bif_flag)
11714  do_label(bif_fd,"Stride Read Report",bif_row++,bif_column);
11715  if(!silent) printf("\n%cStride read report%c\n",'"','"');
11716  dump_report(10);
11717  }
11718 
11719  if ((!include_tflag) || (include_mask & (long long)FWRITER_MASK)) {
11720  if(bif_flag)
11721  do_label(bif_fd,"Fwrite Report",bif_row++,bif_column);
11722  if(!silent) printf("\n%cFwrite report%c\n",'"','"');
11723  dump_report(11);
11724  if(bif_flag)
11725  do_label(bif_fd,"Re-fwrite Report",bif_row++,bif_column);
11726  if(!silent) printf("\n%cRe-Fwrite report%c\n",'"','"');
11727  dump_report(12);
11728  }
11729 
11730  if ((!include_tflag) || (include_mask & (long long)FREADER_MASK)) {
11731  if(bif_flag)
11732  do_label(bif_fd,"Fread Report",bif_row++,bif_column);
11733  if(!silent) printf("\n%cFread report%c\n",'"','"');
11734  dump_report(13);
11735  if(bif_flag)
11736  do_label(bif_fd,"Re-fread Report",bif_row++,bif_column);
11737  if(!silent) printf("\n%cRe-Fread report%c\n",'"','"');
11738  dump_report(14);
11739  }
11740 
11741 #ifdef HAVE_PREAD
11742  if(Eflag)
11743  {
11744  if ((!include_tflag) || (include_mask & (long long)PWRITER_MASK)) {
11745  if(bif_flag)
11746  do_label(bif_fd,"Pwrite Report",bif_row++,bif_column);
11747  if(!silent) printf("\n%cPwrite report%c\n",'"','"');
11748  dump_report(15);
11749  if(bif_flag)
11750  do_label(bif_fd,"Re-pwrite Report",bif_row++,bif_column);
11751  if(!silent) printf("\n%cRe-Pwrite report%c\n",'"','"');
11752  dump_report(16);
11753  }
11754 
11755  if ((!include_tflag) || (include_mask & (long long)PREADER_MASK)) {
11756  if(bif_flag)
11757  do_label(bif_fd,"Pread Report",bif_row++,bif_column);
11758  if(!silent) printf("\n%cPread report%c\n",'"','"');
11759  dump_report(17);
11760  if(bif_flag)
11761  do_label(bif_fd,"Re-pread Report",bif_row++,bif_column);
11762  if(!silent) printf("\n%cRe-Pread report%c\n",'"','"');
11763  dump_report(18);
11764  }
11765 
11766 #ifdef HAVE_PREADV
11767  if ((!include_tflag) || (include_mask & (long long)PWRITEV_MASK)) {
11768  if(bif_flag)
11769  do_label(bif_fd,"Pwritev Report",bif_row++,bif_column);
11770  if(!silent) printf("\n%cPwritev report%c\n",'"','"');
11771  dump_report(19);
11772  if(bif_flag)
11773  do_label(bif_fd,"Re-pwritev Report",bif_row++,bif_column);
11774  if(!silent) printf("\n%cRe-Pwritev report%c\n",'"','"');
11775  dump_report(20);
11776  }
11777 
11778  if ((!include_tflag) || (include_mask & (long long)PREADV_MASK)) {
11779  if(bif_flag)
11780  do_label(bif_fd,"Preadv Report",bif_row++,bif_column);
11781  if(!silent) printf("\n%cPreadv report%c\n",'"','"');
11782  dump_report(21);
11783  if(bif_flag)
11784  do_label(bif_fd,"Re-preadv Report",bif_row++,bif_column);
11785  if(!silent) printf("\n%cRe-Preadv report%c\n",'"','"');
11786  dump_report(22);
11787  }
11788 #endif
11789  }
11790 #endif
11791  if (cpuutilflag)
11792  dump_cputimes();
11793  if(bif_flag)
11794  close_xls(bif_fd);
11795 }
int bif_column
Definition: iozone.c:1298
void do_label()
#define RANDOM_RW_MASK
Definition: iozone.c:922
#define STRIDE_READ_MASK
Definition: iozone.c:926
#define printf
Definition: papi_test.h:125
#define FREADER_MASK
Definition: iozone.c:928
#define READER_MASK
Definition: iozone.c:921
char include_tflag
Definition: iozone.c:1329
char Eflag
Definition: iozone.c:1303
int bif_row
Definition: iozone.c:1298
int bif_fd
Definition: iozone.c:1297
long long include_mask
Definition: iozone.c:1332
char cpuutilflag
Definition: iozone.c:1321
void dump_cputimes()
Definition: iozone.c:11880
#define REWRITE_REC_MASK
Definition: iozone.c:925
#define REVERSE_MASK
Definition: iozone.c:924
char command_line[1024]
Definition: iozone.c:1387
#define WRITER_MASK
Definition: iozone.c:920
void close_xls()
char bif_filename[MAXNAMESIZE]
Definition: iozone.c:1359
char silent
Definition: iozone.c:1295
#define FWRITER_MASK
Definition: iozone.c:927
char bif_flag
Definition: iozone.c:1307
int create_xls()

Here is the call graph for this function:

void dump_hist ( )

Here is the caller graph for this function:

dump_hist ( "write"  ,
(int xx 
)
dump_hist ( "Rewrite"  ,
(int xx 
)
dump_hist ( "Read"  ,
(int xx 
)
dump_hist ( "Reread"  ,
(int xx 
)
dump_hist ( "Read Backwards"  ,
(int xx 
)
dump_hist ( "Stride Read"  ,
(int xx 
)
dump_hist ( "Random Read"  ,
(int xx 
)
dump_hist ( "Random Write"  ,
(int xx 
)
void dump_hist ( char *  what,
int  id 
)

Definition at line 24284 of file iozone.c.

24285 {
24286  FILE *fp;
24287 
24288  char name[256];
24289 
24290  sprintf(name,"%s_child_%d.txt","Iozone_histogram",id);
24291 
24292  fp = fopen(name,"a");
24293 
24294 #ifndef NO_PRINT_LLD
24295  fprintf(fp,"Child: %d Op: %s\n",id,what);
24296  fprintf(fp,"Band 1: ");
24297  fprintf(fp," 20us:%-7.1lld ",buckets[0]);
24298  fprintf(fp," 40us:%-7.1lld ",buckets[1]);
24299  fprintf(fp," 60us:%-7.1lld ",buckets[2]);
24300  fprintf(fp," 80us:%-7.1lld ",buckets[3]);
24301  fprintf(fp,"100us:%-7.1lld \n",buckets[4]);
24302 
24303  fprintf(fp,"Band 2: ");
24304  fprintf(fp,"200us:%-7.1lld ",buckets[5]);
24305  fprintf(fp,"400us:%-7.1lld ",buckets[6]);
24306  fprintf(fp,"600us:%-7.1lld ",buckets[7]);
24307  fprintf(fp,"800us:%-7.1lld ",buckets[8]);
24308  fprintf(fp," 1ms:%-7.1lld \n",buckets[9]);
24309 
24310  fprintf(fp,"Band 3: ");
24311  fprintf(fp," 2ms:%-7.1lld ",buckets[10]);
24312  fprintf(fp," 4ms:%-7.1lld ",buckets[11]);
24313  fprintf(fp," 6ms:%-7.1lld ",buckets[12]);
24314  fprintf(fp," 8ms:%-7.1lld ",buckets[13]);
24315  fprintf(fp," 10ms:%-7.1lld \n",buckets[14]);
24316 
24317  fprintf(fp,"Band 4: ");
24318  fprintf(fp," 12ms:%-7.1lld ",buckets[15]);
24319  fprintf(fp," 14ms:%-7.1lld ",buckets[16]);
24320  fprintf(fp," 16ms:%-7.1lld ",buckets[17]);
24321  fprintf(fp," 18ms:%-7.1lld ",buckets[18]);
24322  fprintf(fp," 20ms:%-7.1lld \n",buckets[19]);
24323 
24324  fprintf(fp,"Band 5: ");
24325  fprintf(fp," 40ms:%-7.1lld ",buckets[20]);
24326  fprintf(fp," 60ms:%-7.1lld ",buckets[21]);
24327  fprintf(fp," 80ms:%-7.1lld ",buckets[22]);
24328  fprintf(fp,"100ms:%-7.1lld \n",buckets[23]);
24329 
24330  fprintf(fp,"Band 6: ");
24331  fprintf(fp,"200ms:%-7.1lld ",buckets[24]);
24332  fprintf(fp,"400ms:%-7.1lld ",buckets[25]);
24333  fprintf(fp,"600ms:%-7.1lld ",buckets[26]);
24334  fprintf(fp,"800ms:%-7.1lld ",buckets[27]);
24335  fprintf(fp," 1s:%-7.1lld \n",buckets[28]);
24336 
24337  fprintf(fp,"Band 7: ");
24338  fprintf(fp," 2s:%-7.1lld ",buckets[29]);
24339  fprintf(fp," 4s:%-7.1lld ",buckets[30]);
24340  fprintf(fp," 6s:%-7.1lld ",buckets[31]);
24341  fprintf(fp," 8s:%-7.1lld ",buckets[32]);
24342  fprintf(fp," 10s:%-7.1lld \n",buckets[33]);
24343 
24344  fprintf(fp,"Band 8: ");
24345  fprintf(fp," 20s:%-7.1lld ",buckets[34]);
24346  fprintf(fp," 40s:%-7.1lld ",buckets[35]);
24347  fprintf(fp," 60s:%-7.1lld ",buckets[36]);
24348  fprintf(fp," 80s:%-7.1lld ",buckets[37]);
24349  fprintf(fp," 120s:%-7.1lld \n",buckets[38]);
24350 
24351  fprintf(fp,"Band 9: ");
24352  fprintf(fp,"120+s:%-7.1lld \n\n",buckets[39]);
24353 #else
24354  fprintf(fp,"Child: %d Op: %s\n",id,what);
24355  fprintf(fp,"Band 1: ");
24356  fprintf(fp," 20us:%-7.1ld ",buckets[0]);
24357  fprintf(fp," 40us:%-7.1ld ",buckets[1]);
24358  fprintf(fp," 60us:%-7.1ld ",buckets[2]);
24359  fprintf(fp," 80us:%-7.1ld ",buckets[3]);
24360  fprintf(fp,"100us:%-7.1ld \n",buckets[4]);
24361 
24362  fprintf(fp,"Band 2: ");
24363  fprintf(fp,"200us:%-7.1ld ",buckets[5]);
24364  fprintf(fp,"400us:%-7.1ld ",buckets[6]);
24365  fprintf(fp,"600us:%-7.1ld ",buckets[7]);
24366  fprintf(fp,"800us:%-7.1ld ",buckets[8]);
24367  fprintf(fp," 1ms:%-7.1ld \n",buckets[9]);
24368 
24369  fprintf(fp,"Band 3: ");
24370  fprintf(fp," 2ms:%-7.1ld ",buckets[10]);
24371  fprintf(fp," 4ms:%-7.1ld ",buckets[11]);
24372  fprintf(fp," 6ms:%-7.1ld ",buckets[12]);
24373  fprintf(fp," 8ms:%-7.1ld ",buckets[13]);
24374  fprintf(fp," 10ms:%-7.1ld \n",buckets[14]);
24375 
24376  fprintf(fp,"Band 4: ");
24377  fprintf(fp," 12ms:%-7.1ld ",buckets[15]);
24378  fprintf(fp," 14ms:%-7.1ld ",buckets[16]);
24379  fprintf(fp," 16ms:%-7.1ld ",buckets[17]);
24380  fprintf(fp," 18ms:%-7.1ld ",buckets[18]);
24381  fprintf(fp," 20ms:%-7.1ld \n",buckets[19]);
24382 
24383  fprintf(fp,"Band 5: ");
24384  fprintf(fp," 40ms:%-7.1ld ",buckets[20]);
24385  fprintf(fp," 60ms:%-7.1ld ",buckets[21]);
24386  fprintf(fp," 80ms:%-7.1ld ",buckets[22]);
24387  fprintf(fp,"100ms:%-7.1ld \n",buckets[23]);
24388 
24389  fprintf(fp,"Band 6: ");
24390  fprintf(fp,"200ms:%-7.1ld ",buckets[24]);
24391  fprintf(fp,"400ms:%-7.1ld ",buckets[25]);
24392  fprintf(fp,"600ms:%-7.1ld ",buckets[26]);
24393  fprintf(fp,"800ms:%-7.1ld ",buckets[27]);
24394  fprintf(fp," 1s:%-7.1ld \n",buckets[28]);
24395 
24396  fprintf(fp,"Band 7: ");
24397  fprintf(fp," 2s:%-7.1ld ",buckets[29]);
24398  fprintf(fp," 4s:%-7.1ld ",buckets[30]);
24399  fprintf(fp," 6s:%-7.1ld ",buckets[31]);
24400  fprintf(fp," 8s:%-7.1ld ",buckets[32]);
24401  fprintf(fp," 10s:%-7.1ld \n",buckets[33]);
24402 
24403  fprintf(fp,"Band 8: ");
24404  fprintf(fp," 20s:%-7.1ld ",buckets[34]);
24405  fprintf(fp," 40s:%-7.1ld ",buckets[35]);
24406  fprintf(fp," 60s:%-7.1ld ",buckets[36]);
24407  fprintf(fp," 80s:%-7.1ld ",buckets[37]);
24408  fprintf(fp," 120s:%-7.1ld \n",buckets[38]);
24409 
24410  fprintf(fp,"Band 9: ");
24411  fprintf(fp,"120+s:%-7.1ld \n\n",buckets[39]);
24412 #endif
24413  fclose(fp);
24414 }
sprintf(splash[splash_line++],"\tIozone: Performance Test of File I/O\n")
fclose(thread_wqfd)
static FILE * fp
long long buckets[BUCKETS]
Definition: iozone.c:24212
char * name
Definition: iozone.c:23648

Here is the call graph for this function:

void dump_throughput ( )

Here is the caller graph for this function:

dump_throughput_cpu ( )
void exit ( )
exit ( 17  )
Initial value:
{
printf("\n\tDisrupt not supported in telemetry mode.\n\n")
#define printf
Definition: papi_test.h:125
exit ( 20  )
exit ( )
exit ( 168  )
exit ( 174  )
Initial value:
{
printf("Unable to open read telemetry file \"%s\"\n",
#define printf
Definition: papi_test.h:125
char read_traj_filename[MAXNAMESIZE]
Definition: iozone.c:1508
exit ( 175  )
exit ( 176  )
fclose ( thread_wqfd  )

Here is the caller graph for this function:

fclose ( w_traj_fd  )
fclose ( thread_rwqfd  )
fclose ( thread_rqfd  )
fclose ( r_traj_fd  )
fclose ( thread_rrqfd  )
fclose ( thread_revqfd  )
fclose ( thread_strqfd  )
fclose ( thread_randrfd  )
fclose ( thread_randwqfd  )
fclose ( fd  )
fclose ( stdout  )
fclose ( stderr  )
void fetchit ( )

Here is the caller graph for this function:

fetchit ( nbuff  ,
reclen   
)
fflush ( stdout  )

Here is the caller graph for this function:

fflush ( stderr  )
void fill_buffer ( )

Here is the caller graph for this function:

fill_buffer ( nbuff  ,
reclen  ,
(long long pattern,
sverify  ,
(long long 0 
)
void find_external_mon ( imon_start  ,
imon_stop   
)
void find_remote_shell ( )

Here is the caller graph for this function:

find_remote_shell ( remote_shell  )
for ( i  = 0;i<=max_y;i++)

Definition at line 11615 of file iozone.c.

11615  {
11616  if(report_array[0][i] != current_file_size){
11617  if(!silent) printf("\n");
11619  if(bif_flag)
11620  {
11621  bif_row++;
11622  bif_column=0;
11624  }
11625 #ifdef NO_PRINT_LLD
11626  if(!silent) printf("%c%ld%c ",'"',current_file_size,'"');
11627 #else
11628  if(!silent) printf("%c%lld%c ",'"',current_file_size,'"');
11629 #endif
11630  }
11631  if(bif_flag)
11633 #ifdef NO_PRINT_LLD
11634  if(!silent) printf(" %ld ",report_array[who][i]);
11635 #else
11636  if(!silent) printf(" %lld ",report_array[who][i]);
11637 #endif
11638  }
int bif_column
Definition: iozone.c:1298
#define printf
Definition: papi_test.h:125
void do_float()
int i
Definition: fileop.c:140
int bif_row
Definition: iozone.c:1298
int bif_fd
Definition: iozone.c:1297
long long who
Definition: iozone.c:11805
off64_t report_array[MAX_X][MAX_Y]
Definition: iozone.c:1269
char silent
Definition: iozone.c:1295
char bif_flag
Definition: iozone.c:1307
current_file_size
Definition: iozone.c:11605

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 11816 of file iozone.c.

11818  {
11819  if (rec_size == 0) break;
11820  if (bif_flag)
11821  do_float(bif_fd, (double)(rec_size/1024), bif_row, bif_column++);
11822 #ifdef NO_PRINT_LLD
11823  if(!silent) printf(" %c%ld%c",'"',rec_size/1024,'"');
11824 #else
11825  if(!silent) printf(" %c%lld%c",'"',rec_size/1024,'"');
11826 #endif
11827  }
int bif_column
Definition: iozone.c:1298
#define printf
Definition: papi_test.h:125
rec_size
Definition: iozone.c:10087
void do_float()
int bif_row
Definition: iozone.c:1298
int bif_fd
Definition: iozone.c:1297
char silent
Definition: iozone.c:1295
char bif_flag
Definition: iozone.c:1307

Here is the call graph for this function:

for ( )

Definition at line 12285 of file iozone.c.

12285  {
12286  ret = system(command);
12287  if (ret == 0)
12288  break;
12289  sleep(i); /* seconds */
12290  }
sleep(1)
char command[512]
Definition: iozone.c:21329
long long ret
Definition: iozone.c:1346
int i
Definition: fileop.c:140
int system()

Here is the call graph for this function:

for ( ;size_listp size_listp = size_listp->next)

Definition at line 20078 of file iozone.c.

20079  {
20080  if(size_listp->size > size)
20081  return(size_listp->size);
20082  }
size_listp
Definition: iozone.c:20039
char *long long size
Definition: iozone.c:12023
void fread_perf_test ( )
free ( dummyfile  [xx])

Here is the caller graph for this function:

free ( recnum  )
free ( free_addr  )
free ( sp_buf  )
int fsync ( )

Here is the caller graph for this function:

void fwrite_perf_test ( )
int gen_new_buf ( )
int gen_new_buf ( char *  ibuf,
char *  obuf,
long  seed,
int  size,
int  percent,
int  percent_interior,
int  percent_compress,
int  all 
)

Definition at line 23731 of file iozone.c.

23733 {
23734  register long *ip, *op; /* Register for speed */
23735  register long iseed; /* Register for speed */
23736  register long isize; /* Register for speed */
23737  register long cseed; /* seed for dedupable for within & ! across */
23738  register int x,w; /* Register for speed */
23739  register int value; /* Register for speed */
23740  register int interior_size; /* size of interior dedup region */
23741  register int compress_size; /* size of compression dedup region */
23742  if(ibuf == NULL) /* no input buf */
23743  return(-1);
23744  if(obuf == NULL) /* no output buf */
23745  return(-1);
23746  if((percent > 100) || (percent < 0)) /* percent check */
23747  return(-1);
23748  if(size == 0) /* size check */
23749  return(-1);
23750  srand(seed+1+(((int)numrecs64)*dedup_mseed)); /* set random seed */
23751  iseed = rand(); /* generate random value */
23752  isize = (size * percent)/100; /* percent that is dedupable */
23753  interior_size = ((isize * percent_interior)/100);/* /sizeof(long) */
23754  compress_size =((interior_size * percent_compress)/100);
23755  ip = (long *)ibuf; /* pointer to input buf */
23756  op = (long *)obuf; /* pointer to output buf */
23757  if(all == 0) /* Special case for verify only */
23758  isize = sizeof(long);
23759  /* interior_size = dedup_within + dedup_across */
23760  for(w=0;w<interior_size;w+=sizeof(long))
23761  {
23762  *op=0xdeadbeef+dedup_mseed;
23763  *ip=0xdeadbeef+dedup_mseed;
23764  op++;
23765  ip++;
23766  }
23767  /* Prepare for dedup within but not across */
23768  w=interior_size - compress_size;
23769  op=(long *)&obuf[w];
23770  ip=(long *)&ibuf[w];
23771  srand(chid+1+dedup_mseed); /* set randdom seed */
23772  cseed = rand(); /* generate random value */
23773  for(w=(interior_size-compress_size);w<interior_size;w+=sizeof(long))
23774  {
23775  *op=*ip ^ cseed; /* do the xor op */
23776  op++;
23777  ip++;
23778  }
23779  /* isize = dedup across only */
23780  for(x=interior_size;x<isize;x+=sizeof(long)) /* tight loop for transformation */
23781  {
23782  *op=*ip ^ iseed; /* do the xor op */
23783  op++;
23784  ip++;
23785  }
23786  if(all == 0) /* Special case for verify only */
23787  return(0);
23788  /* make the rest of the buffer non-dedupable */
23789  if(100-percent > 0)
23790  {
23791  srand(1+seed+((chid+1)*(int)numrecs64)*dedup_mseed);
23792  value=rand();
23793 /* printf("Non-dedup value %x seed %x\n",value,seed);*/
23794  for( ; x<size;x+=sizeof(long))
23795  *op++=(*ip++)^value; /* randomize the remainder */
23796  }
23797  return(0);
23798 }
struct in_addr * ip
Definition: iozone.c:20416
void double value
Definition: iozone.c:18781
long long chid
Definition: iozone.c:1529
void srand()
char *long long size
Definition: iozone.c:12023
off64_t numrecs64
Definition: iozone.c:1534
long long
Definition: iozone.c:19827
int dedup_mseed
Definition: iozone.c:1299
int x
Definition: fileop.c:78
int rand()
int int op
Definition: iozone.c:19389

Here is the call graph for this function:

long long genrand64_int63 ( void  )

Definition at line 23960 of file iozone.c.

23961 {
23962  return (long long)(genrand64_int64() >> 1);
23963 }
unsigned long long genrand64_int64(void)
Definition: iozone.c:23922

Here is the call graph for this function:

unsigned long long genrand64_int64 ( void  )

Definition at line 23922 of file iozone.c.

23923 {
23924  int i;
23925  unsigned long long x;
23926  static unsigned long long mag01[2]={0ULL, MATRIX_A};
23927 
23928  if (mti >= NN) { /* generate NN words at one time */
23929 
23930  /* if init_genrand64() has not been called, */
23931  /* a default initial seed is used */
23932  if (mti == NN+1)
23933  init_genrand64(5489ULL);
23934 
23935  for (i=0;i<NN-MM;i++) {
23936  x = (mt[i]&UM)|(mt[i+1]&LM);
23937  mt[i] = mt[i+MM] ^ (x>>1) ^ mag01[(int)(x&1ULL)];
23938  }
23939  for (;i<NN-1;i++) {
23940  x = (mt[i]&UM)|(mt[i+1]&LM);
23941  mt[i] = mt[i+(MM-NN)] ^ (x>>1) ^ mag01[(int)(x&1ULL)];
23942  }
23943  x = (mt[NN-1]&UM)|(mt[0]&LM);
23944  mt[NN-1] = mt[MM-1] ^ (x>>1) ^ mag01[(int)(x&1ULL)];
23945 
23946  mti = 0;
23947  }
23948 
23949  x = mt[mti++];
23950 
23951  x ^= (x >> 29) & 0x5555555555555555ULL;
23952  x ^= (x << 17) & 0x71D67FFFEDA60000ULL;
23953  x ^= (x << 37) & 0xFFF7EEE000000000ULL;
23954  x ^= (x >> 43);
23955 
23956  return x;
23957 }
static int mti
Definition: iozone.c:23884
#define MATRIX_A
Definition: iozone.c:23876
void init_genrand64(unsigned long long seed)
Definition: iozone.c:23887
int i
Definition: fileop.c:140
#define MM
Definition: iozone.c:23875
static unsigned long long mt[NN]
Definition: iozone.c:23882
#define NN
Definition: iozone.c:23874
int
Definition: iozone.c:18528
int x
Definition: fileop.c:78
#define UM
Definition: iozone.c:23877
#define LM
Definition: iozone.c:23878

Here is the call graph for this function:

Here is the caller graph for this function:

double genrand64_real1 ( void  )

Definition at line 23966 of file iozone.c.

23967 {
23968  return (genrand64_int64() >> 11) * (1.0/9007199254740991.0);
23969 }
unsigned long long genrand64_int64(void)
Definition: iozone.c:23922

Here is the call graph for this function:

double genrand64_real2 ( void  )

Definition at line 23972 of file iozone.c.

23973 {
23974  return (genrand64_int64() >> 11) * (1.0/9007199254740992.0);
23975 }
unsigned long long genrand64_int64(void)
Definition: iozone.c:23922

Here is the call graph for this function:

double genrand64_real3 ( void  )

Definition at line 23978 of file iozone.c.

23979 {
23980  return ((genrand64_int64() >> 12) + 0.5) * (1.0/4503599627370496.0);
23981 }
unsigned long long genrand64_int64(void)
Definition: iozone.c:23922

Here is the call graph for this function:

int get_client_info ( )

Here is the caller graph for this function:

void get_date ( )

Here is the caller graph for this function:

off64_t get_next_file_size ( )
off64_t get_next_record_size ( )
int get_pattern ( )
get_resolution ( )