From: compudj Date: Thu, 29 May 2003 13:35:22 +0000 (+0000) Subject: misc files X-Git-Tag: v0.12.20~3471 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=5a1bc7d3b599096f61117567fd525944b353deff;p=lttv.git misc files git-svn-id: http://ltt.polymtl.ca/svn@18 04897980-b3bd-0310-b5e0-8ef037075253 --- diff --git a/ltt/branches/poly/misc/EventAPI.c b/ltt/branches/poly/misc/EventAPI.c new file mode 100644 index 00000000..578847a2 --- /dev/null +++ b/ltt/branches/poly/misc/EventAPI.c @@ -0,0 +1,1112 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//#include + +#include "LTTTypes.h" + +#include "parser.h" +#include "EventAPI.h" + +//during the test +#include "default.h" + +sequence facilities; +int facilitiesNum, totalNumEvents; +kernel_facility ** idToFacility; //corresponding between event id and kernel facility, it points to kFacilities +kernel_facility ** kFacilities; + +int intSize[] = {sizeof(int8_t), sizeof(int16_t), sizeof(int32_t), + sizeof(int64_t), sizeof(short int), sizeof(int), + sizeof(long) }; +int uintSize[] = {sizeof(uint8_t), sizeof(uint16_t), sizeof(uint32_t), + sizeof(uint64_t), sizeof(unsigned short int), + sizeof(unsigned int), sizeof(unsigned long) }; +int floatSize[] = {-1, -1, sizeof(float), sizeof(double), + -1, sizeof(float), sizeof(double)}; + +//will be deleted later, test +char *buf[] = {"TRACE_EV_START", "TRACE_EV_SYSCALL_ENTRY", "TRACE_EV_SYSCALL_EXIT", "TRACE_EV_TRAP_ENTRY", + "TRACE_EV_TRAP_EXIT", "TRACE_EV_IRQ_ENTRY", "TRACE_EV_IRQ_EXIT", "TRACE_EV_SCHEDCHANGE", + "TRACE_EV_KERNEL_TIMER", "TRACE_EV_SOFT_IRQ", "TRACE_EV_PROCESS", "TRACE_EV_FILE_SYSTEM", + "TRACE_EV_TIMER", "TRACE_EV_MEMORY", "TRACE_EV_SOCKET", "TRACE_EV_IPC", + "TRACE_EV_NETWORK", "TRACE_EV_BUFFER_START", "TRACE_EV_BUFFER_END", "TRACE_EV_NEW_EVENT", + "TRACE_EV_CUSTOM", "TRACE_EV_CHANGE_MASK", "TRACE_EV_HEARTBEAT" }; +FILE * fp; +void print_event( event_struct * ev){ + int i,j; + sequence * baseField = ev->base_field; + char* ch; + field_handle * fHandle; + void* curPos = ev->data; + void * offset; + data_type dt, edt; + + fprintf(fp,"Event id = %d, %s\n",ev->event_id, buf[ev->event_id]); + + for(i=0;iposition;i++){ + fHandle = (field_handle *) baseField->array[i]; + dt = fHandle->field_type; + fprintf(fp,"%s: ", fHandle->name); + if(dt == INT || dt == UINT || dt == FLOAT || dt == ENUM){ + if(dt == FLOAT){ + if(fHandle->size == 4)fprintf(fp, "%f\n",*(float*)(curPos+fHandle->offset)); + else fprintf(fp, "%f\n",(float)(*(double*)(curPos+fHandle->offset))); + }else{ + if(fHandle->size == 1)fprintf(fp, "%d\n",(int)(*(int8_t *)(curPos+fHandle->offset))); + else if(fHandle->size == 2)fprintf(fp, "%d\n",(int)(*(int16_t *)(curPos+fHandle->offset))); + else if(fHandle->size == 4)fprintf(fp, "%d\n",(int)(*(int32_t *)(curPos+fHandle->offset))); + else if(fHandle->size == 8)fprintf(fp, "%d\n",(int)(*(int64_t *)(curPos+fHandle->offset))); + } + }else if(dt == ARRAY || dt == SEQUENCE ){ + ch = (char*)(curPos+fHandle->offset); + offset = curPos+fHandle->offset; + for(j=0;jnbElements;j++){ + edt = fHandle->element_type; + if(edt == INT || edt == UINT || edt == FLOAT || edt == ENUM){ + if(edt == FLOAT){ + if(fHandle->size == 4)fprintf(fp, "%f, ",*(float*)offset); + else fprintf(fp, "%f\n",(float)(*(double*)offset)); + }else{ + if(fHandle->size == 1)fprintf(fp, "%d, ",(int)(*(int8_t *)offset)); + else if(fHandle->size == 2)fprintf(fp, "%d, ",(int)(*(int16_t *)offset)); + else if(fHandle->size == 4)fprintf(fp, "%d, ",(int)(*(int32_t *)offset)); + else if(fHandle->size == 8)fprintf(fp, "%d, ",(int)(*(int64_t *)offset)); + } + offset += fHandle->size; + }else if(edt == STRING){ + fprintf(fp,"%s, ", ch); + while(1){ + if(*ch == '\0'){ch++; break;} //string ended with '\0' + ch++; + } + }else if(edt == ARRAY || edt == SEQUENCE || edt == STRUCT){ // not supported + } + } + fprintf(fp,"\n"); + }else if(dt == STRING){ + fprintf(fp,"%s\n", (char*)(curPos+fHandle->offset)); + }else if (dt == STRUCT){ //not supported + } + } + + fprintf(fp,"\n\n"); + // fflush(fp); +} +//end + +/***************************************************************************** + *Function name + * parseEventAndTypeDefinition: main function to parse event and type definition + ****************************************************************************/ +void parseEventAndTypeDefinition(char * facilityName){ + char *token; + parse_file in; + char buffer[BUFFER_SIZE]; + unsigned long checksum; + event *ev; + sequence events; + table namedTypes; + sequence unnamedTypes; + + sequence_init(&events); + table_init(&namedTypes); + sequence_init(&unnamedTypes); + + in.buffer = buffer; + in.lineno = 0; + in.error = error_callback; + in.name = appendString(facilityName,".event"); + + in.fp = fopen(in.name, "r"); + if(!in.fp )in.error(&in,"cannot open input file"); + + while(1){ + token = getToken(&in); + if(in.type == ENDFILE) break; + + if(strcmp("event",token) == 0) { + ev = (event *)memAlloc(sizeof(event)); + sequence_push(&events,ev); + parseEvent(&in,ev, &unnamedTypes, &namedTypes); + } + else if(strcmp("type",token) == 0) { + parseTypeDefinition(&in, &unnamedTypes, &namedTypes); + } + else in.error(&in,"event or type token expected"); + } + + fclose(in.fp); + + checkNamedTypesImplemented(&namedTypes); + + generateChecksum(facilityName, &checksum, &events); + + generateFacilityHandle(facilityName,checksum,&events); + + + free(in.name); + freeEvents(&events); + sequence_dispose(&events); + freeNamedType(&namedTypes); + table_dispose(&namedTypes); + freeTypes(&unnamedTypes); + sequence_dispose(&unnamedTypes); + +} + +/***************************************************************************** + *Function name + * generateFacilityHandle : generate facility handle + *Input params + * facName : facility name + * checksum : checksum of the facility + * events : sequence of events + ****************************************************************************/ +void generateFacilityHandle(char * facName, unsigned long checksum, sequence * events){ + int i,j, pos,nbEvents=0; + facility_handle * facHandle; + event_handle * evHandle; + field_handle * fldHandle; + event * ev; + field *fld; + data_type dt; + off_t offset; + + //get number of events which do not have nested struct + for(i=0;iposition;i++){ + ev = (event *)events->array[i]; + if(ev->nested)continue; + nbEvents++; + } + + //allocate memory for the facility + facHandle = (facility_handle *) memAlloc(sizeof(facility_handle)); + facHandle->name = allocAndCopy(facName); + facHandle->checksum = checksum; + facHandle->nbEvents = events->position; + facHandle->events = (event_handle **)memAlloc(sizeof(event_handle*) * nbEvents); + + //allocate memory for event handles and associate them with the facility + evHandle = (event_handle *)memAlloc(sizeof(event_handle) * nbEvents); + for(i=0;ievents[i] = &evHandle[i]; + } + + j = -1; + for(pos=0;posposition;pos++){ + ev = (event *)events->array[pos]; + if(ev->nested)continue; + j++; + evHandle[j].name = allocAndCopy(ev->name); + evHandle[j].id = pos; + evHandle[j].size_fixed = 1; //by default there are no string or sequence + if(ev->type->fields.position){ + fldHandle = (field_handle *)memAlloc(sizeof(field_handle) * ev->type->fields.position); + } + evHandle[j].latest_block = -1; + evHandle[j].latest_event = -1; + offset = EVENT_HEADER_SIZE(); //the beginning of the event is id and time delta + for(i=0;itype->fields.position;i++){ + fld = (field *)ev->type->fields.array[i]; + fldHandle[i].name = allocAndCopy(fld->name); + fldHandle[i].field_type = fld->type->type; + dt = fld->type->type; + fldHandle[i].fmt = NULL; + fldHandle[i].element_type = NONE; + fldHandle[i].sequence_size = -1; + fldHandle[i].offset = -1; + fldHandle[i].end_field = -1; + if(dt==UINT || dt==INT || dt==FLOAT || dt==ENUM){ + fldHandle[i].size = getTypeSize(dt, fld->type->size); + if(evHandle[j].size_fixed){ + fldHandle[i].offset = offset; + offset += fldHandle[i].size; + fldHandle[i].end_field = offset; + } + if(fld->type->fmt) fldHandle[i].fmt = allocAndCopy(fld->type->fmt); + }else if(dt==STRING){ + fldHandle[i].size = -1; //-1 means: size is not known + if(evHandle[j].size_fixed){ + evHandle[j].size_fixed = 0; + fldHandle[i].offset = offset; + offset = -1; + } + if(fld->type->fmt) fldHandle[i].fmt = allocAndCopy(fld->type->fmt); + }else if(dt==ARRAY || dt==SEQUENCE){ + fldHandle[i].size = getTypeSize(fld->type->nested_type->type, fld->type->nested_type->size); //other primitive type + fldHandle[i].element_type = fld->type->nested_type->type; + if(evHandle[j].size_fixed){ + fldHandle[i].offset = offset; + if(dt==SEQUENCE){ + evHandle[j].size_fixed = 0; + offset = -1; + }else{ + if(fldHandle[i].size > 0){ + offset += fld->type->size * fldHandle[i].size; + fldHandle[i].end_field = offset; + } + else{ + evHandle[j].size_fixed = 0; + offset = -1; + } + } + } + if(dt==ARRAY) fldHandle[i].nbElements = fld->type->size; + else fldHandle[i].nbElements = -1; //is not known + if(dt==SEQUENCE) fldHandle[i].sequence_size = getTypeSize(UINT, fld->type->size); + }else if(dt==STRUCT){ + fldHandle[i].size = -1; //impossible: do not support nested struct + if(evHandle[j].size_fixed){ + evHandle[j].size_fixed = 0; + offset = -1; + } + } + + //add field handle into the sequence of field handles of the event handle + sequence_push(&evHandle[j].base_field, &fldHandle[i]); + } + } + + //add the facility handle into the sequence of facilities + sequence_push(&facilities,facHandle); +} + +/***************************************************************************** + *Function name + * getTypeSize : get the size of a given data type + *Input params + * dt : data type + * index : index of the data type + *Output params + * int : return the size of the data type + ****************************************************************************/ +int getTypeSize(data_type dt, int index){ + int size = -1; + switch(dt){ + case INT: + size = intSize[index]; + break; + case UINT: + case ENUM: + size = uintSize[index]; + break; + case FLOAT: + size = floatSize[index]; + break; + case STRING: + case ARRAY: + case SEQUENCE: + case STRUCT: + default: + } + return size; +} + +/***************************************************************************** + *Function name + * initFacilities: initialize the sequence for facilities and get all of the + * registered facilities from kernel + *****************************************************************************/ +void initFacilities(){ + int err, i, j; + + sequence_init(&facilities); + + //get the number of the registered facilities from kernel + err = getFacilitiesNumber( &facilitiesNum, &totalNumEvents); + if(err){ + printf("Unable to get the number of the registered facilities from kernel\n"); + exit(1); + } + + //get all of the registered facilities from kernel + kFacilities = (kernel_facility**)memAlloc(sizeof(kernel_facility*) * facilitiesNum); + for(i=0;ifirstId; j < kFacilities[i]->firstId + kFacilities[i]->nbEvents; j++){ + idToFacility[j] = kFacilities[i]; + } + } + +} + + +/***************************************************************************** + *Function name + * trace_open_log : open trace files + *Input Params + * fileName : trace file name + *Output Params + * ltt_descriptor : handle to opened files + ****************************************************************************/ +ltt_descriptor * trace_open_log(char * fileName){ + ltt_descriptor * lttdes; + struct stat lTDFStat; /* Trace data file status */ + trace_header_event *trace_header; + block_header a_block_header; + + //initialize the sequence for facilities and get all registered facilities from kernel + initFacilities(); + + lttdes = (ltt_descriptor *)memAlloc(sizeof(ltt_descriptor)); + + //open the file + lttdes->fd = open(fileName, O_RDONLY, 0); + if(lttdes->fd < 0){ + printf("Unable to open input data file %s\n", fileName); + exit(1); + } + + // Get the file's status + if(fstat(lttdes->fd, &lTDFStat) < 0){ + printf("Unable to get the status of the input data file %s\n", fileName); + exit(1); + } + + // Is the file large enough to contain a trace + if(lTDFStat.st_size < sizeof(block_header) + sizeof(trace_header_event)){ + printf("The input data file %s does not contain a trace\n", fileName); + exit(1); + } + + //store the size of the file + lttdes->file_size = lTDFStat.st_size; + + //read the first block header + if(readFile(lttdes->fd,(void*)&a_block_header, sizeof(block_header), "Unable to read block header")) + exit(1); + + //read the trace header event + trace_header = memAlloc(sizeof(trace_header_event)); + if(readFile(lttdes->fd,(void*)trace_header, sizeof(trace_header_event),"Unable to read trace header event")) + exit(1); + + lttdes->nbBlocks = lttdes->file_size / trace_header->buffer_size; + lttdes->trace_header = (trace_header_event *)trace_header; + + //read the first block + lttdes->buffer = memAlloc(trace_header->buffer_size); + lseek(lttdes->fd, 0,SEEK_SET); + if(readBlock(lttdes,1)) exit(1); + + if(lttdes->trace_header->magic_number == TRACER_MAGIC_NUMBER) lttdes->byte_rev = 0; + else if(BREV32(lttdes->trace_header->magic_number) == TRACER_MAGIC_NUMBER) lttdes->byte_rev = 1; + else exit(1); + + + + return lttdes; +} + +/***************************************************************************** + *Function name + * getFacilitiesNumber : get the number of the registered facilities + * and the total number of events from kernel + *Input Params + * facNum : point to the number of registered facilities + *return value + * 0 : success + ****************************************************************************/ +int getFacilitiesNumber(int * numFac, int * numEvents){ + //not implemented yet + return 0; +} + +/***************************************************************************** + *Function name + * getFacilitiesFromKernel : get all the registered facilities from kernel + *Input Params + * kFacilities : an array of kernel facility structure + *return value + * 0 : success + ****************************************************************************/ +int getFacilitiesFromKernel(kernel_facility ** kFacilities){ + //not implemented yet + + return 0; +} + +/***************************************************************************** + *Function name + * getTSCPerUsec : calculate cycles per Usec for current block + *Input Params + * lttdes : ltt file descriptor + ****************************************************************************/ +void getTSCPerUsec(ltt_descriptor * lttdes){ + struct timeval lBufTotalTime; /* Total time for this buffer */ + uint32_t lBufTotalUSec; /* Total time for this buffer in usecs */ + uint32_t lBufTotalTSC; /* Total TSC cycles for this buffer */ + + /* Calculate the total time for this buffer */ + DBTimeSub(lBufTotalTime,lttdes->a_block_footer->time, lttdes->a_block_header->time); + /* Calculate the total cycles for this bufffer */ + lBufTotalTSC = lttdes->a_block_footer->tsc - lttdes->a_block_header->tsc; + /* Convert the total time to usecs */ + lBufTotalUSec = lBufTotalTime.tv_sec * 1000000 + lBufTotalTime.tv_usec; + + lttdes->TSCPerUsec = (double)lBufTotalTSC / (double)lBufTotalUSec; +} + +/***************************************************************************** + *Function name + * getEventTime : calculate the time the event occurs + *Input Params + * lttdes : ltt file descriptor + * time_delta : time difference between block header and the event + *Output Params + * pTime : pointer to event time + ****************************************************************************/ +void getEventTime(ltt_descriptor * lttdes, uint32_t time_delta, struct timeval * pTime){ + uint32_t lEventTotalTSC;/* Total cycles from start for event */ + double lEventUSec; /* Total usecs from start for event */ + struct timeval lTimeOffset; /* Time offset in struct timeval */ + + /* Calculate total time in TSCs from start of buffer for this event */ + lEventTotalTSC = time_delta - lttdes->a_block_header->tsc; + /* Convert it to usecs */ + lEventUSec = lEventTotalTSC/lttdes->TSCPerUsec; + + /* Determine offset in struct timeval */ + lTimeOffset.tv_usec = (long)lEventUSec % 1000000; + lTimeOffset.tv_sec = (long)lEventUSec / 1000000; + + DBTimeAdd((*pTime), lttdes->a_block_header->time, lTimeOffset); +} + + +/***************************************************************************** + *Function name + * trace_read : get an event from the file + *Input Params + * lttdes : ltt file descriptor + * ev : a structure contains the event + *return value + * 0 : success + * ENOENT : end of the file + * EIO : can not read from the file + * EINVAL : registered facility is not the same one used here + ****************************************************************************/ +int trace_read(ltt_descriptor * lttdes, event_struct * ev){ + int err; + int8_t evId; + facility_handle * facHandle; + uint32_t time_delta; + event_handle * eHandle; + int8_t * tmp; + + //check if it is the end of a block and if it is the end of the file + if(lttdes->which_event == lttdes->a_block_header->event_count){ + if(lttdes->which_block == lttdes->nbBlocks ){ + return ENOENT; //end of file + }else{ + if((err=readBlock(lttdes, lttdes->which_block + 1)) != 0) return err; + } + } + + //get the event ID and time + evId = *((int8_t*)lttdes->cur_event_pos); + time_delta = *((uint32_t *)(lttdes->cur_event_pos + EVENT_ID_SIZE())); + + //get facility handle + err = trace_lookup_facility(evId, &facHandle); + if(err)return err; + + lttdes->current_event_time = time_delta; + + //ev->recid = ??; + getEventTime(lttdes, time_delta, &(ev->time)); + ev->tsc = time_delta; + ev->fHandle = facHandle; + + // ev->event_id = evId - idToFacility[evId]->firstId; /* disable during the test */ + ev->event_id = evId; + + ev->ip_addr = lttdes->trace_header->ip_addr; + ev->CPU_id = lttdes->trace_header->cpuID; + // ev->tid = ??; + // ev->pid = ??; + ev->base_field = &(ev->fHandle->events[ev->event_id]->base_field); + ev->data = lttdes->cur_event_pos; + + //if there are strings or sequence in the event, update base field + eHandle = ev->fHandle->events[ev->event_id]; + if(eHandle->size_fixed == 0 && (eHandle->latest_block != lttdes->which_block || eHandle->latest_event != lttdes->which_event)){ + if(ev->base_field->position == 0) lttdes->cur_event_pos += EVENT_HEADER_SIZE(); + else trace_update_basefield(lttdes, ev->base_field); + eHandle->latest_block = lttdes->which_block; + eHandle->latest_event = lttdes->which_event; + } + else { + if(ev->base_field->position == 0) lttdes->cur_event_pos += EVENT_HEADER_SIZE(); + else{ + //will be deleted late, test + tmp = (int8_t *)lttdes->cur_event_pos; + for(err=0;err <((field_handle *)ev->base_field->array[ev->base_field->position-1])->end_field;err++){ + evId = *tmp; + tmp++; + } + //end + + lttdes->cur_event_pos += ((field_handle *)ev->base_field->array[ev->base_field->position-1])->end_field; + } + } + + + lttdes->which_event++; + + //will be delete late, test + // print_event( ev); + + return 0; +} + +/***************************************************************************** + *Function name + * trace_update_basefield : update base fields + *Input Params + * lttdes : ltt file descriptor + * baseField : base field of the event + ****************************************************************************/ +void trace_update_basefield(ltt_descriptor * lttdes, sequence * baseField){ + int i,j; + char ch; + field_handle * fHandle; + void* curPos ; + off_t offset = EVENT_HEADER_SIZE(); // id and time delta + data_type dt, edt; + int fixSize = 1; //by default, no string or sequence + + for(i=0;iposition;i++){ + fHandle = (field_handle *) baseField->array[i]; + dt = fHandle->field_type; + curPos = lttdes->cur_event_pos + offset; + if(dt == INT || dt == UINT || dt == FLOAT || dt == ENUM){ + if(!fixSize) fHandle->offset = offset; + offset += fHandle->size; + if(!fixSize) fHandle->end_field = offset; + }else if(dt == ARRAY || dt == SEQUENCE ){ + edt = fHandle->element_type; + if(dt == SEQUENCE){ + fixSize = 0; + if(fHandle->sequence_size== 1)fHandle->nbElements = (int)(*(uint8_t *)(curPos)); + else if(fHandle->sequence_size== 2)fHandle->nbElements = (int)(*(uint16_t *)(curPos)); + else if(fHandle->sequence_size== 3)fHandle->nbElements = (int)(*(uint32_t *)(curPos)); + else if(fHandle->sequence_size== 4)fHandle->nbElements = (int)(*(unsigned long *)(curPos)); // + } + if(edt == INT || edt == UINT || edt == FLOAT || edt == ENUM){ + if(!fixSize) fHandle->offset = offset; + if(dt == SEQUENCE) offset += fHandle->sequence_size; + offset += fHandle->nbElements * fHandle->size; + if(!fixSize) fHandle->end_field = offset; + }else if(edt == STRING){ + fHandle->offset = offset; + if(dt ==SEQUENCE){ + curPos += fHandle->sequence_size; + offset += fHandle->sequence_size; + } + if(fixSize) fixSize = 0; + for(j=0;jnbElements;j++){ + while(1){ + ch = *(char*)(curPos); + offset++; + curPos++; + if(ch == '\0') break; //string ended with '\0' + } + } + fHandle->end_field = offset; + }else if(edt == ARRAY || edt == SEQUENCE || edt == STRUCT){ // not supported + } + }else if(dt == STRING){ + if(fixSize) fixSize = 0; + fHandle->offset = offset; + while(1){ + ch = *(char*)(curPos); + offset++; + curPos++; + if(ch == '\0') break; //string ended with '\0' + } + fHandle->end_field = offset; + }else if (dt == STRUCT){ //not supported + } + } + + // lttdes->cur_event_pos = (void*)(&fHandle->end_field); + lttdes->cur_event_pos += fHandle->end_field; +} + +/**************************************************************************** + *Function name + * trace_lookup_facility: get the facility handle + *Input Params + * facilityName : facility name + *Output Params + * facHandle : facility handle + *return value + * 0 : success + * EINVAL : registered facility is not the same one used here + ****************************************************************************/ +int trace_lookup_facility(int evId, facility_handle ** facHandle){ + int i; + facility_handle * fHandle; + + for(i=0;iname, fHandle->name)==0){ + if(idToFacility[evId]->checksum != fHandle->checksum) + return EINVAL; + *facHandle = fHandle; + return 0; + } +*/ + } + + //read event definition file + // parseEventAndTypeDefinition(idToFacility[evId]->name); / * disable during the test */ + parseEventAndTypeDefinition("default"); + fHandle = (facility_handle *)facilities.array[facilities.position-1]; + + //check if the facility used here is the same as the one registered in kernel + // if(idToFacility[evId]->checksum != fHandle->checksum) return EINVAL; /* disable during the test */ + + *facHandle = fHandle; + + return 0; +} + +/**************************************************************************** + *Function name + * trace_lookup_event: get the event handle + *Input Params + * event_id : id of event in the facility + * facHandle : facility handle containing an array of event handle + *Output Params + * eventHandle : event handle + *return value + * 0 : success + ****************************************************************************/ +int trace_lookup_event(int event_id, facility_handle * facHandle, event_handle ** eventHandle){ + *eventHandle = facHandle->events[event_id]; + return 0; +} + +/**************************************************************************** + *Function name + * trace_lookup_field: get field handle + *Input Params + * baseField : a sequence of field handles + * position : the position of the field handle in the baseField + *Output Params + * fieldHandle : field handle + *return value + * 0 : success + * EINVAL : not a valid position + ****************************************************************************/ +int trace_lookup_field(sequence * baseField, int position, field_handle ** fieldHandle){ + if(position >= baseField->position || position < 0) return EINVAL; + *fieldHandle = (field_handle*)baseField->array[position]; + return 0; +} + +/**************************************************************************** + *Function name + * readFile : wrap function to read from a file + *Input Params + * fd : file descriptor + * buf : buf to contain the content + * size : number of bytes to be read + * mesg : message to be printed if some thing goes wrong + *return value + * 0 : success + * EIO : can not read from the file + ****************************************************************************/ +int readFile(int fd, void * buf, size_t size, char * mesg){ + ssize_t nbBytes; + nbBytes = read(fd, buf, size); + if(nbBytes != size){ + printf("%s\n",mesg); + return EIO; + } + return 0; +} + +/**************************************************************************** + *Function name + * trace_seek : seek according to event + *Input Params + * lttdes : ltt file descriptor + * offset : the file offset : event + * whence : how to set offset, it can be SEEK_SET, SEEK_CUR, SEEK_END + *return value + * 0 : success + * EINVAL : lseek fail + * EIO : can not read from the file + * ENOENT : end of file + ****************************************************************************/ +int trace_seek(ltt_descriptor * lttdes, off_t offset, int whence){ + off_t newOffset = offset; + int blockNum, i,j, err; + event_struct ev; + + if(whence == SEEK_CUR && offset == 0)return 0; + + if(whence == SEEK_SET){ + if(offset < 0) return EINVAL; + if(lttdes->which_block != 1){ + if((err=readBlock(lttdes, 1)) != 0) return err; + }else updateLttdes(lttdes); + }else if(whence == SEEK_END){ + if(offset > 0) return EINVAL; + if(lttdes->which_block != lttdes->nbBlocks){ + if((err=readBlock(lttdes, lttdes->nbBlocks))!=0) return err; + }else updateLttdes(lttdes); + newOffset = lttdes->a_block_header->event_count + offset; + if(newOffset > (off_t)lttdes->a_block_header->event_count ) return EINVAL; + }else{ //whence == SEEK_CUR + if(offset < 0){ + newOffset = lttdes->which_event + offset; + updateLttdes(lttdes); + if(lttdes->which_block == 1){ + newOffset--; + if(newOffset < 0) return 0; //at the beginning of the file + } + } + } + + //seek the right position of the event + if(newOffset > 0){ + while(newOffset > (off_t)(lttdes->a_block_header->event_count - lttdes->which_event)){ + if(lttdes->which_block == lttdes->nbBlocks) return ENOENT; //end of file + newOffset += - lttdes->a_block_header->event_count + lttdes->which_event; + if((err=readBlock(lttdes, lttdes->which_block+1))!=0) return err; + } + }else if(newOffset < 0){ + while(newOffset <= 0){ + if(lttdes->which_block == 1) return 0; //reach the beginning of the file + if((err=readBlock(lttdes, lttdes->which_block-1))!=0)return err; + newOffset += lttdes->a_block_header->event_count; + if(lttdes->which_block == 1) newOffset--; + } + } + + j = lttdes->which_event; + for(i=j;iwhich_event = i; + if(lttdes->which_event == 0 || (lttdes->which_event == 1 && lttdes->which_block == 1)) + lttdes->current_event_time = lttdes->a_block_header->tsc; + else lttdes->current_event_time = ev.tsc; + + return 0; +} + +/**************************************************************************** + *Function name + * readBlock : read a block from the file + *Input Params + * lttdes : ltt file descriptor + * whichBlock : the block which will be read + *return value + * 0 : success + * EINVAL : lseek fail + * EIO : can not read from the file + ****************************************************************************/ +int readBlock(ltt_descriptor * lttdes, int whichBlock){ + off_t nbBytes; + nbBytes = lseek(lttdes->fd, (off_t)((whichBlock-1)*lttdes->trace_header->buffer_size),SEEK_SET); + if(nbBytes == -1) return EINVAL; + + if(readFile(lttdes->fd,lttdes->buffer,lttdes->trace_header->buffer_size,"Unable to read a block")) return EIO; + lttdes->a_block_header = (block_header *) lttdes->buffer; + lttdes->a_block_footer = (block_footer *)(lttdes->buffer + lttdes->trace_header->buffer_size - sizeof(block_footer)); + lttdes->which_block = whichBlock; + lttdes->which_event = 0; + lttdes->first_event_pos = lttdes->buffer + sizeof(block_header); + if(lttdes->which_block == 1){ + lttdes->which_event++; + lttdes->first_event_pos += sizeof(trace_header_event); + } + lttdes->cur_event_pos = lttdes->first_event_pos; + lttdes->current_event_time = lttdes->a_block_header->tsc; + + getTSCPerUsec(lttdes); + + return 0; +} + +/**************************************************************************** + *Function name + * updateLttdes : update the info of ltt descriptor + *Input Params + * lttdes : ltt file descriptor + ****************************************************************************/ +void updateLttdes(ltt_descriptor * lttdes){ + if(lttdes->which_block == 1)lttdes->which_event = 1; + else lttdes->which_event = 0; + lttdes->cur_event_pos = lttdes->first_event_pos; + lttdes->current_event_time = lttdes->a_block_header->tsc; +} + +/**************************************************************************** + *Function name + * trace_seek_time : seek according to time + *Input Params + * lttdes : ltt file descriptor + * offset : the file offset : time + * whence : how to set offset, it can be SEEK_SET, SEEK_CUR, SEEK_END + *return value + * 0 : success + * EINVAL : lseek fail + * EIO : can not read from the file + * ENOENT : end of file + ****************************************************************************/ +int trace_seek_time(ltt_descriptor * lttdes, uint32_t offset, int whence){ + uint32_t curTime, seekTime; + int blockNum, i,j, err; + event_struct ev; + void * tmpAddr; + int whichEvent; + uint32_t curEventTime; + + if(whence == SEEK_CUR && offset == 0)return 0; + + if(whence == SEEK_SET){ + if(offset < 0) return EINVAL; + if(lttdes->which_block != 1){ + if((err=readBlock(lttdes, 1))!=0) return err; + }else updateLttdes(lttdes); + curTime = lttdes->a_block_header->tsc; + }else if(whence == SEEK_END){ + if(offset > 0) return EINVAL; + if(lttdes->which_block != lttdes->nbBlocks){ + if((err=readBlock(lttdes, lttdes->nbBlocks))!=0) return err; + }else updateLttdes(lttdes); + curTime = lttdes->a_block_footer->tsc; + }else{ + curTime = lttdes->current_event_time; + } + + seekTime = curTime + offset; + + //find the block which contains the time + if(offset>0){ + if(whence == SEEK_SET) + blockNum = -trace_get_time_block_position(lttdes, seekTime, 1, lttdes->nbBlocks); + else if(whence == SEEK_CUR) + blockNum = -trace_get_time_block_position(lttdes, seekTime, lttdes->which_block, lttdes->nbBlocks); + }else if(offset<0){ + if(whence == SEEK_END) + blockNum = -trace_get_time_block_position(lttdes, seekTime, 1, lttdes->nbBlocks); + else if(whence == SEEK_CUR) + blockNum = -trace_get_time_block_position(lttdes, seekTime, 1, lttdes->which_block); + }else{ + if(whence == SEEK_SET) blockNum = 1; + if(whence == SEEK_END) blockNum = lttdes->nbBlocks; + } + + if(blockNum < 0) return -blockNum; + + //get the block + if(lttdes->which_block != blockNum){ + if((err=readBlock(lttdes,blockNum))!=0) return err; + }else updateLttdes(lttdes); + + if(lttdes->a_block_footer->tsc <= seekTime){ + if(blockNum == lttdes->nbBlocks) return ENOENT; // end of file + blockNum++; + } + + //find the event whose time is just before the time + if(lttdes->which_block != blockNum){ + if((err=readBlock(lttdes,blockNum))!=0) return err; + } + + if(lttdes->current_event_time >= seekTime ) return 0; //find the right place + + //loop through the block to find the event + j = lttdes->which_event; + for(i=j;ia_block_header->event_count;i++){ + tmpAddr = lttdes->cur_event_pos; + curEventTime = lttdes->current_event_time; + whichEvent = lttdes->which_event; + if((err = trace_read(lttdes,&ev))!=0) return err; + if(ev.tsc >= seekTime){ + lttdes->cur_event_pos = tmpAddr; + lttdes->current_event_time = curEventTime; + lttdes->which_event = whichEvent; + return 0; + } + } + + //if we reach here that means this block does not contain the time, go to the next block; + if(blockNum == lttdes->nbBlocks) return ENOENT; // end of file + if((err=readBlock(lttdes,blockNum+1))!=0) return err; + + return 0; +} + +/**************************************************************************** + *Function name + * trace_get_time_block_position : get the position of the block which + * contains the seekTime + *Input Params + * lttdes : ltt file descriptor + * seekTime : absolute time + * beginBlock : the start block from which to begin the search + * endBlock : the end block where to end the search + *return value + * negative number : the block number + * EINVAL : lseek fail + * EIO : can not read from the file + * ENOENT : end of file + ****************************************************************************/ +int trace_get_time_block_position(ltt_descriptor * lttdes, uint32_t seekTime, int beginBlock, int endBlock){ + int err, middleBlock = (endBlock + beginBlock) / 2; + + if(beginBlock == endBlock)return -beginBlock; + + //get the start time of the block + if(lttdes->which_block != middleBlock){ + if((err=readBlock(lttdes,middleBlock))!=0) return err; + }else{ + updateLttdes(lttdes); + } + + if(lttdes->a_block_header->tsc >= seekTime){ + if(middleBlock-beginBlock <= 1) return -beginBlock; + return trace_get_time_block_position(lttdes, seekTime,beginBlock, middleBlock-1); + } + + if(lttdes->a_block_footer->tsc >= seekTime) return -middleBlock; + if(endBlock-middleBlock == 1) return -endBlock; + return trace_get_time_block_position(lttdes, seekTime, middleBlock+1, endBlock); +} + +/**************************************************************************** + *Function names + * trace_get_char, trace_get_uchar, trace_get_enum, trace_get_short + * trace_get_ushort, trace_get_integer, trace_get_uinteger, trace_get_long + * trace_get_ulong, trace_get_float, trace_get_double, trace_get_string + * the help functions are used to get data of special data type from event + * binary data + *Input Params + * field : field handle + * data : event binary data + *return value + * corresponding data type + ****************************************************************************/ +int trace_get_char(field_handle * field, void * data){ + return (int)(*(char*)(data + field->offset)); +} + +int trace_get_uchar(field_handle * field, void * data){ + return (int)(*(unsigned char*)(data + field->offset)); +} + +unsigned long trace_get_enum(field_handle * field, void * data){ + if(field->size == 1)return (unsigned long)(*(uint8_t *)(data + field->offset)); + else if(field->size == 2)return (unsigned long)(*(uint16_t *)(data + field->offset)); + else if(field->size == 3)return (unsigned long)(*(uint32_t *)(data + field->offset)); + else if(field->size == 4)return *(unsigned long *)(data + field->offset); +} + +short int trace_get_short(field_handle * field, void * data){ + return *(short int*)(data + field->offset); +} + +unsigned short int trace_get_ushort(field_handle * field, void * data){ + return *(unsigned short int*)(data + field->offset); +} + +int trace_get_integer(field_handle * field, void * data){ + return *(int*)(data + field->offset); +} + +unsigned int trace_get_uinteger(field_handle * field, void * data){ + return *(unsigned int*)(data + field->offset); +} + +long trace_get_long(field_handle * field, void * data){ + return *(long*)(data + field->offset); +} + +unsigned long trace_get_ulong(field_handle * field, void * data){ + return *(unsigned long*)(data + field->offset); +} + +float trace_get_float(field_handle * field, void * data){ + return *(float*)(data + field->offset); +} + +double trace_get_double(field_handle * field, void * data){ + return *(double*)(data + field->offset); +} + +char * trace_get_string(field_handle * field, void * data){ + return allocAndCopy((char*)(data + field->offset)); +} + + +//main and the following functions are just for the purpose of test, it will be deleted late + +int main(char * argc, char ** argv){ + int i,j,k, err; + facility_handle * fH; + event_handle *evH; + field_handle *fldH; + int fd; + block_header bh; + block_footer bf, *ptr; + trace_header_event thev; + ltt_descriptor * lttdes; + + char buf[BUFFER_SIZE]; + + fp = fopen("statistic","w"); + if(!fp) { + printf("can not open test file\n"); + exit(1); + } + + lttdes = trace_open_log(argv[1]); + err = trace_seek(lttdes, 1, SEEK_SET); + for(i=0;ia_block_header->event_count - 2;i++){ + err = trace_seek(lttdes, 1, SEEK_CUR); + } + ptr = (block_footer *)(lttdes->buffer + lttdes->trace_header->buffer_size - sizeof(block_footer)); + +/* + err = trace_seek_time(lttdes, 11, SEEK_SET); + err = trace_seek_time(lttdes, 1060000000, SEEK_CUR); + while(1){ + err = trace_seek_time(lttdes, 100000000, SEEK_CUR); + if(err) break; + } +*/ +} diff --git a/ltt/branches/poly/misc/EventAPI.h b/ltt/branches/poly/misc/EventAPI.h new file mode 100644 index 00000000..dde9070a --- /dev/null +++ b/ltt/branches/poly/misc/EventAPI.h @@ -0,0 +1,185 @@ +#define LTT_PACKED_STRUCT __attribute__ ((packed)) +#define TRACER_MAGIC_NUMBER 0x00D6B7ED /* That day marks an important historical event ... */ + +void initFacilities(); +void freeFacilities(); //not implimented yet + + +//following part is for event reading API +typedef struct _trace_header_event { + //information of the machine type + uint32_t arch_type; /* Type of architecture */ + uint32_t arch_variant; /* Variant of the given type of architecture */ + uint32_t system_type; /* Operating system type */ + uint32_t magic_number; /* Magic number to identify a trace */ + + //format of fields + uint8_t time_size; /* time size */ + uint8_t time_granul; /* time granularity */ + uint8_t id_size; /* size of combined facility/event ids */ + + //other elements + uint32_t ip_addr; /* IP of the machine */ + uint8_t nbCpu; /* number of CPU */ + uint8_t cpuID; /* cpu id */ + uint32_t buffer_size; /* Size of blocks */ +} LTT_PACKED_STRUCT trace_header_event; + + +typedef struct _block_header { + struct timeval time; /* Time stamp of this block */ + uint32_t tsc; /* TSC of this block, if applicable */ + uint32_t time_delta; /* Time between now and prev event */ + uint32_t event_count; /* event count */ +} LTT_PACKED_STRUCT block_header; + + +typedef struct _block_footer { + uint32_t unused_bytes; /* unused bytes at the end of the block */ + struct timeval time; /* Time stamp of this block */ + uint32_t tsc; /* TSC of this block, if applicable */ + uint32_t time_delta; /* Time between now and prev event */ +} LTT_PACKED_STRUCT block_footer; + + +typedef struct _ltt_descriptor{ + int fd; /* file descriptor */ + off_t file_size; /* file size */ + int nbBlocks; /* number of blocks in the file */ + int which_block; /* which block the current block is */ + int which_event; /* which event of the current block is currently processed */ + uint32_t current_event_time; /* time of the current event */ + trace_header_event * trace_header; /* the first event in the first block */ + block_header * a_block_header; /* block header of the block*/ + block_footer * a_block_footer; /* block footer of the block*/ + void * first_event_pos; /* the position of the first event in blockBuf */ + void * cur_event_pos; /* the position of the current event in blockBuf */ + void * buffer; /* the buffer to contain the content of the block */ + int byte_rev; /* Byte-reverse trace data */ + double TSCPerUsec; /* Cycles per usec */ +} ltt_descriptor; + +typedef struct _field_handle{ + char * name; /* field name */ + data_type field_type; /* field type : integer, float, string, enum, array, sequence */ + int size; /* number of bytes for a primitive type */ + data_type element_type; /* element type for array or sequence */ + int nbElements; /* number of fields for a struct, and of elements for array or sequence */ + int sequence_size; /* the length size of uint which stores the number of elements of the sequence */ + char * fmt; /* printf format string for primitive type */ + off_t offset; /* offset from the beginning of the current event */ + off_t end_field; /* end of the field: offset of the next field */ +} field_handle; + +typedef struct _event_handle{ + char * name; /* event name */ + int id; /* event code */ + int size_fixed; /* indicate whether or not the event has string or sequence */ + sequence base_field; /* base field */ + int latest_block; /* the latest block which uses the event handle */ + int latest_event; /* the latest event which uses the event handle */ +} event_handle; + + +typedef struct _facility_handle{ + char * name; /* facility name */ + int nbEvents; /* number of events in the facility */ + unsigned long checksum; /* checksum of the facility */ + event_handle ** events; /* array of event types */ +} facility_handle; + + +typedef struct _event_struct{ + int recid; /* event position in the combined log */ + struct timeval time; /* detailed absolute time */ + uint32_t tsc; /* TSC of this event */ + facility_handle * fHandle; /* facility handle */ + int event_id; /* id of a event belonging to the facility */ + // event_handle * event_type; /* event handle */ + uint32_t ip_addr; /* IP address of the system */ + uint8_t CPU_id; /* CPU id */ + int tid; /* thread id */ + int pid; /* process id */ + sequence * base_field; /* base field */ + void * data; /* event binary data */ +} event_struct; + + +typedef struct _kernel_facility{ + char * name; /* kernel name */ + unsigned long checksum; /* checksum of the facility */ + int nbEvents; /* number of events in the facility */ + int firstId; /* the ID of the first event of the facility */ +} kernel_facility; + + +void parseEventAndTypeDefinition(char * facilityName); +void generateFacilityHandle(char * facName, unsigned long checksum, sequence * events); +int getTypeSize(data_type dt, int index); + + +int getFacilitiesNumber(int * numFac, int * numEvents); //get the number of the registered faciliyies +int getFacilitiesFromKernel(kernel_facility ** kFacilities); +int readFile(int fd, void * buf, size_t size, char * mesg); +int readBlock(ltt_descriptor * lttdes, int whichBlock); +void updateLttdes(ltt_descriptor * lttdes); +void getTSCPerUsec(ltt_descriptor * lttdes); +void getEventTime(ltt_descriptor * lttdes, uint32_t time_delta, struct timeval * pTime); + +ltt_descriptor * trace_open_log(char * fileName); +int trace_seek(ltt_descriptor * lttdes, off_t offset, int whence); +int trace_seek_time(ltt_descriptor * lttdes, uint32_t offset, int whence); +int trace_read(ltt_descriptor * lttdes, event_struct * ev); + +int trace_lookup_facility(int evId, facility_handle ** facilityHandle); +int trace_lookup_event(int event_id, facility_handle * facHandle, event_handle ** eventHandle); +int trace_lookup_field(sequence * baseField, int position, field_handle ** field); + +int trace_get_char(field_handle * field, void * data); +int trace_get_uchar(field_handle * field, void * data); +unsigned long trace_get_enum(field_handle * field, void * data); +short int trace_get_short(field_handle * field, void * data); +unsigned short int trace_get_ushort(field_handle * field, void * data); +int trace_get_integer(field_handle * field, void * data); +unsigned int trace_get_uinteger(field_handle * field, void * data); +long trace_get_long(field_handle * field, void * data); +unsigned long trace_get_ulong(field_handle * field, void * data); +float trace_get_float(field_handle * field, void * data); +double trace_get_double(field_handle * field, void * data); +char * trace_get_string(field_handle * field, void * data); + +int trace_get_time_block_position(ltt_descriptor * lttdes, uint32_t seekTime, int beginBlock, int endBlock); +void trace_update_basefield(ltt_descriptor * lttdes, sequence * baseField ); + + +#define EVENT_ID_SIZE() sizeof(int8_t) +#define TIME_DELTA_SIZE() sizeof(uint32_t) +//event id and time delta +#define EVENT_HEADER_SIZE() (sizeof(int8_t) + sizeof(uint32_t)) + +/* Time operation macros */ +/* (T3 = T2 - T1) */ +#define DBTimeSub(T3, T2, T1) \ +do \ +{\ + T3.tv_sec = T2.tv_sec - T1.tv_sec; \ + T3.tv_usec = T2.tv_usec - T1.tv_usec; \ + if(T3.tv_usec < 0)\ + {\ + T3.tv_sec--;\ + T3.tv_usec += 1000000;\ + }\ +} while(0) + +/* (T3 = T2 + T1) */ +#define DBTimeAdd(T3, T2, T1) \ +do \ +{\ + T3.tv_sec = T2.tv_sec + T1.tv_sec; \ + T3.tv_usec = T2.tv_usec + T1.tv_usec; \ + if(T3.tv_usec >= 1000000)\ + {\ + T3.tv_sec += T3.tv_usec / 1000000;\ + T3.tv_usec = T3.tv_usec % 1000000;\ + }\ +} while(0) diff --git a/ltt/branches/poly/misc/LTTTypes.h b/ltt/branches/poly/misc/LTTTypes.h new file mode 100644 index 00000000..2c054a1c --- /dev/null +++ b/ltt/branches/poly/misc/LTTTypes.h @@ -0,0 +1,142 @@ +/* + * LTTTypes.h + * + * Copyright (C) 2000 Karim Yaghmour (karym@opersys.com). + * + * This is distributed under GPL. + * + * Header for LTT-secific types. + * + * History : + * K.Y. 07/09/2001, Added David Schleef's architecture independent ltt_set_bit/ltt_clear_bit/ltt_test_bit + * JAL, 05/01/2001, Modified PPC bit manipulation functions for x86 compatibility. + * (andy_lowe@mvista.com) + * K.Y., 31/05/2000, Initial typing. + */ + +#ifndef __TRACE_TOOLKIT_TYPES_HEADER__ +#define __TRACE_TOOLKIT_TYPES_HEADER__ + +#include +#include + +#if defined(sun) + +typedef unsigned char u_int8_t; +typedef unsigned short u_int16_t; +typedef unsigned int u_int32_t; +#ifdef _LP64 +typedef unsigned long u_int64_t; +#else /* _ILP32 */ +#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG) +typedef unsigned long long u_int64_t; +#endif /* __STDC__ - 0 == 0 && !defined(_NO_LONGLONG) */ +#endif /* _LP64 */ + +#endif /* defined(sun) */ + +extern __inline__ int ltt_set_bit(int nr, void * addr) +{ + unsigned char *p = addr; + unsigned char mask = 1 << (nr&7); + unsigned char old; + + p += nr>>3; + old = *p; + *p |= mask; + + return ((old & mask) != 0); +} + +extern __inline__ int ltt_clear_bit(int nr, void * addr) +{ + unsigned char *p = addr; + unsigned char mask = 1 << (nr&7); + unsigned char old; + + p += nr>>3; + old = *p; + *p &= ~mask; + + return ((old & mask) != 0); +} + +extern __inline__ int ltt_test_bit(int nr,void *addr) +{ + unsigned char *p = addr; + unsigned char mask = 1 << (nr&7); + + p += nr>>3; + + return ((*p & mask) != 0); +} + +/* Big-endian/little-endian conversion macros for cross-development. */ +#if TARGET_NATIVE +/* For native development, these conversion macros aren't needed. */ +#define BREV16(x) (x) +#define BREV32(x) (x) +#define BREV64(x) (x) +#define RFT8(db,x) (x) +#define RFT16(db,x) (x) +#define RFT32(db,x) (x) +#define RFT64(db,x) (x) + +/* Non-native development */ +#else + /* BREV16: byte-reverse a 16-bit integer */ +#define BREV16(x) ((((x) & 0xff00) >> 8) | (((x) & 0x00ff) << 8)) + /* BREV32: byte-reverse a 32-bit integer */ +#define BREV32(x) ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) \ + | (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24)) + /* BREV64: byte-reverse a 64-bit integer */ +#define BREV64(x) ((((x) & 0xff00000000000000) >> 56) \ + | (((x) & 0x00ff000000000000) >> 40) \ + | (((x) & 0x0000ff0000000000) >> 24) \ + | (((x) & 0x000000ff00000000) >> 8) \ + | (((x) & 0x00000000ff000000) << 8) \ + | (((x) & 0x0000000000ff0000) << 24) \ + | (((x) & 0x000000000000ff00) << 40) \ + | (((x) & 0x00000000000000ff) << 56)) + /* RFTn: Read From Trace + * Conditionally byte-reverse an 8-, 16-, 32-, or 64-bit integer + * based on the value of the ByteRev member of the trace database + * structure pointer passed as the first argument.. + */ +#define RFT8(db,x) (x) +#define RFT16(db,x) ((db)->ByteRev ? BREV16(x) : (x)) +#define RFT32(db,x) ((db)->ByteRev ? BREV32(x) : (x)) +#define RFT64(db,x) ((db)->ByteRev ? BREV64(x) : (x)) +#endif /* TRACE_TARGET_NATIVE */ + +#if !defined(sun) +/* Some type corrections, just in case */ +#ifndef uint8_t +#define uint8_t u_int8_t +#endif +#ifndef uint16_t +#define uint16_t u_int16_t +#endif +#ifndef uint32_t +#define uint32_t u_int32_t +#endif +#ifndef uint64_t +#define uint64_t u_int64_t +#endif +#endif /* !defined(sun) */ + +/* Structure packing */ +#if LTT_UNPACKED_STRUCTS +#define LTT_PACKED_STRUCT +#else +#define LTT_PACKED_STRUCT __attribute__ ((packed)) +#endif /* UNPACKED_STRUCTS */ + +/* Trace mask */ +typedef uint64_t trace_event_mask; + +/* Boolean stuff */ +#define TRUE 1 +#define FALSE 0 + +#endif /* __TRACE_TOOLKIT_TYPES_HEADER__ */ diff --git a/ltt/branches/poly/misc/README b/ltt/branches/poly/misc/README new file mode 100644 index 00000000..325dd5a9 --- /dev/null +++ b/ltt/branches/poly/misc/README @@ -0,0 +1,8 @@ +Revise all .h, see if complete. 2h +Look at how plugins work with GTK windows, perhaps add hooks to that 2h +Functions to manage the list of traces? 1h +Revise all .h perhaps send for review. +Implement the text part of it 4h +Definitely send for review. +Add the beginnings of graphical support (open traces, view events, view stats)? +Later add really graphical views ? \ No newline at end of file diff --git a/ltt/branches/poly/misc/crc32.tab b/ltt/branches/poly/misc/crc32.tab new file mode 100644 index 00000000..d0174ad6 --- /dev/null +++ b/ltt/branches/poly/misc/crc32.tab @@ -0,0 +1,52 @@ + 0x00000000U, 0x77073096U, 0xee0e612cU, 0x990951baU, 0x076dc419U, + 0x706af48fU, 0xe963a535U, 0x9e6495a3U, 0x0edb8832U, 0x79dcb8a4U, + 0xe0d5e91eU, 0x97d2d988U, 0x09b64c2bU, 0x7eb17cbdU, 0xe7b82d07U, + 0x90bf1d91U, 0x1db71064U, 0x6ab020f2U, 0xf3b97148U, 0x84be41deU, + 0x1adad47dU, 0x6ddde4ebU, 0xf4d4b551U, 0x83d385c7U, 0x136c9856U, + 0x646ba8c0U, 0xfd62f97aU, 0x8a65c9ecU, 0x14015c4fU, 0x63066cd9U, + 0xfa0f3d63U, 0x8d080df5U, 0x3b6e20c8U, 0x4c69105eU, 0xd56041e4U, + 0xa2677172U, 0x3c03e4d1U, 0x4b04d447U, 0xd20d85fdU, 0xa50ab56bU, + 0x35b5a8faU, 0x42b2986cU, 0xdbbbc9d6U, 0xacbcf940U, 0x32d86ce3U, + 0x45df5c75U, 0xdcd60dcfU, 0xabd13d59U, 0x26d930acU, 0x51de003aU, + 0xc8d75180U, 0xbfd06116U, 0x21b4f4b5U, 0x56b3c423U, 0xcfba9599U, + 0xb8bda50fU, 0x2802b89eU, 0x5f058808U, 0xc60cd9b2U, 0xb10be924U, + 0x2f6f7c87U, 0x58684c11U, 0xc1611dabU, 0xb6662d3dU, 0x76dc4190U, + 0x01db7106U, 0x98d220bcU, 0xefd5102aU, 0x71b18589U, 0x06b6b51fU, + 0x9fbfe4a5U, 0xe8b8d433U, 0x7807c9a2U, 0x0f00f934U, 0x9609a88eU, + 0xe10e9818U, 0x7f6a0dbbU, 0x086d3d2dU, 0x91646c97U, 0xe6635c01U, + 0x6b6b51f4U, 0x1c6c6162U, 0x856530d8U, 0xf262004eU, 0x6c0695edU, + 0x1b01a57bU, 0x8208f4c1U, 0xf50fc457U, 0x65b0d9c6U, 0x12b7e950U, + 0x8bbeb8eaU, 0xfcb9887cU, 0x62dd1ddfU, 0x15da2d49U, 0x8cd37cf3U, + 0xfbd44c65U, 0x4db26158U, 0x3ab551ceU, 0xa3bc0074U, 0xd4bb30e2U, + 0x4adfa541U, 0x3dd895d7U, 0xa4d1c46dU, 0xd3d6f4fbU, 0x4369e96aU, + 0x346ed9fcU, 0xad678846U, 0xda60b8d0U, 0x44042d73U, 0x33031de5U, + 0xaa0a4c5fU, 0xdd0d7cc9U, 0x5005713cU, 0x270241aaU, 0xbe0b1010U, + 0xc90c2086U, 0x5768b525U, 0x206f85b3U, 0xb966d409U, 0xce61e49fU, + 0x5edef90eU, 0x29d9c998U, 0xb0d09822U, 0xc7d7a8b4U, 0x59b33d17U, + 0x2eb40d81U, 0xb7bd5c3bU, 0xc0ba6cadU, 0xedb88320U, 0x9abfb3b6U, + 0x03b6e20cU, 0x74b1d29aU, 0xead54739U, 0x9dd277afU, 0x04db2615U, + 0x73dc1683U, 0xe3630b12U, 0x94643b84U, 0x0d6d6a3eU, 0x7a6a5aa8U, + 0xe40ecf0bU, 0x9309ff9dU, 0x0a00ae27U, 0x7d079eb1U, 0xf00f9344U, + 0x8708a3d2U, 0x1e01f268U, 0x6906c2feU, 0xf762575dU, 0x806567cbU, + 0x196c3671U, 0x6e6b06e7U, 0xfed41b76U, 0x89d32be0U, 0x10da7a5aU, + 0x67dd4accU, 0xf9b9df6fU, 0x8ebeeff9U, 0x17b7be43U, 0x60b08ed5U, + 0xd6d6a3e8U, 0xa1d1937eU, 0x38d8c2c4U, 0x4fdff252U, 0xd1bb67f1U, + 0xa6bc5767U, 0x3fb506ddU, 0x48b2364bU, 0xd80d2bdaU, 0xaf0a1b4cU, + 0x36034af6U, 0x41047a60U, 0xdf60efc3U, 0xa867df55U, 0x316e8eefU, + 0x4669be79U, 0xcb61b38cU, 0xbc66831aU, 0x256fd2a0U, 0x5268e236U, + 0xcc0c7795U, 0xbb0b4703U, 0x220216b9U, 0x5505262fU, 0xc5ba3bbeU, + 0xb2bd0b28U, 0x2bb45a92U, 0x5cb36a04U, 0xc2d7ffa7U, 0xb5d0cf31U, + 0x2cd99e8bU, 0x5bdeae1dU, 0x9b64c2b0U, 0xec63f226U, 0x756aa39cU, + 0x026d930aU, 0x9c0906a9U, 0xeb0e363fU, 0x72076785U, 0x05005713U, + 0x95bf4a82U, 0xe2b87a14U, 0x7bb12baeU, 0x0cb61b38U, 0x92d28e9bU, + 0xe5d5be0dU, 0x7cdcefb7U, 0x0bdbdf21U, 0x86d3d2d4U, 0xf1d4e242U, + 0x68ddb3f8U, 0x1fda836eU, 0x81be16cdU, 0xf6b9265bU, 0x6fb077e1U, + 0x18b74777U, 0x88085ae6U, 0xff0f6a70U, 0x66063bcaU, 0x11010b5cU, + 0x8f659effU, 0xf862ae69U, 0x616bffd3U, 0x166ccf45U, 0xa00ae278U, + 0xd70dd2eeU, 0x4e048354U, 0x3903b3c2U, 0xa7672661U, 0xd06016f7U, + 0x4969474dU, 0x3e6e77dbU, 0xaed16a4aU, 0xd9d65adcU, 0x40df0b66U, + 0x37d83bf0U, 0xa9bcae53U, 0xdebb9ec5U, 0x47b2cf7fU, 0x30b5ffe9U, + 0xbdbdf21cU, 0xcabac28aU, 0x53b39330U, 0x24b4a3a6U, 0xbad03605U, + 0xcdd70693U, 0x54de5729U, 0x23d967bfU, 0xb3667a2eU, 0xc4614ab8U, + 0x5d681b02U, 0x2a6f2b94U, 0xb40bbe37U, 0xc30c8ea1U, 0x5a05df1bU, + 0x2d02ef8dU diff --git a/ltt/branches/poly/misc/default.event b/ltt/branches/poly/misc/default.event new file mode 100644 index 00000000..e9b08ed8 --- /dev/null +++ b/ltt/branches/poly/misc/default.event @@ -0,0 +1,270 @@ +//TRACE_EV_START +event(TRACE_EV_START, "This is to mark the trace's start", + field(magic_number,"Magic number to identify a trace", uint(4)), + field(arch_type, "Type of architecture", uint(4)), + field(arch_variant, "Variant of the given type of architecture", uint(4)), + field(system_type, "Operating system type", uint(4)), + field(major_version, "Major version of trace", uint(1)), + field(minor_version, "Minor version of trace", uint(1)), + field(buffer_size, "Size of buffers", uint(4)), + field(event_mask, "The event mask", uint(8)), + field(details_mask, "Are the event details logged", uint(8)), + field(log_cpuid, "Is the CPUID logged ", uint(1)), + field(use_tsc, "Are we using TSCs or time deltas?", uint(1)) + ); + + + +//TRACE_EV_SYSCALL_ENTRY +event(TRACE_EV_SYSCALL_ENTRY, "Entry in a given system call", + field(syscall_id, "Syscall entry number in entry.S", uint(1)), + field(address, "Address from which call was made", uint(4)) + ); + + + +//TRACE_EV_SYSCALL_EXIT +event(TRACE_EV_SYSCALL_EXIT, "Exit from a given system call" + ); + + + +//TRACE_EV_TRAP_ENTRY : not for __s390__ +event(TRACE_EV_TRAP_ENTRY, "Entry in a trap", + field(trap_id, "Trap number", uint(2)), + field(address, "Address where trap occured", uint(4)) + ); + + + +//TRACE_EV_TRAP_EXIT +event(TRACE_EV_TRAP_EXIT, "Exit from a trap" + ); + + + +//TRACE_EV_IRQ_ENTRY +event(TRACE_EV_IRQ_ENTRY, "Entry in an irq", + field(irq_id, "IRQ number", uint(1)), + field(kernel, "Are we executing kernel code", uint(1)) + ); + + + +//TRACE_EV_IRQ_EXIT +event(TRACE_EV_IRQ_EXIT, "Exit from an irq" + ); + + + +//TRACE_EV_SCHEDCHANGE +event(TRACE_EV_SCHEDCHANGE, "Scheduling change", + field(out, "Outgoing process", uint(4)), + field(in, "Incoming process", uint(4)), + field(out_state, "Outgoing process' state", uint(4)) + ); + + + +//TRACE_EV_KERNEL_TIMER +event(TRACE_EV_KERNEL_TIMER, "The kernel timer routine has been called" ); + + + +//TRACE_EV_SOFT_IRQ +event(TRACE_EV_SOFT_IRQ, "Hit key part of soft-irq management", + field(event_sub_id,"Soft-irq event Id", + enum(1, + ( + TRACE_EV_SOFT_IRQ_BOTTOM_HALF = 1, + TRACE_EV_SOFT_IRQ_SOFT_IRQ, + TRACE_EV_SOFT_IRQ_TASKLET_ACTION, + TRACE_EV_SOFT_IRQ_TASKLET_HI_ACTION + ) + ) + ), + field(event_data, "Data associated with event", uint(4)) + ); + + + +//TRACE_EV_PROCESS +event(TRACE_EV_PROCESS, "Hit key part of process management", + field(event_sub_id, "Process event ID", + enum(1, + ( + TRACE_EV_PROCESS_KTHREAD = 1, + TRACE_EV_PROCESS_FORK, + TRACE_EV_PROCESS_EXIT, + TRACE_EV_PROCESS_WAIT, + TRACE_EV_PROCESS_SIGNAL, + TRACE_EV_PROCESS_WAKEUP + ) + ) + ), + field(event_data1, "Data associated with event", uint(4)), + field(event_data2, "Data associated with event", uint(4)) + ); + + + +//TRACE_EV_FILE_SYSTEM +event(TRACE_EV_FILE_SYSTEM, "Hit key part of file system", + field(event_sub_id,"File system event ID", + enum(1, + ( + TRACE_EV_FILE_SYSTEM_BUF_WAIT_START = 1, + TRACE_EV_FILE_SYSTEM_BUF_WAIT_END, + TRACE_EV_FILE_SYSTEM_EXEC, + TRACE_EV_FILE_SYSTEM_OPEN, + TRACE_EV_FILE_SYSTEM_CLOSE, + TRACE_EV_FILE_SYSTEM_READ, + TRACE_EV_FILE_SYSTEM_WRITE, + TRACE_EV_FILE_SYSTEM_SEEK, + TRACE_EV_FILE_SYSTEM_IOCTL, + TRACE_EV_FILE_SYSTEM_SELECT, + TRACE_EV_FILE_SYSTEM_POLL + ) + ) + ), + field(event_data1, " Event data ", uint(4)), + field(event_data2, " Event data 2", uint(4)), + field(file_name, "Name of file operated on ", string()) + ); + + + +//TRACE_EV_TIMER +event(TRACE_EV_TIMER, "Hit key part of timer management", + field(event_sub_id, "Timer event ID", + enum(1, + ( + TRACE_EV_TIMER_EXPIRED = 1, + TRACE_EV_TIMER_SETITIMER, + TRACE_EV_TIMER_SETTIMEOUT + ) + ) + ), + field(event_sdata, "Short data", uint(1)), + field(event_data1, "Data associated with event", uint(4)), + field(event_data2, "Data associated with event", uint(4)) + ); + + + +//TRACE_EV_MEMORY +event(TRACE_EV_MEMORY, "Hit key part of memory management", + field(event_sub_id, "", + enum(1, + ( + TRACE_EV_MEMORY_PAGE_ALLOC = 1, + TRACE_EV_MEMORY_PAGE_FREE, + TRACE_EV_MEMORY_SWAP_IN, + TRACE_EV_MEMORY_SWAP_OUT, + TRACE_EV_MEMORY_PAGE_WAIT_START, + TRACE_EV_MEMORY_PAGE_WAIT_END + ) + ) + ), + field(event_data, "Data associated with event", uint(4)) + ); + + + +//TRACE_EV_SOCKET +event(TRACE_EV_SOCKET, "Hit key part of socket communication", + field(event_sub_id, "Socket event ID", + enum(1, + ( + TRACE_EV_SOCKET_CALL = 1, + TRACE_EV_SOCKET_CREATE, + TRACE_EV_SOCKET_SEND, + TRACE_EV_SOCKET_RECEIVE + ) + ) + ), + field(event_data1, "Data associated with event", uint(4)), + field(event_data2, "Data associated with event", uint(4)) + ); + + + +//TRACE_EV_IPC +event(TRACE_EV_IPC, "Hit key part of System V IPC", + field(event_sub_id, "IPC event ID", + enum(1, + ( + TRACE_EV_IPC_CALL = 1, + TRACE_EV_IPC_MSG_CREATE, + TRACE_EV_IPC_SEM_CREATE, + TRACE_EV_IPC_SHM_CREATE + ) + ) + ), + field(event_data1, "Data associated with event", uint(4)), + field(event_data2, "Data associated with event", uint(4)) + ); + + + +//TRACE_EV_NETWORK +event(TRACE_EV_NETWORK, "Hit key part of network communication", + field(event_sub_id, "Network event ID", + enum(1, + ( + TRACE_EV_NETWORK_PACKET_IN = 1, + TRACE_EV_NETWORK_PACKET_OUT + ) + ) + ), + field(event_data, "Event data", uint(4)) + ); + + + +//TRACE_EV_BUFFER_START +event(TRACE_EV_BUFFER_START, "Mark the begining of a trace buffer", + field(time, "Time stamp of this buffer",array(2,int(8)) ), + field(tsc,"TSC of this buffer, if applicable",uint(4)), + field(id, "Unique buffer ID", uint(4)) + ); + + + +//TRACE_EV_BUFFER_END +event(TRACE_EV_BUFFER_END, "Mark the ending of a trace buffer", + field(time, "Time stamp of this buffer",array(2,int(8)) ), + field(tsc,"TSC of this buffer, if applicable",uint(4)) + ); + + + +//TRACE_EV_NEW_EVENT +event(TRACE_EV_NEW_EVENT, "New event type", + field(id, "Custom event ID", uint(4)), + field(type, "Event type description", string()), + field(desc, "Detailed event description", string()), + field(format_type, "Type of formatting", uint(4)), + field(form, "Data specific to format", string()) + ); + + + +//TRACE_EV_CUSTOM +event(TRACE_EV_CUSTOM, "Custom event" + ); + + + +//TRACE_EV_CHANGE_MASK +event(TRACE_EV_CHANGE_MASK, "Change in event mask", + field(mask, "Event mask",uint(8) ) + ); + + + +//TRACE_EV_HEARTBEAT +event(TRACE_EV_HEARTBEAT, "Heartbeat event" ); + + + diff --git a/ltt/branches/poly/misc/parser.c b/ltt/branches/poly/misc/parser.c new file mode 100644 index 00000000..f5ac9969 --- /dev/null +++ b/ltt/branches/poly/misc/parser.c @@ -0,0 +1,916 @@ +/* + +parser.c: Generate helper declarations and functions to trace events + from an event description file. + +Copyright (C) 2002, Xianxiu Yang +Copyright (C) 2002, Michel Dagenais +This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +the Free Software Foundation; version 2 of the License. + +This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +/* This program reads the ".event" event definitions input files + specified as command line arguments and generates corresponding + ".c" and ".h" files required to trace such events in the kernel. + + The program uses a very simple tokenizer, called from a hand written + recursive descent parser to fill a data structure describing the events. + The result is a sequence of events definitions which refer to type + definitions. + + A table of named types is maintained to allow refering to types by name + when the same type is used at several places. Finally a sequence of + all types is maintained to facilitate the freeing of all type + information when the processing of an ".event" file is finished. */ + +#include +#include +#include +#include +#include + + +#include "parser.h" + + +/***************************************************************************** + *Function name + * getSize : translate from string to integer + *Input params + * in : input file handle + *Return values + * size + *****************************************************************************/ +int getSize(parse_file *in){ + char *token; + + token = getToken(in); + if(in->type == NUMBER) { + if(strcmp(token,"1") == 0) return 0; + else if(strcmp(token,"2") == 0) return 1; + else if(strcmp(token,"4") == 0) return 2; + else if(strcmp(token,"8") == 0) return 3; + } + else if(in->type == NAME) { + if(strcmp(token,"short") == 0) return 4; + else if(strcmp(token,"medium") == 0) return 5; + else if(strcmp(token,"long") == 0) return 6; + } + in->error(in,"incorrect size specification"); + return -1; +} + +/***************************************************************************** + *Function name + * error_callback : print out error info + *Input params + * in : input file handle + * msg : message to be printed + ****************************************************************************/ +void error_callback(parse_file *in, char *msg){ + if(in) + printf("Error in file %s, line %d: %s\n", in->name, in->lineno, msg); + else + printf("%s\n",msg); + exit(1); +} + +/***************************************************************************** + *Function name + * memAlloc : allocate memory + *Input params + * size : required memory size + *return value + * void * : pointer to allocate memory or NULL + ****************************************************************************/ +void * memAlloc(int size){ + void *addr = malloc(size); + if(!addr){ + printf("Failed to allocate memory"); + exit(1); + } + return addr; +} + +/***************************************************************************** + *Function name + * allocAndCopy : allocate memory and initialize it + *Input params + * str : string to be put in memory + *return value + * char * : pointer to allocate memory or NULL + ****************************************************************************/ +char *allocAndCopy(char *str){ + char *addr = (char *)memAlloc(strlen(str)+1); + strcpy(addr,str); + return addr; +} + + +/***************************************************************************** + *Function name + * parseEvent : generate event from event definition + *Input params + * in : input file handle + * ev : new event + *Output params + * ev : new event (parameters are passed to it) + ****************************************************************************/ +void parseEvent(parse_file *in, event * ev, sequence * unnamed_types, table * named_types) { + char *token; + type_descriptor *t; + + getLParenthesis(in); + token = getName(in); + ev->name = allocAndCopy(token); + getComa(in); + + token = getQuotedString(in); + ev->description = allocAndCopy(token); + + token = getToken(in); //token either is a ',' or a ')' + if(in->type == COMA) token = getName(in); + ungetToken(in); + + /* We have a possibly empty list of fields, containing struct implied */ + if((in->type == NAME && strcmp(token,"field") == 0) || + in->type == RPARENTHESIS) { + /* Insert an unnamed struct type */ + t = (type_descriptor *)memAlloc(sizeof(type_descriptor)); + t->type = STRUCT; + t->fmt = NULL; + if(in->type == NAME) parseFields(in,t, unnamed_types, named_types); + else if(in->type == RPARENTHESIS) sequence_init(&(t->fields)); + sequence_push(unnamed_types,t); + ev->type = t; + } + + /* Or a complete type declaration but it must be a struct */ + else if(in->type == NAME){ + ev->type = parseType(in,NULL, unnamed_types, named_types); + if(ev->type->type != STRUCT && ev->type->type != NONE) in->error(in,"type must be a struct"); + }else in->error(in,"not a struct type"); + + getRParenthesis(in); + getSemiColon(in); +} + +/***************************************************************************** + *Function name + * parseField : get field infomation from buffer + *Input params + * in : input file handle + * t : type descriptor + ****************************************************************************/ +void parseFields(parse_file *in, type_descriptor *t, sequence * unnamed_types, table * named_types) { + char * token; + field *f; + + sequence_init(&(t->fields)); + + token = getToken(in); + while(in->type == NAME && strcmp(token,"field") == 0) { + f = (field *)memAlloc(sizeof(field)); + sequence_push(&(t->fields),f); + + getLParenthesis(in); + f->name = (char *)allocAndCopy(getName(in)); + getComa(in); + f->description = (char *)allocAndCopy(getQuotedString(in)); + getComa(in); + f->type = parseType(in,NULL, unnamed_types, named_types); + getRParenthesis(in); + + token = getToken(in); + if(in->type == COMA) token = getName(in); + else ungetToken(in); // no more fields, it must be a ')' + } + + if(in->type == NAME && strcmp(token,"field") != 0) + in->error(in,"not a field"); +} + + +/***************************************************************************** + *Function name + * parseType : get type information, type can be : + * Primitive: + * int(size,fmt); uint(size,fmt); float(size,fmt); + * string(fmt); enum(size,fmt,(label1,label2...)) + * Compound: + * array(arraySize, type); sequence(lengthSize,type) + * struct(field(name,type,description)...) + * type name: + * type(name,type) + *Input params + * in : input file handle + * inType : a type descriptor + *Return values + * type_descriptor* : a type descriptor + ****************************************************************************/ +type_descriptor *parseType(parse_file *in, type_descriptor *inType, sequence * unnamed_types, table * named_types) { + char *token, *car; + type_descriptor *t; + + if(inType == NULL) { + t = (type_descriptor *) memAlloc(sizeof(type_descriptor)); + t->type = NONE; + t->fmt = NULL; + sequence_push(unnamed_types,t); + } + else t = inType; + + token = getName(in); + + if(strcmp(token,"struct") == 0) { + t->type = STRUCT; + getLParenthesis(in); + parseFields(in,t, unnamed_types, named_types); + getRParenthesis(in); + } + else if(strcmp(token,"array") == 0) { + t->type = ARRAY; + getLParenthesis(in); + t->size = getNumber(in); + getComa(in); + t->nested_type = parseType(in,NULL, unnamed_types, named_types); + getRParenthesis(in); + } + else if(strcmp(token,"sequence") == 0) { + t->type = SEQUENCE; + getLParenthesis(in); + t->size = getSize(in); + getComa(in); + t->nested_type = parseType(in,NULL, unnamed_types, named_types); + getRParenthesis(in); + } + else if(strcmp(token,"enum") == 0) { + t->type = ENUM; + sequence_init(&(t->labels)); + getLParenthesis(in); + t->size = getSize(in); + getComa(in); + token = getToken(in); + if(in->type == QUOTEDSTRING){ + t->fmt = allocAndCopy(token); + getComa(in); + }else ungetToken(in); + getLParenthesis(in); + + token = getToken(in); + while(in->type != RPARENTHESIS) { + if(in->type != NAME) in->error(in,"Name token was expected"); + car = allocAndCopy(token); + token = getToken(in); + if(in->type == COMA){ + sequence_push(&(t->labels),allocAndCopy(car)); + token = getName(in); + }else if(in->type == EQUAL){ //label followed by '=' and a number, e.x. label1 = 1, + car = appendString(car, token); + token = getToken(in); + if(in->type != NUMBER) in->error(in,"Number token was expected"); + car = appendString(car, token); + sequence_push(&(t->labels),allocAndCopy(car)); + token = getToken(in); + if(in->type == COMA) token = getName(in); + else ungetToken(in); + }else{ + sequence_push(&(t->labels),allocAndCopy(car)); + ungetToken(in); + } + } + getRParenthesis(in); + getRParenthesis(in); + } + else if(strcmp(token,"int") == 0) { + t->type = INT; + getLParenthesis(in); + t->size = getSize(in); + token = getToken(in); + if(in->type == COMA) { + token = getQuotedString(in); + t->fmt = allocAndCopy(token); + } + else ungetToken(in); + getRParenthesis(in); + } + else if(strcmp(token,"uint") == 0) { + t->type = UINT; + getLParenthesis(in); + t->size = getSize(in); + token = getToken(in); + if(in->type == COMA) { + token = getQuotedString(in); + t->fmt = allocAndCopy(token); + } + else ungetToken(in); + getRParenthesis(in); + } + else if(strcmp(token,"float") == 0) { + t->type = FLOAT; + getLParenthesis(in); + t->size = getSize(in); + token = getToken(in); + if(in->type == COMA) { + token = getQuotedString(in); + t->fmt = allocAndCopy(token); + } + else ungetToken(in); + getRParenthesis(in); + } + else if(strcmp(token,"string") == 0) { + t->type = STRING; + getLParenthesis(in); + token = getToken(in); + if(in->type == QUOTEDSTRING) t->fmt = allocAndCopy(token); + else ungetToken(in); + getRParenthesis(in); + } + else { + /* Must be a named type */ + if(inType != NULL) + in->error(in,"Named type cannot refer to a named type"); + else { + free(t); + sequence_pop(unnamed_types); + return(find_named_type(token, named_types)); + } + } + + return t; +} + +/***************************************************************************** + *Function name + * find_named_type : find a named type from hash table + *Input params + * name : type name + *Return values + * type_descriptor * : a type descriptor + *****************************************************************************/ + +type_descriptor * find_named_type(char *name, table * named_types) +{ + type_descriptor *t; + + t = table_find(named_types,name); + if(t == NULL) { + t = (type_descriptor *)memAlloc(sizeof(type_descriptor)); + t->type = NONE; + t->fmt = NULL; + table_insert(named_types,allocAndCopy(name),t); + } + return t; +} + +/***************************************************************************** + *Function name + * parseTypeDefinition : get type information from type definition + *Input params + * in : input file handle + *****************************************************************************/ +void parseTypeDefinition(parse_file * in, sequence * unnamed_types, table * named_types){ + char *token; + type_descriptor *t; + + getLParenthesis(in); + token = getName(in); + t = find_named_type(token, named_types); + getComa(in); + + if(t->type != NONE) in->error(in,"redefinition of named type"); + parseType(in,t, unnamed_types, named_types); + + getRParenthesis(in); + getSemiColon(in); +} + +/************************************************************************** + * Function : + * getComa, getName, getNumber, getLParenthesis, getRParenthesis, getEqual + * Description : + * Read a token from the input file, check its type, return it scontent. + * + * Parameters : + * in , input file handle. + * + * Return values : + * address of token content. + * + **************************************************************************/ + +char *getName(parse_file * in) { + char *token; + + token = getToken(in); + if(in->type != NAME) in->error(in,"Name token was expected"); + return token; +} + +int getNumber(parse_file * in) { + char *token; + + token = getToken(in); + if(in->type != NUMBER) in->error(in, "Number token was expected"); + return atoi(token); +} + +char *getComa(parse_file * in) { + char *token; + + token = getToken(in); + if(in->type != COMA) in->error(in, "Coma token was expected"); + return token; +} + +char *getLParenthesis(parse_file * in) { + char *token; + + token = getToken(in); + if(in->type != LPARENTHESIS) in->error(in, "Left parenthesis was expected"); + return token; +} + +char *getRParenthesis(parse_file * in) { + char *token; + + token = getToken(in); + if(in->type != RPARENTHESIS) in->error(in, "Right parenthesis was expected"); + return token; +} + +char *getQuotedString(parse_file * in) { + char *token; + + token = getToken(in); + if(in->type != QUOTEDSTRING) in->error(in, "quoted string was expected"); + return token; +} + +char * getSemiColon(parse_file *in){ + char *token; + + token = getToken(in); + if(in->type != SEMICOLON) in->error(in, "semicolon was expected"); + return token; +} + +char * getEqual(parse_file *in){ + char *token; + + token = getToken(in); + if(in->type != EQUAL) in->error(in, "equal was expected"); + return token; +} + +/****************************************************************** + * Function : + * getToken, ungetToken + * Description : + * Read a token from the input file and return its type and content. + * Line numbers are accounted for and whitespace/comments are skipped. + * + * Parameters : + * in, input file handle. + * + * Return values : + * address of token content. + * + ******************************************************************/ + +void ungetToken(parse_file * in) +{ + in->unget = 1; +} + +char *getToken(parse_file * in) +{ + FILE *fp = in->fp; + char car, car1; + int pos = 0, escaped; + + if(in->unget == 1) { + in->unget = 0; + return in->buffer; + } + + /* skip whitespace and comments */ + + while((car = getc(fp)) != EOF) { + if(car == '/') { + car1 = getc(fp); + if(car1 == '*') skipComment(in); + else if(car1 == '/') skipEOL(in); + else { + car1 = ungetc(car1,fp); + break; + } + } + else if(car == '\n') in->lineno++; + else if(!isspace(car)) break; + } + + switch(car) { + case EOF: + in->type = ENDFILE; + break; + case ',': + in->type = COMA; + in->buffer[pos] = car; + pos++; + break; + case '(': + in->type = LPARENTHESIS; + in->buffer[pos] = car; + pos++; + break; + case ')': + in->type = RPARENTHESIS; + in->buffer[pos] = car; + pos++; + break; + case ';': + in->type = SEMICOLON; + in->buffer[pos] = car; + pos++; + break; + case '=': + in->type = EQUAL; + in->buffer[pos] = car; + pos++; + break; + case '"': + escaped = 0; + while((car = getc(fp)) != EOF && pos < BUFFER_SIZE) { + if(car == '\\' && escaped == 0) { + in->buffer[pos] = car; + pos++; + escaped = 1; + continue; + } + if(car == '"' && escaped == 0) break; + if(car == '\n' && escaped == 0) { + in->error(in, "non escaped newline inside quoted string"); + } + if(car == '\n') in->lineno++; + in->buffer[pos] = car; + pos++; + escaped = 0; + } + if(car == EOF) in->error(in,"no ending quotemark"); + if(pos == BUFFER_SIZE) in->error(in, "quoted string token too large"); + in->type = QUOTEDSTRING; + break; + default: + if(isdigit(car)) { + in->buffer[pos] = car; + pos++; + while((car = getc(fp)) != EOF && pos < BUFFER_SIZE) { + if(!isdigit(car)) { + ungetc(car,fp); + break; + } + in->buffer[pos] = car; + pos++; + } + if(car == EOF) ungetc(car,fp); + if(pos == BUFFER_SIZE) in->error(in, "number token too large"); + in->type = NUMBER; + } + else if(isalpha(car)) { + in->buffer[0] = car; + pos = 1; + while((car = getc(fp)) != EOF && pos < BUFFER_SIZE) { + if(!isalnum(car)) { + ungetc(car,fp); + break; + } + in->buffer[pos] = car; + pos++; + } + if(car == EOF) ungetc(car,fp); + if(pos == BUFFER_SIZE) in->error(in, "name token too large"); + in->type = NAME; + } + else in->error(in, "invalid character, unrecognized token"); + } + in->buffer[pos] = 0; + return in->buffer; +} + +void skipComment(parse_file * in) +{ + char car; + while((car = getc(in->fp)) != EOF) { + if(car == '\n') in->lineno++; + else if(car == '*') { + car = getc(in->fp); + if(car ==EOF) break; + if(car == '/') return; + ungetc(car,in->fp); + } + } + if(car == EOF) in->error(in,"comment begining with '/*' has no ending '*/'"); +} + +void skipEOL(parse_file * in) +{ + char car; + while((car = getc(in->fp)) != EOF) { + if(car == '\n') { + ungetc(car,in->fp); + break; + } + } + if(car == EOF)ungetc(car, in->fp); +} + +int isalpha(char c){ + int i,j; + if(c == '_')return 1; + i = c - 'a'; + j = c - 'A'; + if((i>=0 && i<26) || (j>=0 && j<26)) return 1; + return 0; +} + +int isalnum(char c){ + return (isalpha(c) || isdigit(c)); +} + +/***************************************************************************** + *Function name + * checkNamedTypesImplemented : check if all named types have definition + ****************************************************************************/ +void checkNamedTypesImplemented(table * named_types){ + type_descriptor *t; + int pos; + char str[256]; + + for(pos = 0 ; pos < named_types->values.position; pos++) { + t = (type_descriptor *) named_types->values.array[pos]; + if(t->type == NONE){ + sprintf(str,"named type '%s' has no definition",(char*)named_types->keys.array[pos]); + error_callback(NULL,str); + } + } +} + + +/***************************************************************************** + *Function name + * generateChecksum : generate checksum for the facility + *Input Params + * facName : name of facility + *Output Params + * checksum : checksum for the facility + ****************************************************************************/ +void generateChecksum( char* facName, unsigned long * checksum, sequence * events){ + unsigned long crc ; + int pos, nestedStruct; + event * ev; + char str[256]; + + crc = crc32(facName); + for(pos = 0; pos < events->position; pos++){ + ev = (event *)(events->array[pos]); + ev->nested = 0; //by default, event has no nested struct + crc = partial_crc32(ev->name,crc); + nestedStruct = 0; + if(ev->type->type != STRUCT){ + sprintf(str,"event '%s' has a type other than STRUCT",ev->name); + error_callback(NULL, str); + } + crc = getTypeChecksum(crc, ev->type,&nestedStruct); + if(nestedStruct ) ev->nested = 1; + } + *checksum = crc; +} + +/***************************************************************************** + *Function name + * getTypeChecksum : generate checksum by type info + *Input Params + * crc : checksum generated so far + * type : type descriptor containing type info + *Return value + * unsigned long : checksum + *****************************************************************************/ +unsigned long getTypeChecksum(unsigned long aCrc, type_descriptor * type, int * nestedStruct){ + unsigned long crc = aCrc; + char * str = NULL, buf[16]; + int flag = 0, pos, max, min; + field * fld; + data_type dt; + + switch(type->type){ + case INT: + str = intOutputTypes[type->size]; + break; + case UINT: + str = uintOutputTypes[type->size]; + break; + case FLOAT: + str = floatOutputTypes[type->size]; + break; + case STRING: + str = allocAndCopy("string"); + flag = 1; + break; + case ENUM: + str = appendString("enum ", uintOutputTypes[type->size]); + flag = 1; + break; + case ARRAY: + sprintf(buf,"%d\0",type->size); + str = appendString("array ",buf); + flag = 1; + break; + case SEQUENCE: + sprintf(buf,"%d\0",type->size); + str = appendString("sequence ",buf); + flag = 1; + break; + case STRUCT: + str = allocAndCopy("struct"); + flag = 1; + break; + default: + error_callback(NULL, "named type has no definition"); + break; + } + + crc = partial_crc32(str,crc); + if(flag) free(str); + + if(type->fmt) crc = partial_crc32(type->fmt,crc); + + if(type->type == ARRAY || type->type == SEQUENCE){ + dt = type->nested_type->type; + if(dt == ARRAY || dt == SEQUENCE || dt == STRUCT) *nestedStruct += 1; + crc = getTypeChecksum(crc,type->nested_type,nestedStruct); + }else if(type->type == STRUCT){ + if(type->fields.position != 0){//not a empty struct + max = 0; + for(pos =0; pos < type->fields.position; pos++){ + min = 0; + fld = (field *) type->fields.array[pos]; + crc = partial_crc32(fld->name,crc); + if(fld->type->type == STRUCT) min++; + crc = getTypeChecksum(crc, fld->type,&min); + if(min>max) max = min; + } + *nestedStruct += max; + } + }else if(type->type == ENUM){ + for(pos = 0; pos < type->labels.position; pos++) + crc = partial_crc32((char*)type->labels.array[pos],crc); + } + + return crc; +} + + +/* Event type descriptors */ +void freeType(type_descriptor * tp){ + int pos2; + field *f; + + if(tp->fmt != NULL) free(tp->fmt); + if(tp->type == ENUM) { + for(pos2 = 0; pos2 < tp->labels.position; pos2++) { + free(tp->labels.array[pos2]); + } + sequence_dispose(&(tp->labels)); + } + if(tp->type == STRUCT) { + for(pos2 = 0; pos2 < tp->fields.position; pos2++) { + f = (field *) tp->fields.array[pos2]; + free(f->name); + free(f->description); + free(f); + } + sequence_dispose(&(tp->fields)); + } +} + +void freeNamedType(table * t){ + int pos; + type_descriptor * td; + + for(pos = 0 ; pos < t->keys.position; pos++) { + free((char *)t->keys.array[pos]); + td = (type_descriptor*)t->values.array[pos]; + freeType(td); + free(td); + } +} + +void freeTypes(sequence *t) { + int pos, pos2; + type_descriptor *tp; + field *f; + + for(pos = 0 ; pos < t->position; pos++) { + tp = (type_descriptor *)t->array[pos]; + freeType(tp); + free(tp); + } +} + +void freeEvents(sequence *t) { + int pos; + event *ev; + + for(pos = 0 ; pos < t->position; pos++) { + ev = (event *) t->array[pos]; + free(ev->name); + free(ev->description); + free(ev); + } + +} + + +/* Extensible array */ + +void sequence_init(sequence *t) { + t->size = 10; + t->position = 0; + t->array = (void **)memAlloc(t->size * sizeof(void *)); +} + +void sequence_dispose(sequence *t) { + t->size = 0; + free(t->array); + t->array = NULL; +} + +void sequence_push(sequence *t, void *elem) { + void **tmp; + + if(t->position >= t->size) { + tmp = t->array; + t->array = (void **)memAlloc(t->size * 2 * sizeof(void *)); + memcpy(t->array, tmp, t->size * sizeof(void *)); + t->size = t->size * 2; + free(tmp); + } + t->array[t->position] = elem; + t->position++; +} + +void *sequence_pop(sequence *t) { + return t->array[t->position--]; +} + + +/* Hash table API, implementation is just linear search for now */ + +void table_init(table *t) { + sequence_init(&(t->keys)); + sequence_init(&(t->values)); +} + +void table_dispose(table *t) { + sequence_dispose(&(t->keys)); + sequence_dispose(&(t->values)); +} + +void table_insert(table *t, char *key, void *value) { + sequence_push(&(t->keys),key); + sequence_push(&(t->values),value); +} + +void *table_find(table *t, char *key) { + int pos; + for(pos = 0 ; pos < t->keys.position; pos++) { + if(strcmp((char *)key,(char *)t->keys.array[pos]) == 0) + return(t->values.array[pos]); + } + return NULL; +} + + +/* Concatenate strings */ + +char *appendString(char *s, char *suffix) { + char *tmp; + + tmp = (char *)memAlloc(strlen(s) + strlen(suffix) + 1); + strcpy(tmp,s); + strcat(tmp,suffix); + return tmp; +} + + diff --git a/ltt/branches/poly/misc/parser.h b/ltt/branches/poly/misc/parser.h new file mode 100644 index 00000000..0d42e93a --- /dev/null +++ b/ltt/branches/poly/misc/parser.h @@ -0,0 +1,182 @@ + +/* Extensible array container */ + +typedef struct _sequence { + int size; + int position; + void **array; +} sequence; + +void sequence_init(sequence *t); +void sequence_dispose(sequence *t); +void sequence_push(sequence *t, void *elem); +void *sequence_pop(sequence *t); + + +/* Hash table */ + +typedef struct _table { + sequence keys; + sequence values; +} table; + +void table_init(table *t); +void table_dispose(table *t); +void table_insert(table *t, char *key, void *value); +void *table_find(table *t, char *key); + + +/* Token types */ + +typedef enum _token_type { + ENDFILE, + COMA, + LPARENTHESIS, + RPARENTHESIS, + SEMICOLON, + EQUAL, + QUOTEDSTRING, + NUMBER, + NAME +} token_type; + + +/* State associated with a file being parsed */ +typedef struct _parse_file { + char *name; + FILE * fp; + int lineno; + char *buffer; + token_type type; + int unget; + void (*error) (struct _parse_file *, char *); +} parse_file; + +void ungetToken(parse_file * in); +char *getToken(parse_file *in); +char *getComa(parse_file *in); +char *getLParenthesis(parse_file *in); +char *getRParenthesis(parse_file *in); +char *getSemiColon(parse_file *in); +char *getQuotedString(parse_file *in); +char *getName(parse_file *in); +int getNumber(parse_file *in); +char * getEqual(parse_file *in); + +void skipComment(parse_file * in); +void skipEOL(parse_file * in); +int isalpha(char car); +int isalnum(char car); + +/* Some constants */ + +static const int BUFFER_SIZE = 1024; + + +/* Events data types */ + +typedef enum _data_type { + INT, + UINT, + FLOAT, + STRING, + ENUM, + ARRAY, + SEQUENCE, + STRUCT, + NONE +} data_type; + + +/* Event type descriptors */ + +typedef struct _type_descriptor { + data_type type; + char *fmt; + int size; + sequence labels; // for enumeration + sequence fields; // for structure + struct _type_descriptor *nested_type; // for array and sequence +} type_descriptor; + + +/* Fields within types */ + +typedef struct _field{ + char *name; + char *description; + type_descriptor *type; +} field; + + +/* Events definitions */ + +typedef struct _event { + char *name; + char *description; + type_descriptor *type; + int nested; +} event; + +int getSize(parse_file *in); +unsigned long getTypeChecksum(unsigned long aCrc, type_descriptor * type, int * nestedStruct); + +void parseEvent(parse_file *in, event *ev, sequence * unnamed_types, table * named_types); +void parseTypeDefinition(parse_file *in, sequence * unnamed_types, table * named_types); +type_descriptor *parseType(parse_file *in, type_descriptor *t, sequence * unnamed_types, table * named_types); +void parseFields(parse_file *in, type_descriptor *t, sequence * unnamed_types, table * named_types); +void checkNamedTypesImplemented(table * namedTypes); +type_descriptor * find_named_type(char *name, table * named_types); +void generateChecksum(char * facName, unsigned long * checksum, sequence * events); + + + +static char *intOutputTypes[] = { + "int8_t", "int16_t", "int32_t", "int64_t", "short int", "int", "long int" }; + +static char *uintOutputTypes[] = { + "uint8_t", "uint16_t", "uint32_t", "uint64_t", "unsigned short int", + "unsigned int", "unsigned long int" }; + +static char *floatOutputTypes[] = { + "undef", "undef", "float", "double", "undef", "float", "double" }; + + +/* Dynamic memory allocation and freeing */ + +void * memAlloc(int size); +char *allocAndCopy(char * str); +char *appendString(char *s, char *suffix); +void freeTypes(sequence *t); +void freeType(type_descriptor * td); +void freeEvents(sequence *t); +void freeNamedType(table * t); +void error_callback(parse_file *in, char *msg); + + +//checksum part +static const unsigned int crctab32[] = +{ +#include "crc32.tab" +}; + +static inline unsigned long +partial_crc32_one(unsigned char c, unsigned long crc) +{ + return crctab32[(crc ^ c) & 0xff] ^ (crc >> 8); +} + +static inline unsigned long +partial_crc32(const char *s, unsigned long crc) +{ + while (*s) + crc = partial_crc32_one(*s++, crc); + return crc; +} + +static inline unsigned long +crc32(const char *s) +{ + return partial_crc32(s, 0xffffffff) ^ 0xffffffff; +} + diff --git a/ltt/branches/poly/misc/trace1.stats b/ltt/branches/poly/misc/trace1.stats new file mode 100644 index 00000000..beb9a587 --- /dev/null +++ b/ltt/branches/poly/misc/trace1.stats @@ -0,0 +1,4550 @@ +Trace start time: (1042824617, 654653) +Trace end time: (1042824737, 641416) +Trace duration: (119, 986763) + +Number of occurences of: + Events: 5311979 + Scheduling changes: 210109 + Kernel timer tics: 11999 + System call entries: 700337 + System call exits: 700211 + Trap entries: 58021 + Trap exits: 58021 + IRQ entries: 13998 + IRQ exits: 13998 + Bottom halves: 12664 + Timer expiries: 4962 + Page allocations: 83259 + Page frees: 111748 + Packets Out: 0 + Packets In: 0 + +Analysis details: + Process (3045, 627): expr: + Number of system calls: 54 + Number of traps: 125 + Quantity of data read from files: 1024 + Quantity of data written to files: 6 + Time executing process code: (0, 1152) => 0.00 % + Time running: (0, 2180) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 10) + munmap: 2 (0, 14) + mprotect: 1 (0, 6) + read: 1 (0, 7) + fstat64: 3 (0, 5) + open: 3 (0, 26) + old_mmap: 6 (0, 25) + brk: 4 (0, 2) + newuname: 1 (0, 3) + execve: 1 (0, 243) + stat64: 4 (0, 27) + close: 5 (0, 10) + dup2: 1 (0, 2) + setpgid: 1 (0, 11) + rt_sigaction: 13 (0, 11) + rt_sigprocmask: 5 (0, 3) + getpid: 1 (0, 1) + Process (3044, 627): getTime: + Number of system calls: 47 + Number of traps: 116 + Quantity of data read from files: 1024 + Quantity of data written to files: 14 + Time executing process code: (0, 1054) => 0.00 % + Time running: (0, 1984) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 9) + gettimeofday: 1 (0, 1) + munmap: 2 (0, 15) + mprotect: 1 (0, 5) + read: 1 (0, 7) + fstat64: 3 (0, 6) + open: 3 (0, 25) + old_mmap: 6 (0, 21) + brk: 1 (0, 1) + newuname: 1 (0, 2) + execve: 1 (0, 244) + close: 4 (0, 4) + dup2: 1 (0, 2) + setpgid: 1 (0, 11) + rt_sigaction: 13 (0, 7) + rt_sigprocmask: 5 (0, 4) + getpid: 1 (0, 1) + Process (3043, 3042): gnuplot_x11: + Number of system calls: 204 + Number of traps: 235 + Quantity of data read from files: 61372 + Quantity of data written to files: 9670 + Time executing process code: (0, 6232) => 0.01 % + Time running: (0, 8631) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + select: 6 (0, 98122) + stat64: 1 (0, 10) + write: 46 (0, 226) + writev: 4 (0, 29) + access: 1 (0, 10) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 68) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 24) + mprotect: 6 (0, 20) + read: 63 (0, 20874) + fstat64: 8 (0, 13) + open: 12 (0, 123) + old_mmap: 18 (0, 66) + brk: 10 (0, 19) + newuname: 6 (0, 11) + execve: 1 (0, 276) + dup2: 1 (0, 3) + close: 10 (0, 52) + Process (3042, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7934) => 0.01 % + Time running: (0, 11518) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 30724) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 149) + pipe: 1 (0, 34) + setuid: 1 (0, 1) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 18) + read: 7 (0, 59) + close: 9 (0, 19) + fstat64: 8 (0, 14) + open: 9 (0, 88) + old_mmap: 16 (0, 62) + brk: 8 (0, 19) + newuname: 2 (0, 5) + execve: 1 (0, 228) + ioctl: 2 (0, 21) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 764) + rt_sigprocmask: 508 (0, 316) + getpid: 1 (0, 1) + Process (3041, 3040): gnuplot_x11: + Number of system calls: 211 + Number of traps: 237 + Quantity of data read from files: 30780 + Quantity of data written to files: 9662 + Time executing process code: (0, 6386) => 0.01 % + Time running: (0, 8782) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 5 (0, 9) + select: 6 (0, 77496) + stat64: 1 (0, 9) + write: 47 (0, 242) + writev: 4 (0, 30) + access: 1 (0, 11) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 65) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 22) + mprotect: 6 (0, 16) + read: 64 (0, 29224) + fstat64: 8 (0, 11) + open: 12 (0, 116) + old_mmap: 18 (0, 64) + brk: 10 (0, 24) + newuname: 6 (0, 12) + execve: 1 (0, 256) + dup2: 1 (0, 2) + close: 10 (0, 48) + Process (3040, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7716) => 0.01 % + Time running: (0, 11073) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 89818) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 106) + pipe: 1 (0, 21) + setuid: 1 (0, 1) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 22) + read: 7 (0, 60) + close: 9 (0, 20) + fstat64: 8 (0, 12) + open: 9 (0, 91) + old_mmap: 16 (0, 59) + brk: 8 (0, 15) + newuname: 2 (0, 6) + execve: 1 (0, 225) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 732) + rt_sigprocmask: 508 (0, 284) + getpid: 1 (0, 1) + Process (3039, 3038): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 30884 + Quantity of data written to files: 9674 + Time executing process code: (0, 6702) => 0.01 % + Time running: (0, 9207) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 20) + stat64: 1 (0, 10) + write: 50 (0, 270) + select: 6 (0, 315) + writev: 4 (0, 27) + access: 1 (0, 9) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 62) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 24) + mprotect: 6 (0, 19) + read: 68 (0, 23715) + fstat64: 8 (0, 12) + open: 12 (0, 118) + old_mmap: 18 (0, 63) + brk: 10 (0, 27) + newuname: 6 (0, 11) + execve: 1 (0, 256) + dup2: 1 (0, 2) + close: 10 (0, 39) + Process (3038, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7716) => 0.01 % + Time running: (0, 11080) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 129068) + llseek: 1 (0, 3) + fcntl64: 1 (0, 3) + fork: 1 (0, 109) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 34) + mprotect: 7 (0, 25) + read: 7 (0, 61) + close: 9 (0, 20) + fstat64: 8 (0, 11) + open: 9 (0, 88) + old_mmap: 16 (0, 56) + brk: 8 (0, 16) + newuname: 2 (0, 6) + execve: 1 (0, 226) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 732) + rt_sigprocmask: 508 (0, 307) + getpid: 1 (0, 1) + Process (3037, 3036): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 30884 + Quantity of data written to files: 9674 + Time executing process code: (0, 6796) => 0.01 % + Time running: (0, 9355) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 20) + stat64: 1 (0, 10) + write: 50 (0, 284) + select: 6 (0, 45210) + writev: 4 (0, 27) + access: 1 (0, 9) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 61) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 21) + mprotect: 6 (0, 16) + read: 68 (0, 15788) + fstat64: 8 (0, 11) + open: 12 (0, 126) + old_mmap: 18 (0, 64) + brk: 10 (0, 29) + newuname: 6 (0, 11) + execve: 1 (0, 259) + dup2: 1 (0, 2) + close: 10 (0, 46) + Process (3036, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7752) => 0.01 % + Time running: (0, 11037) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 78328) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 106) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 34) + mprotect: 7 (0, 22) + read: 7 (0, 59) + close: 9 (0, 18) + fstat64: 8 (0, 12) + open: 9 (0, 92) + old_mmap: 16 (0, 61) + brk: 8 (0, 14) + newuname: 2 (0, 6) + execve: 1 (0, 224) + ioctl: 2 (0, 23) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 715) + rt_sigprocmask: 508 (0, 270) + getpid: 1 (0, 1) + Process (3035, 3034): gnuplot_x11: + Number of system calls: 209 + Number of traps: 237 + Quantity of data read from files: 30748 + Quantity of data written to files: 9662 + Time executing process code: (0, 6431) => 0.01 % + Time running: (0, 8847) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 4 (0, 8) + select: 6 (0, 18927) + stat64: 1 (0, 10) + write: 47 (0, 248) + writev: 4 (0, 27) + access: 1 (0, 10) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 67) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 24) + mprotect: 6 (0, 15) + read: 63 (0, 21757) + fstat64: 8 (0, 13) + open: 12 (0, 118) + old_mmap: 18 (0, 65) + brk: 10 (0, 27) + newuname: 6 (0, 11) + execve: 1 (0, 259) + dup2: 1 (0, 2) + close: 10 (0, 48) + Process (3034, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 274 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7669) => 0.01 % + Time running: (0, 11023) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 120555) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 103) + pipe: 1 (0, 22) + setuid: 1 (0, 1) + getuid: 1 (0, 0) + geteuid: 1 (0, 1) + munmap: 3 (0, 34) + mprotect: 7 (0, 21) + read: 7 (0, 61) + close: 9 (0, 18) + fstat64: 8 (0, 13) + open: 9 (0, 89) + old_mmap: 16 (0, 60) + brk: 8 (0, 16) + newuname: 2 (0, 6) + execve: 1 (0, 230) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 729) + rt_sigprocmask: 508 (0, 307) + getpid: 1 (0, 1) + Process (3033, 3032): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 30884 + Quantity of data written to files: 9674 + Time executing process code: (0, 6775) => 0.01 % + Time running: (0, 9273) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 20) + stat64: 1 (0, 9) + write: 50 (0, 270) + select: 6 (0, 7833) + writev: 4 (0, 29) + access: 1 (0, 9) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 61) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 24) + mprotect: 6 (0, 18) + read: 68 (0, 21964) + fstat64: 8 (0, 11) + open: 12 (0, 127) + old_mmap: 18 (0, 62) + brk: 10 (0, 30) + newuname: 6 (0, 12) + execve: 1 (0, 243) + dup2: 1 (0, 2) + close: 10 (0, 44) + Process (3032, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 8256) => 0.01 % + Time running: (0, 11349) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 22395) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 101) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 0) + munmap: 3 (0, 35) + mprotect: 7 (0, 18) + read: 7 (0, 61) + close: 9 (0, 19) + fstat64: 8 (0, 11) + open: 9 (0, 88) + old_mmap: 16 (0, 58) + brk: 8 (0, 17) + newuname: 2 (0, 6) + execve: 1 (0, 228) + ioctl: 2 (0, 22) + setpgid: 1 (0, 0) + rt_sigaction: 1017 (0, 716) + rt_sigprocmask: 508 (0, 304) + getpid: 1 (0, 1) + Process (3031, 3030): gnuplot_x11: + Number of system calls: 227 + Number of traps: 237 + Quantity of data read from files: 41124 + Quantity of data written to files: 9678 + Time executing process code: (0, 6966) => 0.01 % + Time running: (0, 9505) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 21) + stat64: 1 (0, 13) + write: 50 (0, 276) + select: 7 (0, 98646) + writev: 4 (0, 49) + access: 1 (0, 9) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 61) + rt_sigaction: 2 (0, 3) + munmap: 2 (0, 21) + mprotect: 6 (0, 16) + read: 69 (0, 1103) + fstat64: 8 (0, 11) + open: 12 (0, 135) + old_mmap: 18 (0, 63) + brk: 10 (0, 30) + newuname: 6 (0, 12) + execve: 1 (0, 242) + dup2: 1 (0, 2) + close: 10 (0, 43) + Process (3030, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7833) => 0.01 % + Time running: (0, 11040) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 110) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 106) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 0) + geteuid: 1 (0, 0) + munmap: 3 (0, 35) + mprotect: 7 (0, 22) + read: 7 (0, 63) + close: 9 (0, 19) + fstat64: 8 (0, 12) + open: 9 (0, 91) + old_mmap: 16 (0, 58) + brk: 8 (0, 12) + newuname: 2 (0, 6) + execve: 1 (0, 232) + ioctl: 2 (0, 23) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 722) + rt_sigprocmask: 508 (0, 293) + getpid: 1 (0, 1) + Process (3029, 3028): gnuplot_x11: + Number of system calls: 215 + Number of traps: 237 + Quantity of data read from files: 41052 + Quantity of data written to files: 9666 + Time executing process code: (0, 6413) => 0.01 % + Time running: (0, 8814) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 6 (0, 11) + select: 7 (0, 41608) + stat64: 1 (0, 9) + write: 47 (0, 236) + writev: 4 (0, 30) + access: 1 (0, 11) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 67) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 22) + mprotect: 6 (0, 18) + read: 66 (0, 11517) + fstat64: 8 (0, 11) + open: 12 (0, 115) + old_mmap: 18 (0, 85) + brk: 10 (0, 19) + newuname: 6 (0, 9) + execve: 1 (0, 257) + dup2: 1 (0, 2) + close: 10 (0, 48) + Process (3028, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7641) => 0.01 % + Time running: (0, 11019) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 57) + llseek: 1 (0, 2) + fcntl64: 1 (0, 3) + fork: 1 (0, 104) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 21) + read: 7 (0, 61) + close: 9 (0, 19) + fstat64: 8 (0, 14) + open: 9 (0, 87) + old_mmap: 16 (0, 61) + brk: 8 (0, 14) + newuname: 2 (0, 6) + execve: 1 (0, 231) + ioctl: 2 (0, 22) + setpgid: 1 (0, 0) + rt_sigaction: 1017 (0, 738) + rt_sigprocmask: 508 (0, 353) + getpid: 1 (0, 1) + Process (3027, 3026): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 30908 + Quantity of data written to files: 9674 + Time executing process code: (0, 6784) => 0.01 % + Time running: (0, 9391) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 23) + select: 6 (0, 66645) + stat64: 1 (0, 8) + write: 50 (0, 269) + writev: 4 (0, 30) + access: 1 (0, 9) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 68) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 27) + mprotect: 6 (0, 19) + read: 68 (0, 75542) + fstat64: 8 (0, 11) + open: 12 (0, 120) + old_mmap: 18 (0, 69) + brk: 10 (0, 28) + newuname: 6 (0, 10) + execve: 1 (0, 301) + dup2: 1 (0, 3) + close: 10 (0, 50) + Process (3026, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7764) => 0.01 % + Time running: (0, 11563) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 151359) + llseek: 1 (0, 2) + fcntl64: 1 (0, 3) + fork: 1 (0, 108) + pipe: 1 (0, 22) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 36) + mprotect: 7 (0, 25) + read: 7 (0, 101) + close: 9 (0, 13) + fstat64: 8 (0, 11) + open: 9 (0, 95) + old_mmap: 16 (0, 58) + brk: 8 (0, 17) + newuname: 2 (0, 6) + execve: 1 (0, 254) + ioctl: 2 (0, 26) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 758) + rt_sigprocmask: 508 (0, 322) + getpid: 1 (0, 0) + Process (3025, 3024): gnuplot_x11: + Number of system calls: 223 + Number of traps: 237 + Quantity of data read from files: 30876 + Quantity of data written to files: 9674 + Time executing process code: (0, 6837) => 0.01 % + Time running: (0, 9388) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 22) + select: 5 (0, 24) + stat64: 1 (0, 10) + write: 50 (0, 278) + writev: 4 (0, 32) + access: 1 (0, 12) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 74) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 22) + mprotect: 6 (0, 19) + read: 67 (0, 12578) + fstat64: 8 (0, 11) + open: 12 (0, 131) + old_mmap: 18 (0, 67) + brk: 10 (0, 28) + newuname: 6 (0, 12) + execve: 1 (0, 272) + dup2: 1 (0, 3) + close: 10 (0, 40) + Process (3024, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7779) => 0.01 % + Time running: (0, 11550) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 10592) + llseek: 1 (0, 3) + fcntl64: 1 (0, 3) + fork: 1 (0, 111) + pipe: 1 (0, 23) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 25) + read: 7 (0, 61) + close: 9 (0, 21) + fstat64: 8 (0, 15) + open: 9 (0, 91) + old_mmap: 16 (0, 60) + brk: 8 (0, 17) + newuname: 2 (0, 6) + execve: 1 (0, 242) + ioctl: 2 (0, 21) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 751) + rt_sigprocmask: 508 (0, 342) + getpid: 1 (0, 1) + Process (3023, 627): gs-gnu: + Number of system calls: 22598 + Number of traps: 2501 + Quantity of data read from files: 39575101 + Quantity of data written to files: 3366983 + Time executing process code: (5, 451569) => 4.54 % + Time running: (5, 630093) => 4.69 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + writev: 1579 (0, 19379) + access: 6 (0, 53) + fcntl64: 6 (0, 6) + socketcall: 6 (0, 112) + write: 1903 (0, 22359) + llseek: 7615 (0, 14240) + stat64: 2 (0, 25) + times: 1 (0, 1) + sysctl: 1 (0, 6) + setrlimit: 1 (0, 1) + getrlimit: 1 (0, 1) + munmap: 65 (0, 496) + mprotect: 14 (0, 40) + read: 10159 (0, 71778) + close: 80 (0, 366) + fstat64: 136 (0, 167) + open: 496 (0, 2917) + old_mmap: 99 (0, 345) + brk: 397 (0, 3616) + newuname: 10 (0, 18) + execve: 1 (0, 248) + ioctl: 2 (0, 17) + setpgid: 1 (0, 1) + rt_sigaction: 10 (0, 8) + rt_sigprocmask: 4 (0, 5) + getpid: 2 (0, 2) + Process (3022, 627): gs-gnu: + Number of system calls: 22598 + Number of traps: 2501 + Quantity of data read from files: 39575101 + Quantity of data written to files: 3366983 + Time executing process code: (5, 445155) => 4.54 % + Time running: (5, 622502) => 4.69 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + writev: 1579 (0, 19397) + access: 6 (0, 51) + fcntl64: 6 (0, 10) + socketcall: 6 (0, 110) + write: 1903 (0, 22375) + llseek: 7615 (0, 14168) + stat64: 2 (0, 28) + times: 1 (0, 1) + sysctl: 1 (0, 6) + setrlimit: 1 (0, 1) + getrlimit: 1 (0, 1) + munmap: 65 (0, 497) + mprotect: 14 (0, 43) + read: 10159 (0, 71528) + close: 80 (0, 271) + fstat64: 136 (0, 171) + open: 496 (0, 2936) + old_mmap: 99 (0, 369) + brk: 397 (0, 3581) + newuname: 10 (0, 17) + execve: 1 (0, 231) + ioctl: 2 (0, 17) + setpgid: 1 (0, 1) + rt_sigaction: 10 (0, 9) + rt_sigprocmask: 4 (0, 5) + getpid: 2 (0, 2) + Process (3021, 627): getTime: + Number of system calls: 47 + Number of traps: 115 + Quantity of data read from files: 1024 + Quantity of data written to files: 14 + Time executing process code: (0, 1049) => 0.00 % + Time running: (0, 2035) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 10) + gettimeofday: 1 (0, 2) + munmap: 2 (0, 14) + mprotect: 1 (0, 6) + read: 1 (0, 7) + fstat64: 3 (0, 7) + open: 3 (0, 24) + old_mmap: 6 (0, 22) + brk: 1 (0, 1) + newuname: 1 (0, 3) + execve: 1 (0, 266) + close: 4 (0, 6) + dup2: 1 (0, 4) + setpgid: 1 (0, 13) + rt_sigaction: 13 (0, 13) + rt_sigprocmask: 5 (0, 5) + getpid: 1 (0, 1) + Process (3020, 627): expr: + Number of system calls: 54 + Number of traps: 124 + Quantity of data read from files: 1024 + Quantity of data written to files: 6 + Time executing process code: (0, 1215) => 0.00 % + Time running: (0, 2430) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 10) + munmap: 2 (0, 15) + mprotect: 1 (0, 6) + read: 1 (0, 9) + fstat64: 3 (0, 7) + open: 3 (0, 25) + old_mmap: 6 (0, 23) + brk: 4 (0, 4) + newuname: 1 (0, 3) + execve: 1 (0, 265) + stat64: 4 (0, 33) + close: 5 (0, 8) + dup2: 1 (0, 2) + setpgid: 1 (0, 13) + rt_sigaction: 13 (0, 10) + rt_sigprocmask: 5 (0, 5) + getpid: 1 (0, 1) + Process (3019, 627): getTime: + Number of system calls: 47 + Number of traps: 115 + Quantity of data read from files: 1024 + Quantity of data written to files: 14 + Time executing process code: (0, 1064) => 0.00 % + Time running: (0, 1990) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 6) + gettimeofday: 1 (0, 2) + munmap: 2 (0, 13) + mprotect: 1 (0, 5) + read: 1 (0, 7) + fstat64: 3 (0, 7) + open: 3 (0, 24) + old_mmap: 6 (0, 22) + brk: 1 (0, 1) + newuname: 1 (0, 3) + execve: 1 (0, 243) + close: 4 (0, 6) + dup2: 1 (0, 2) + setpgid: 1 (0, 12) + rt_sigaction: 13 (0, 11) + rt_sigprocmask: 5 (0, 1) + getpid: 1 (0, 1) + Process (3018, 3017): gnuplot_x11: + Number of system calls: 211 + Number of traps: 237 + Quantity of data read from files: 30756 + Quantity of data written to files: 9662 + Time executing process code: (0, 6502) => 0.01 % + Time running: (0, 9070) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 4 (0, 7) + stat64: 1 (0, 10) + write: 47 (0, 239) + select: 7 (0, 106848) + writev: 4 (0, 27) + access: 1 (0, 10) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 62) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 21) + mprotect: 6 (0, 18) + read: 64 (0, 23081) + fstat64: 8 (0, 11) + open: 12 (0, 124) + old_mmap: 18 (0, 62) + brk: 10 (0, 30) + newuname: 6 (0, 12) + execve: 1 (0, 263) + dup2: 1 (0, 3) + close: 10 (0, 35) + Process (3017, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7676) => 0.01 % + Time running: (0, 11092) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 146497) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 102) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 37) + mprotect: 7 (0, 20) + read: 7 (0, 59) + close: 9 (0, 18) + fstat64: 8 (0, 12) + open: 9 (0, 92) + old_mmap: 16 (0, 58) + brk: 8 (0, 16) + newuname: 2 (0, 6) + execve: 1 (0, 224) + ioctl: 2 (0, 23) + setpgid: 1 (0, 0) + rt_sigaction: 1017 (0, 724) + rt_sigprocmask: 508 (0, 324) + getpid: 1 (0, 1) + Process (3016, 3015): gnuplot_x11: + Number of system calls: 213 + Number of traps: 237 + Quantity of data read from files: 30812 + Quantity of data written to files: 9662 + Time executing process code: (0, 6458) => 0.01 % + Time running: (0, 8879) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 6 (0, 11) + select: 6 (0, 18849) + stat64: 1 (0, 9) + write: 47 (0, 239) + writev: 4 (0, 29) + access: 1 (0, 10) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 66) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 22) + mprotect: 6 (0, 15) + read: 65 (0, 11924) + fstat64: 8 (0, 12) + open: 12 (0, 119) + old_mmap: 18 (0, 64) + brk: 10 (0, 24) + newuname: 6 (0, 9) + execve: 1 (0, 266) + dup2: 1 (0, 2) + close: 10 (0, 48) + Process (3015, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7614) => 0.01 % + Time running: (0, 11034) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 88693) + llseek: 1 (0, 3) + fcntl64: 1 (0, 3) + fork: 1 (0, 104) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 36) + mprotect: 7 (0, 23) + read: 7 (0, 59) + close: 9 (0, 19) + fstat64: 8 (0, 12) + open: 9 (0, 89) + old_mmap: 16 (0, 59) + brk: 8 (0, 16) + newuname: 2 (0, 5) + execve: 1 (0, 221) + ioctl: 2 (0, 24) + setpgid: 1 (0, 0) + rt_sigaction: 1017 (0, 781) + rt_sigprocmask: 508 (0, 363) + getpid: 1 (0, 1) + Process (3014, 3013): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 30908 + Quantity of data written to files: 9674 + Time executing process code: (0, 6816) => 0.01 % + Time running: (0, 9285) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 18) + select: 6 (0, 12433) + stat64: 1 (0, 10) + write: 50 (0, 273) + writev: 4 (0, 28) + access: 1 (0, 10) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 65) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 22) + mprotect: 6 (0, 17) + read: 68 (0, 11928) + fstat64: 8 (0, 11) + open: 12 (0, 118) + old_mmap: 18 (0, 59) + brk: 10 (0, 27) + newuname: 6 (0, 13) + execve: 1 (0, 260) + dup2: 1 (0, 3) + close: 10 (0, 41) + Process (3013, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 274 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7619) => 0.01 % + Time running: (0, 10965) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 127833) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 101) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 34) + mprotect: 7 (0, 22) + read: 7 (0, 59) + close: 9 (0, 18) + fstat64: 8 (0, 12) + open: 9 (0, 87) + old_mmap: 16 (0, 59) + brk: 8 (0, 15) + newuname: 2 (0, 6) + execve: 1 (0, 231) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 752) + rt_sigprocmask: 508 (0, 321) + getpid: 1 (0, 1) + Process (3012, 3011): gnuplot_x11: + Number of system calls: 223 + Number of traps: 237 + Quantity of data read from files: 30876 + Quantity of data written to files: 9674 + Time executing process code: (0, 6733) => 0.01 % + Time running: (0, 9230) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 20) + select: 5 (0, 23) + stat64: 1 (0, 8) + write: 50 (0, 272) + writev: 4 (0, 31) + access: 1 (0, 10) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 59) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 22) + mprotect: 6 (0, 18) + read: 67 (0, 11952) + fstat64: 8 (0, 11) + open: 12 (0, 115) + old_mmap: 18 (0, 59) + brk: 10 (0, 23) + newuname: 6 (0, 10) + execve: 1 (0, 257) + dup2: 1 (0, 2) + close: 10 (0, 46) + Process (3011, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7691) => 0.01 % + Time running: (0, 11048) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 99192) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 105) + pipe: 1 (0, 19) + setuid: 1 (0, 2) + getuid: 1 (0, 2) + geteuid: 1 (0, 1) + munmap: 3 (0, 34) + mprotect: 7 (0, 20) + read: 7 (0, 62) + close: 9 (0, 19) + fstat64: 8 (0, 12) + open: 9 (0, 89) + old_mmap: 16 (0, 56) + brk: 8 (0, 13) + newuname: 2 (0, 6) + execve: 1 (0, 233) + ioctl: 2 (0, 23) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 716) + rt_sigprocmask: 508 (0, 295) + getpid: 1 (0, 1) + Process (3010, 3009): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 30884 + Quantity of data written to files: 9674 + Time executing process code: (0, 6834) => 0.01 % + Time running: (0, 9320) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 22) + stat64: 1 (0, 10) + write: 50 (0, 277) + select: 6 (0, 2308) + writev: 4 (0, 27) + access: 1 (0, 9) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 62) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 21) + mprotect: 6 (0, 17) + read: 68 (0, 12050) + fstat64: 8 (0, 10) + open: 12 (0, 121) + old_mmap: 18 (0, 57) + brk: 10 (0, 25) + newuname: 6 (0, 11) + execve: 1 (0, 256) + dup2: 1 (0, 2) + close: 10 (0, 42) + Process (3009, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7778) => 0.01 % + Time running: (0, 11136) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 26971) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 103) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 34) + mprotect: 7 (0, 21) + read: 7 (0, 62) + close: 9 (0, 18) + fstat64: 8 (0, 13) + open: 9 (0, 90) + old_mmap: 16 (0, 58) + brk: 8 (0, 15) + newuname: 2 (0, 6) + execve: 1 (0, 226) + ioctl: 2 (0, 22) + setpgid: 1 (0, 0) + rt_sigaction: 1017 (0, 752) + rt_sigprocmask: 508 (0, 321) + getpid: 1 (0, 1) + Process (3008, 3007): gnuplot_x11: + Number of system calls: 227 + Number of traps: 237 + Quantity of data read from files: 41124 + Quantity of data written to files: 9678 + Time executing process code: (0, 6778) => 0.01 % + Time running: (0, 9239) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 17) + stat64: 1 (0, 9) + write: 50 (0, 268) + select: 7 (0, 25364) + writev: 4 (0, 26) + access: 1 (0, 10) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 60) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 20) + mprotect: 6 (0, 17) + read: 69 (0, 542) + fstat64: 8 (0, 9) + open: 12 (0, 124) + old_mmap: 18 (0, 63) + brk: 10 (0, 28) + newuname: 6 (0, 11) + execve: 1 (0, 233) + dup2: 1 (0, 2) + close: 10 (0, 41) + Process (3007, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 274 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7948) => 0.01 % + Time running: (0, 11247) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 19496) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 104) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 20) + read: 7 (0, 58) + close: 9 (0, 15) + fstat64: 8 (0, 11) + open: 9 (0, 89) + old_mmap: 16 (0, 62) + brk: 8 (0, 15) + newuname: 2 (0, 6) + execve: 1 (0, 220) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 731) + rt_sigprocmask: 508 (0, 317) + getpid: 1 (0, 0) + Process (3006, 3005): gnuplot_x11: + Number of system calls: 223 + Number of traps: 237 + Quantity of data read from files: 30876 + Quantity of data written to files: 9674 + Time executing process code: (0, 6864) => 0.01 % + Time running: (0, 9317) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 22) + select: 5 (0, 21) + stat64: 1 (0, 11) + write: 50 (0, 270) + writev: 4 (0, 31) + access: 1 (0, 10) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 63) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 20) + mprotect: 6 (0, 17) + read: 67 (0, 9978) + fstat64: 8 (0, 11) + open: 12 (0, 128) + old_mmap: 18 (0, 65) + brk: 10 (0, 24) + newuname: 6 (0, 12) + execve: 1 (0, 261) + dup2: 1 (0, 3) + close: 10 (0, 39) + Process (3005, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7773) => 0.01 % + Time running: (0, 11094) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 85215) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 104) + pipe: 1 (0, 23) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 20) + read: 7 (0, 59) + close: 9 (0, 18) + fstat64: 8 (0, 13) + open: 9 (0, 89) + old_mmap: 16 (0, 59) + brk: 8 (0, 15) + newuname: 2 (0, 6) + execve: 1 (0, 236) + ioctl: 2 (0, 21) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 730) + rt_sigprocmask: 508 (0, 306) + getpid: 1 (0, 1) + Process (3004, 3003): gnuplot_x11: + Number of system calls: 208 + Number of traps: 237 + Quantity of data read from files: 30748 + Quantity of data written to files: 9662 + Time executing process code: (0, 6452) => 0.01 % + Time running: (0, 8845) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 3 (0, 6) + select: 6 (0, 23458) + stat64: 1 (0, 10) + write: 47 (0, 247) + writev: 4 (0, 29) + access: 1 (0, 10) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 65) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 22) + mprotect: 6 (0, 17) + read: 63 (0, 15840) + fstat64: 8 (0, 11) + open: 12 (0, 131) + old_mmap: 18 (0, 68) + brk: 10 (0, 31) + newuname: 6 (0, 11) + execve: 1 (0, 230) + dup2: 1 (0, 3) + close: 10 (0, 48) + Process (3003, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7654) => 0.01 % + Time running: (0, 10896) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 63003) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 103) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 22) + read: 7 (0, 58) + close: 9 (0, 22) + fstat64: 8 (0, 11) + open: 9 (0, 85) + old_mmap: 16 (0, 60) + brk: 8 (0, 16) + newuname: 2 (0, 5) + execve: 1 (0, 211) + ioctl: 2 (0, 21) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 749) + rt_sigprocmask: 508 (0, 303) + getpid: 1 (0, 1) + Process (3002, 3001): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 41116 + Quantity of data written to files: 9678 + Time executing process code: (0, 6782) => 0.01 % + Time running: (0, 9280) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 22) + select: 6 (0, 2800) + stat64: 1 (0, 10) + write: 50 (0, 272) + writev: 4 (0, 28) + access: 1 (0, 9) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 65) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 22) + mprotect: 6 (0, 17) + read: 68 (0, 14462) + fstat64: 8 (0, 11) + open: 12 (0, 122) + old_mmap: 18 (0, 66) + brk: 10 (0, 22) + newuname: 6 (0, 12) + execve: 1 (0, 256) + dup2: 1 (0, 3) + close: 10 (0, 41) + Process (3001, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7648) => 0.01 % + Time running: (0, 10951) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 60) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 103) + pipe: 1 (0, 20) + setuid: 1 (0, 1) + getuid: 1 (0, 0) + geteuid: 1 (0, 0) + munmap: 3 (0, 35) + mprotect: 7 (0, 21) + read: 7 (0, 59) + close: 9 (0, 17) + fstat64: 8 (0, 13) + open: 9 (0, 91) + old_mmap: 16 (0, 58) + brk: 8 (0, 16) + newuname: 2 (0, 5) + execve: 1 (0, 234) + ioctl: 2 (0, 22) + setpgid: 1 (0, 0) + rt_sigaction: 1017 (0, 718) + rt_sigprocmask: 508 (0, 323) + getpid: 1 (0, 0) + Process (3000, 2999): gnuplot_x11: + Number of system calls: 223 + Number of traps: 237 + Quantity of data read from files: 30876 + Quantity of data written to files: 9674 + Time executing process code: (0, 6715) => 0.01 % + Time running: (0, 9224) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 18) + select: 5 (0, 23) + stat64: 1 (0, 9) + write: 50 (0, 271) + writev: 4 (0, 27) + access: 1 (0, 9) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 66) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 23) + mprotect: 6 (0, 20) + read: 67 (0, 14542) + fstat64: 8 (0, 13) + open: 12 (0, 124) + old_mmap: 18 (0, 64) + brk: 10 (0, 26) + newuname: 6 (0, 9) + execve: 1 (0, 303) + dup2: 1 (0, 3) + close: 10 (0, 43) + Process (2999, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7866) => 0.01 % + Time running: (0, 11496) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 10149) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 136) + pipe: 1 (0, 28) + setuid: 1 (0, 2) + getuid: 1 (0, 0) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 22) + read: 7 (0, 63) + close: 9 (0, 20) + fstat64: 8 (0, 13) + open: 9 (0, 92) + old_mmap: 16 (0, 65) + brk: 8 (0, 17) + newuname: 2 (0, 5) + execve: 1 (0, 231) + ioctl: 2 (0, 21) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 757) + rt_sigprocmask: 508 (0, 300) + getpid: 1 (0, 1) + Process (2998, 627): gs-gnu: + Number of system calls: 22598 + Number of traps: 2501 + Quantity of data read from files: 39575101 + Quantity of data written to files: 3366983 + Time executing process code: (5, 454142) => 4.55 % + Time running: (5, 631836) => 4.69 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + writev: 1579 (0, 19954) + access: 6 (0, 52) + fcntl64: 6 (0, 9) + socketcall: 6 (0, 108) + write: 1903 (0, 22569) + llseek: 7615 (0, 14147) + stat64: 2 (0, 28) + times: 1 (0, 1) + sysctl: 1 (0, 6) + setrlimit: 1 (0, 1) + getrlimit: 1 (0, 2) + munmap: 65 (0, 510) + mprotect: 14 (0, 41) + read: 10159 (0, 71890) + close: 80 (0, 278) + fstat64: 136 (0, 175) + open: 496 (0, 2948) + old_mmap: 99 (0, 373) + brk: 397 (0, 3652) + newuname: 10 (0, 15) + execve: 1 (0, 254) + ioctl: 2 (0, 18) + setpgid: 1 (0, 1) + rt_sigaction: 10 (0, 10) + rt_sigprocmask: 4 (0, 6) + getpid: 2 (0, 2) + Process (2997, 627): gs-gnu: + Number of system calls: 22598 + Number of traps: 2501 + Quantity of data read from files: 39575101 + Quantity of data written to files: 3366983 + Time executing process code: (5, 460657) => 4.55 % + Time running: (5, 641819) => 4.70 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + writev: 1579 (0, 20296) + access: 6 (0, 53) + fcntl64: 6 (0, 8) + socketcall: 6 (0, 113) + write: 1903 (0, 22722) + llseek: 7615 (0, 14258) + stat64: 2 (0, 25) + times: 1 (0, 1) + sysctl: 1 (0, 6) + setrlimit: 1 (0, 1) + getrlimit: 1 (0, 2) + munmap: 65 (0, 523) + mprotect: 14 (0, 39) + read: 10159 (0, 71225) + close: 80 (0, 277) + fstat64: 136 (0, 175) + open: 496 (0, 2935) + old_mmap: 99 (0, 400) + brk: 397 (0, 3669) + newuname: 10 (0, 16) + execve: 1 (0, 232) + ioctl: 2 (0, 16) + setpgid: 1 (0, 1) + rt_sigaction: 10 (0, 9) + rt_sigprocmask: 4 (0, 5) + getpid: 2 (0, 2) + Process (2996, 627): getTime: + Number of system calls: 47 + Number of traps: 116 + Quantity of data read from files: 1024 + Quantity of data written to files: 14 + Time executing process code: (0, 1051) => 0.00 % + Time running: (0, 2075) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 9) + gettimeofday: 1 (0, 1) + munmap: 2 (0, 12) + mprotect: 1 (0, 6) + read: 1 (0, 8) + fstat64: 3 (0, 8) + open: 3 (0, 24) + old_mmap: 6 (0, 24) + brk: 1 (0, 1) + newuname: 1 (0, 3) + execve: 1 (0, 275) + close: 4 (0, 6) + dup2: 1 (0, 3) + setpgid: 1 (0, 13) + rt_sigaction: 13 (0, 12) + rt_sigprocmask: 5 (0, 6) + getpid: 1 (0, 1) + Process (2995, 627): expr: + Number of system calls: 54 + Number of traps: 125 + Quantity of data read from files: 1024 + Quantity of data written to files: 6 + Time executing process code: (0, 1155) => 0.00 % + Time running: (0, 2150) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 9) + munmap: 2 (0, 14) + mprotect: 1 (0, 5) + read: 1 (0, 6) + fstat64: 3 (0, 5) + open: 3 (0, 24) + old_mmap: 6 (0, 21) + brk: 4 (0, 2) + newuname: 1 (0, 3) + execve: 1 (0, 235) + stat64: 4 (0, 29) + close: 5 (0, 10) + dup2: 1 (0, 2) + setpgid: 1 (0, 11) + rt_sigaction: 13 (0, 13) + rt_sigprocmask: 5 (0, 2) + getpid: 1 (0, 1) + Process (2994, 627): getTime: + Number of system calls: 47 + Number of traps: 115 + Quantity of data read from files: 1024 + Quantity of data written to files: 14 + Time executing process code: (0, 1011) => 0.00 % + Time running: (0, 1941) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 9) + gettimeofday: 1 (0, 2) + munmap: 2 (0, 13) + mprotect: 1 (0, 6) + read: 1 (0, 7) + fstat64: 3 (0, 7) + open: 3 (0, 24) + old_mmap: 6 (0, 22) + brk: 1 (0, 1) + newuname: 1 (0, 3) + execve: 1 (0, 243) + close: 4 (0, 6) + dup2: 1 (0, 2) + setpgid: 1 (0, 12) + rt_sigaction: 13 (0, 11) + rt_sigprocmask: 5 (0, 4) + getpid: 1 (0, 1) + Process (2993, 2992): gnuplot_x11: + Number of system calls: 213 + Number of traps: 237 + Quantity of data read from files: 30788 + Quantity of data written to files: 9662 + Time executing process code: (0, 6581) => 0.01 % + Time running: (0, 9003) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 6 (0, 12) + stat64: 1 (0, 9) + write: 47 (0, 255) + select: 6 (0, 16566) + writev: 4 (0, 28) + access: 1 (0, 9) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 58) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 22) + mprotect: 6 (0, 15) + read: 65 (0, 11953) + fstat64: 8 (0, 9) + open: 12 (0, 120) + old_mmap: 18 (0, 61) + brk: 10 (0, 31) + newuname: 6 (0, 11) + execve: 1 (0, 227) + dup2: 1 (0, 2) + close: 10 (0, 29) + Process (2992, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7670) => 0.01 % + Time running: (0, 11000) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 43717) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 103) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 36) + mprotect: 7 (0, 24) + read: 7 (0, 60) + close: 9 (0, 18) + fstat64: 8 (0, 12) + open: 9 (0, 87) + old_mmap: 16 (0, 60) + brk: 8 (0, 14) + newuname: 2 (0, 6) + execve: 1 (0, 234) + ioctl: 2 (0, 21) + setpgid: 1 (0, 0) + rt_sigaction: 1017 (0, 739) + rt_sigprocmask: 508 (0, 327) + getpid: 1 (0, 0) + Process (2991, 2990): gnuplot_x11: + Number of system calls: 227 + Number of traps: 237 + Quantity of data read from files: 51356 + Quantity of data written to files: 9682 + Time executing process code: (0, 6788) => 0.01 % + Time running: (0, 9275) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 19) + select: 7 (0, 13764) + stat64: 1 (0, 19) + write: 50 (0, 281) + writev: 4 (0, 30) + access: 1 (0, 9) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 64) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 22) + mprotect: 6 (0, 16) + read: 69 (0, 651) + fstat64: 8 (0, 10) + open: 12 (0, 116) + old_mmap: 18 (0, 59) + brk: 10 (0, 23) + newuname: 6 (0, 11) + execve: 1 (0, 257) + dup2: 1 (0, 3) + close: 10 (0, 41) + Process (2990, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7784) => 0.01 % + Time running: (0, 11156) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 71) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 104) + pipe: 1 (0, 20) + setuid: 1 (0, 1) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 24) + read: 7 (0, 57) + close: 9 (0, 18) + fstat64: 8 (0, 11) + open: 9 (0, 88) + old_mmap: 16 (0, 60) + brk: 8 (0, 21) + newuname: 2 (0, 5) + execve: 1 (0, 231) + ioctl: 2 (0, 21) + setpgid: 1 (0, 0) + rt_sigaction: 1017 (0, 720) + rt_sigprocmask: 508 (0, 315) + getpid: 1 (0, 1) + Process (2989, 2988): gnuplot_x11: + Number of system calls: 211 + Number of traps: 237 + Quantity of data read from files: 30756 + Quantity of data written to files: 9662 + Time executing process code: (0, 6499) => 0.01 % + Time running: (0, 8917) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 4 (0, 6) + stat64: 1 (0, 10) + write: 47 (0, 240) + select: 7 (0, 58961) + writev: 4 (0, 28) + access: 1 (0, 9) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 61) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 21) + mprotect: 6 (0, 20) + read: 64 (0, 40677) + fstat64: 8 (0, 10) + open: 12 (0, 132) + old_mmap: 18 (0, 67) + brk: 10 (0, 27) + newuname: 6 (0, 9) + execve: 1 (0, 266) + dup2: 1 (0, 3) + close: 10 (0, 27) + Process (2988, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 274 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7620) => 0.01 % + Time running: (0, 10993) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 94778) + llseek: 1 (0, 3) + fcntl64: 1 (0, 3) + fork: 1 (0, 105) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 33) + mprotect: 7 (0, 23) + read: 7 (0, 60) + close: 9 (0, 15) + fstat64: 8 (0, 12) + open: 9 (0, 86) + old_mmap: 16 (0, 56) + brk: 8 (0, 15) + newuname: 2 (0, 6) + execve: 1 (0, 220) + ioctl: 2 (0, 22) + setpgid: 1 (0, 0) + rt_sigaction: 1017 (0, 743) + rt_sigprocmask: 508 (0, 335) + getpid: 1 (0, 0) + Process (2987, 2986): gnuplot_x11: + Number of system calls: 209 + Number of traps: 237 + Quantity of data read from files: 40988 + Quantity of data written to files: 9666 + Time executing process code: (0, 6346) => 0.01 % + Time running: (0, 8786) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 2 (0, 4) + select: 7 (0, 60124) + stat64: 1 (0, 9) + write: 47 (0, 239) + writev: 4 (0, 28) + access: 1 (0, 9) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 64) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 23) + mprotect: 6 (0, 16) + read: 64 (0, 14284) + fstat64: 8 (0, 11) + open: 12 (0, 119) + old_mmap: 18 (0, 62) + brk: 10 (0, 20) + newuname: 6 (0, 11) + execve: 1 (0, 260) + dup2: 1 (0, 3) + close: 10 (0, 50) + Process (2986, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7629) => 0.01 % + Time running: (0, 10990) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 63) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 104) + pipe: 1 (0, 21) + setuid: 1 (0, 1) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 33) + mprotect: 7 (0, 22) + read: 7 (0, 58) + close: 9 (0, 17) + fstat64: 8 (0, 18) + open: 9 (0, 86) + old_mmap: 16 (0, 57) + brk: 8 (0, 16) + newuname: 2 (0, 5) + execve: 1 (0, 227) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 716) + rt_sigprocmask: 508 (0, 341) + getpid: 1 (0, 0) + Process (2985, 2984): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 30884 + Quantity of data written to files: 9674 + Time executing process code: (0, 6916) => 0.01 % + Time running: (0, 9439) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 22) + stat64: 1 (0, 8) + write: 50 (0, 281) + select: 6 (0, 25612) + writev: 4 (0, 30) + access: 1 (0, 10) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 60) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 23) + mprotect: 6 (0, 18) + read: 68 (0, 27948) + fstat64: 8 (0, 11) + open: 12 (0, 121) + old_mmap: 18 (0, 63) + brk: 10 (0, 26) + newuname: 6 (0, 11) + execve: 1 (0, 270) + dup2: 1 (0, 3) + close: 10 (0, 45) + Process (2984, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 274 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7703) => 0.01 % + Time running: (0, 11040) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 53278) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 103) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 36) + mprotect: 7 (0, 22) + read: 7 (0, 57) + close: 9 (0, 18) + fstat64: 8 (0, 12) + open: 9 (0, 90) + old_mmap: 16 (0, 57) + brk: 8 (0, 13) + newuname: 2 (0, 6) + execve: 1 (0, 224) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 732) + rt_sigprocmask: 508 (0, 292) + getpid: 1 (0, 1) + Process (2983, 2982): gnuplot_x11: + Number of system calls: 212 + Number of traps: 237 + Quantity of data read from files: 41052 + Quantity of data written to files: 9666 + Time executing process code: (0, 6478) => 0.01 % + Time running: (0, 8852) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 2 (0, 3) + select: 8 (0, 39563) + stat64: 1 (0, 9) + write: 47 (0, 240) + writev: 4 (0, 29) + access: 1 (0, 9) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 65) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 22) + mprotect: 6 (0, 16) + read: 66 (0, 15755) + fstat64: 8 (0, 13) + open: 12 (0, 113) + old_mmap: 18 (0, 59) + brk: 10 (0, 25) + newuname: 6 (0, 10) + execve: 1 (0, 258) + dup2: 1 (0, 3) + close: 10 (0, 29) + Process (2982, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7744) => 0.01 % + Time running: (0, 11179) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 75082) + llseek: 1 (0, 2) + fcntl64: 1 (0, 1) + fork: 1 (0, 105) + pipe: 1 (0, 17) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 23) + read: 7 (0, 60) + close: 9 (0, 18) + fstat64: 8 (0, 11) + open: 9 (0, 89) + old_mmap: 16 (0, 54) + brk: 8 (0, 14) + newuname: 2 (0, 6) + execve: 1 (0, 227) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 739) + rt_sigprocmask: 508 (0, 368) + getpid: 1 (0, 1) + Process (2981, 2980): gnuplot_x11: + Number of system calls: 231 + Number of traps: 236 + Quantity of data read from files: 61604 + Quantity of data written to files: 9686 + Time executing process code: (0, 6914) => 0.01 % + Time running: (0, 9513) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 19) + stat64: 1 (0, 10) + write: 50 (0, 290) + select: 9 (0, 97514) + writev: 4 (0, 27) + access: 1 (0, 9) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 61) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 23) + mprotect: 6 (0, 19) + read: 71 (0, 377) + fstat64: 8 (0, 11) + open: 12 (0, 126) + old_mmap: 18 (0, 65) + brk: 10 (0, 28) + newuname: 6 (0, 11) + execve: 1 (0, 254) + dup2: 1 (0, 2) + close: 10 (0, 44) + Process (2980, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 274 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7955) => 0.01 % + Time running: (0, 11390) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 55) + llseek: 1 (0, 3) + fcntl64: 1 (0, 3) + fork: 1 (0, 104) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 0) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 22) + read: 7 (0, 59) + close: 9 (0, 20) + fstat64: 8 (0, 11) + open: 9 (0, 88) + old_mmap: 16 (0, 52) + brk: 8 (0, 15) + newuname: 2 (0, 6) + execve: 1 (0, 228) + ioctl: 2 (0, 20) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 765) + rt_sigprocmask: 508 (0, 308) + getpid: 1 (0, 0) + Process (2979, 2978): gnuplot_x11: + Number of system calls: 210 + Number of traps: 237 + Quantity of data read from files: 40988 + Quantity of data written to files: 9666 + Time executing process code: (0, 6550) => 0.01 % + Time running: (0, 8923) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 4 (0, 6) + select: 6 (0, 82918) + stat64: 1 (0, 9) + write: 47 (0, 242) + writev: 4 (0, 28) + access: 1 (0, 17) + fcntl64: 3 (0, 6) + socketcall: 3 (0, 68) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 24) + mprotect: 6 (0, 16) + read: 64 (0, 2268) + fstat64: 8 (0, 10) + open: 12 (0, 114) + old_mmap: 18 (0, 63) + brk: 10 (0, 25) + newuname: 6 (0, 13) + execve: 1 (0, 240) + dup2: 1 (0, 2) + close: 10 (0, 49) + Process (2978, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7832) => 0.01 % + Time running: (0, 11265) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 90779) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 105) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 21) + read: 7 (0, 61) + close: 9 (0, 17) + fstat64: 8 (0, 15) + open: 9 (0, 89) + old_mmap: 16 (0, 58) + brk: 8 (0, 16) + newuname: 2 (0, 6) + execve: 1 (0, 229) + ioctl: 2 (0, 21) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 727) + rt_sigprocmask: 508 (0, 320) + getpid: 1 (0, 0) + Process (2977, 2976): gnuplot_x11: + Number of system calls: 223 + Number of traps: 237 + Quantity of data read from files: 30876 + Quantity of data written to files: 9674 + Time executing process code: (0, 6828) => 0.01 % + Time running: (0, 9399) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 21) + select: 5 (0, 24) + stat64: 1 (0, 9) + write: 50 (0, 282) + writev: 4 (0, 29) + access: 1 (0, 11) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 66) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 24) + mprotect: 6 (0, 20) + read: 67 (0, 12163) + fstat64: 8 (0, 13) + open: 12 (0, 126) + old_mmap: 18 (0, 68) + brk: 10 (0, 26) + newuname: 6 (0, 11) + execve: 1 (0, 281) + dup2: 1 (0, 3) + close: 10 (0, 45) + Process (2976, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7700) => 0.01 % + Time running: (0, 10970) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 136193) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 103) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 33) + mprotect: 7 (0, 22) + read: 7 (0, 58) + close: 9 (0, 20) + fstat64: 8 (0, 12) + open: 9 (0, 88) + old_mmap: 16 (0, 60) + brk: 8 (0, 16) + newuname: 2 (0, 6) + execve: 1 (0, 230) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 710) + rt_sigprocmask: 508 (0, 294) + getpid: 1 (0, 1) + Process (2975, 2974): gnuplot_x11: + Number of system calls: 223 + Number of traps: 237 + Quantity of data read from files: 30876 + Quantity of data written to files: 9674 + Time executing process code: (0, 6798) => 0.01 % + Time running: (0, 9292) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 20) + select: 5 (0, 24) + stat64: 1 (0, 9) + write: 50 (0, 268) + writev: 4 (0, 29) + access: 1 (0, 9) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 63) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 22) + mprotect: 6 (0, 18) + read: 67 (0, 11962) + fstat64: 8 (0, 10) + open: 12 (0, 125) + old_mmap: 18 (0, 61) + brk: 10 (0, 22) + newuname: 6 (0, 12) + execve: 1 (0, 263) + dup2: 1 (0, 3) + close: 10 (0, 39) + Process (2974, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 274 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7736) => 0.01 % + Time running: (0, 11142) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 10092) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 103) + pipe: 1 (0, 22) + setuid: 1 (0, 1) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 33) + mprotect: 7 (0, 23) + read: 7 (0, 63) + close: 9 (0, 23) + fstat64: 8 (0, 12) + open: 9 (0, 95) + old_mmap: 16 (0, 59) + brk: 8 (0, 14) + newuname: 2 (0, 6) + execve: 1 (0, 272) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 768) + rt_sigprocmask: 508 (0, 271) + getpid: 1 (0, 1) + Process (2973, 627): gs-gnu: + Number of system calls: 22598 + Number of traps: 2501 + Quantity of data read from files: 39575101 + Quantity of data written to files: 3366983 + Time executing process code: (5, 450377) => 4.54 % + Time running: (5, 630009) => 4.69 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + writev: 1579 (0, 19795) + access: 6 (0, 53) + fcntl64: 6 (0, 6) + socketcall: 6 (0, 111) + write: 1903 (0, 22740) + llseek: 7615 (0, 14214) + stat64: 2 (0, 25) + times: 1 (0, 1) + sysctl: 1 (0, 7) + setrlimit: 1 (0, 1) + getrlimit: 1 (0, 1) + munmap: 65 (0, 522) + mprotect: 14 (0, 41) + read: 10159 (0, 71596) + close: 80 (0, 282) + fstat64: 136 (0, 179) + open: 496 (0, 2998) + old_mmap: 99 (0, 394) + brk: 397 (0, 3694) + newuname: 10 (0, 19) + execve: 1 (0, 247) + ioctl: 2 (0, 16) + setpgid: 1 (0, 1) + rt_sigaction: 10 (0, 12) + rt_sigprocmask: 4 (0, 5) + getpid: 2 (0, 1) + Process (2972, 627): gs-gnu: + Number of system calls: 22598 + Number of traps: 2501 + Quantity of data read from files: 39575101 + Quantity of data written to files: 3366983 + Time executing process code: (5, 469848) => 4.56 % + Time running: (5, 655087) => 4.71 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + writev: 1579 (0, 21512) + access: 6 (0, 54) + fcntl64: 6 (0, 6) + socketcall: 6 (0, 108) + write: 1903 (0, 24505) + llseek: 7615 (0, 14137) + stat64: 2 (0, 26) + times: 1 (0, 1) + sysctl: 1 (0, 7) + setrlimit: 1 (0, 1) + getrlimit: 1 (0, 1) + munmap: 65 (0, 504) + mprotect: 14 (0, 36) + read: 10159 (0, 70155) + close: 80 (0, 272) + fstat64: 136 (0, 165) + open: 496 (0, 2959) + old_mmap: 99 (0, 357) + brk: 397 (0, 3577) + newuname: 10 (0, 17) + execve: 1 (0, 227) + ioctl: 2 (0, 15) + setpgid: 1 (0, 1) + rt_sigaction: 10 (0, 11) + rt_sigprocmask: 4 (0, 4) + getpid: 2 (0, 2) + Process (2971, 627): getTime: + Number of system calls: 47 + Number of traps: 115 + Quantity of data read from files: 1024 + Quantity of data written to files: 14 + Time executing process code: (0, 1049) => 0.00 % + Time running: (0, 2027) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 9) + gettimeofday: 1 (0, 1) + munmap: 2 (0, 11) + mprotect: 1 (0, 5) + read: 1 (0, 7) + fstat64: 3 (0, 6) + open: 3 (0, 24) + old_mmap: 6 (0, 23) + brk: 1 (0, 1) + newuname: 1 (0, 3) + execve: 1 (0, 273) + close: 4 (0, 6) + dup2: 1 (0, 4) + setpgid: 1 (0, 13) + rt_sigaction: 13 (0, 13) + rt_sigprocmask: 5 (0, 6) + getpid: 1 (0, 0) + Process (2970, 627): expr: + Number of system calls: 54 + Number of traps: 123 + Quantity of data read from files: 1024 + Quantity of data written to files: 6 + Time executing process code: (0, 1139) => 0.00 % + Time running: (0, 2124) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 9) + munmap: 2 (0, 12) + mprotect: 1 (0, 5) + read: 1 (0, 7) + fstat64: 3 (0, 6) + open: 3 (0, 24) + old_mmap: 6 (0, 18) + brk: 4 (0, 4) + newuname: 1 (0, 3) + execve: 1 (0, 225) + stat64: 4 (0, 28) + close: 5 (0, 10) + dup2: 1 (0, 1) + setpgid: 1 (0, 11) + rt_sigaction: 13 (0, 11) + rt_sigprocmask: 5 (0, 2) + getpid: 1 (0, 1) + Process (2969, 627): getTime: + Number of system calls: 47 + Number of traps: 115 + Quantity of data read from files: 1024 + Quantity of data written to files: 14 + Time executing process code: (0, 1031) => 0.00 % + Time running: (0, 1964) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 9) + gettimeofday: 1 (0, 2) + munmap: 2 (0, 12) + mprotect: 1 (0, 5) + read: 1 (0, 7) + fstat64: 3 (0, 6) + open: 3 (0, 25) + old_mmap: 6 (0, 21) + brk: 1 (0, 1) + newuname: 1 (0, 3) + execve: 1 (0, 238) + close: 4 (0, 5) + dup2: 1 (0, 2) + setpgid: 1 (0, 11) + rt_sigaction: 13 (0, 9) + rt_sigprocmask: 5 (0, 5) + getpid: 1 (0, 1) + Process (2968, 2967): gnuplot_x11: + Number of system calls: 223 + Number of traps: 237 + Quantity of data read from files: 30876 + Quantity of data written to files: 9674 + Time executing process code: (0, 6710) => 0.01 % + Time running: (0, 9152) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 19) + select: 5 (0, 25) + stat64: 1 (0, 9) + write: 50 (0, 271) + writev: 4 (0, 29) + access: 1 (0, 10) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 66) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 21) + mprotect: 6 (0, 16) + read: 67 (0, 12104) + fstat64: 8 (0, 10) + open: 12 (0, 117) + old_mmap: 18 (0, 63) + brk: 10 (0, 27) + newuname: 6 (0, 11) + execve: 1 (0, 257) + dup2: 1 (0, 3) + close: 10 (0, 39) + Process (2967, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 274 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7680) => 0.01 % + Time running: (0, 11032) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 103966) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 106) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 36) + mprotect: 7 (0, 20) + read: 7 (0, 59) + close: 9 (0, 20) + fstat64: 8 (0, 11) + open: 9 (0, 90) + old_mmap: 16 (0, 57) + brk: 8 (0, 15) + newuname: 2 (0, 6) + execve: 1 (0, 245) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 747) + rt_sigprocmask: 508 (0, 284) + getpid: 1 (0, 1) + Process (2966, 2965): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 30908 + Quantity of data written to files: 9674 + Time executing process code: (0, 6807) => 0.01 % + Time running: (0, 9264) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 19) + select: 6 (0, 12295) + stat64: 1 (0, 9) + write: 50 (0, 274) + writev: 4 (0, 27) + access: 1 (0, 10) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 64) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 23) + mprotect: 6 (0, 19) + read: 68 (0, 12038) + fstat64: 8 (0, 9) + open: 12 (0, 119) + old_mmap: 18 (0, 61) + brk: 10 (0, 27) + newuname: 6 (0, 11) + execve: 1 (0, 247) + dup2: 1 (0, 2) + close: 10 (0, 43) + Process (2965, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7657) => 0.01 % + Time running: (0, 10951) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 119861) + llseek: 1 (0, 2) + fcntl64: 1 (0, 3) + fork: 1 (0, 106) + pipe: 1 (0, 22) + setuid: 1 (0, 2) + getuid: 1 (0, 0) + geteuid: 1 (0, 1) + munmap: 3 (0, 34) + mprotect: 7 (0, 24) + read: 7 (0, 59) + close: 9 (0, 22) + fstat64: 8 (0, 11) + open: 9 (0, 89) + old_mmap: 16 (0, 57) + brk: 8 (0, 14) + newuname: 2 (0, 6) + execve: 1 (0, 221) + ioctl: 2 (0, 23) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 725) + rt_sigprocmask: 508 (0, 295) + getpid: 1 (0, 1) + Process (2964, 2963): gnuplot_x11: + Number of system calls: 223 + Number of traps: 237 + Quantity of data read from files: 30876 + Quantity of data written to files: 9674 + Time executing process code: (0, 6717) => 0.01 % + Time running: (0, 9196) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 21) + select: 5 (0, 22) + stat64: 1 (0, 10) + write: 50 (0, 272) + writev: 4 (0, 30) + access: 1 (0, 10) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 65) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 21) + mprotect: 6 (0, 18) + read: 67 (0, 11918) + fstat64: 8 (0, 11) + open: 12 (0, 147) + old_mmap: 18 (0, 62) + brk: 10 (0, 24) + newuname: 6 (0, 12) + execve: 1 (0, 262) + dup2: 1 (0, 3) + close: 10 (0, 44) + Process (2963, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7675) => 0.01 % + Time running: (0, 10961) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 91941) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 106) + pipe: 1 (0, 21) + setuid: 1 (0, 1) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 36) + mprotect: 7 (0, 21) + read: 7 (0, 58) + close: 9 (0, 20) + fstat64: 8 (0, 11) + open: 9 (0, 91) + old_mmap: 16 (0, 53) + brk: 8 (0, 13) + newuname: 2 (0, 6) + execve: 1 (0, 208) + ioctl: 2 (0, 21) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 730) + rt_sigprocmask: 508 (0, 302) + getpid: 1 (0, 1) + Process (2962, 2961): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 30884 + Quantity of data written to files: 9674 + Time executing process code: (0, 6763) => 0.01 % + Time running: (0, 9251) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 22) + stat64: 1 (0, 9) + write: 50 (0, 281) + select: 6 (0, 27544) + writev: 4 (0, 27) + access: 1 (0, 9) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 61) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 22) + mprotect: 6 (0, 18) + read: 68 (0, 11894) + fstat64: 8 (0, 11) + open: 12 (0, 121) + old_mmap: 18 (0, 64) + brk: 10 (0, 28) + newuname: 6 (0, 12) + execve: 1 (0, 238) + dup2: 1 (0, 2) + close: 10 (0, 42) + Process (2961, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7617) => 0.01 % + Time running: (0, 10964) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 125193) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 106) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 36) + mprotect: 7 (0, 24) + read: 7 (0, 58) + close: 9 (0, 19) + fstat64: 8 (0, 10) + open: 9 (0, 91) + old_mmap: 16 (0, 58) + brk: 8 (0, 14) + newuname: 2 (0, 6) + execve: 1 (0, 216) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 722) + rt_sigprocmask: 508 (0, 346) + getpid: 1 (0, 1) + Process (2960, 2959): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 30908 + Quantity of data written to files: 9674 + Time executing process code: (0, 6885) => 0.01 % + Time running: (0, 9389) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 22) + stat64: 1 (0, 9) + select: 6 (0, 63303) + write: 50 (0, 278) + writev: 4 (0, 29) + access: 1 (0, 10) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 66) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 24) + mprotect: 6 (0, 17) + read: 68 (0, 24318) + fstat64: 8 (0, 10) + open: 12 (0, 119) + old_mmap: 18 (0, 63) + brk: 10 (0, 27) + newuname: 6 (0, 12) + execve: 1 (0, 268) + dup2: 1 (0, 3) + close: 10 (0, 42) + Process (2959, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7800) => 0.01 % + Time running: (0, 11163) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 85902) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 103) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 36) + mprotect: 7 (0, 24) + read: 7 (0, 61) + close: 9 (0, 17) + fstat64: 8 (0, 11) + open: 9 (0, 89) + old_mmap: 16 (0, 60) + brk: 8 (0, 14) + newuname: 2 (0, 6) + execve: 1 (0, 234) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 760) + rt_sigprocmask: 508 (0, 292) + getpid: 1 (0, 1) + Process (2958, 2957): gnuplot_x11: + Number of system calls: 201 + Number of traps: 235 + Quantity of data read from files: 30652 + Quantity of data written to files: 9658 + Time executing process code: (0, 6413) => 0.01 % + Time running: (0, 8838) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + select: 6 (0, 30462) + stat64: 1 (0, 8) + write: 46 (0, 242) + writev: 4 (0, 31) + access: 1 (0, 17) + fcntl64: 3 (0, 7) + socketcall: 3 (0, 64) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 25) + mprotect: 6 (0, 19) + read: 60 (0, 16474) + fstat64: 8 (0, 12) + open: 12 (0, 122) + old_mmap: 18 (0, 71) + brk: 10 (0, 21) + newuname: 6 (0, 14) + execve: 1 (0, 267) + dup2: 1 (0, 3) + close: 10 (0, 48) + Process (2957, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7705) => 0.01 % + Time running: (0, 11053) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 135013) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 105) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 0) + geteuid: 1 (0, 1) + munmap: 3 (0, 37) + mprotect: 7 (0, 21) + read: 7 (0, 59) + close: 9 (0, 20) + fstat64: 8 (0, 13) + open: 9 (0, 87) + old_mmap: 16 (0, 56) + brk: 8 (0, 16) + newuname: 2 (0, 6) + execve: 1 (0, 215) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 747) + rt_sigprocmask: 508 (0, 286) + getpid: 1 (0, 0) + Process (2956, 2955): gnuplot_x11: + Number of system calls: 223 + Number of traps: 237 + Quantity of data read from files: 30876 + Quantity of data written to files: 9674 + Time executing process code: (0, 6694) => 0.01 % + Time running: (0, 9145) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 21) + select: 5 (0, 24) + stat64: 1 (0, 8) + write: 50 (0, 268) + writev: 4 (0, 30) + access: 1 (0, 10) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 62) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 21) + mprotect: 6 (0, 18) + read: 67 (0, 15377) + fstat64: 8 (0, 11) + open: 12 (0, 119) + old_mmap: 18 (0, 62) + brk: 10 (0, 25) + newuname: 6 (0, 12) + execve: 1 (0, 261) + dup2: 1 (0, 3) + close: 10 (0, 39) + Process (2955, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7655) => 0.01 % + Time running: (0, 10959) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 61918) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 105) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 36) + mprotect: 7 (0, 23) + read: 7 (0, 58) + close: 9 (0, 16) + fstat64: 8 (0, 13) + open: 9 (0, 88) + old_mmap: 16 (0, 59) + brk: 8 (0, 16) + newuname: 2 (0, 6) + execve: 1 (0, 222) + ioctl: 2 (0, 23) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 707) + rt_sigprocmask: 508 (0, 328) + getpid: 1 (0, 0) + Process (2954, 2953): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 41116 + Quantity of data written to files: 9678 + Time executing process code: (0, 6729) => 0.01 % + Time running: (0, 9189) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 18) + select: 6 (0, 3265) + stat64: 1 (0, 8) + write: 50 (0, 276) + writev: 4 (0, 29) + access: 1 (0, 9) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 62) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 21) + mprotect: 6 (0, 15) + read: 68 (0, 10580) + fstat64: 8 (0, 12) + open: 12 (0, 114) + old_mmap: 18 (0, 56) + brk: 10 (0, 19) + newuname: 6 (0, 11) + execve: 1 (0, 258) + dup2: 1 (0, 2) + close: 10 (0, 45) + Process (2953, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7634) => 0.01 % + Time running: (0, 10959) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 60) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 101) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 59) + mprotect: 7 (0, 20) + read: 7 (0, 59) + close: 9 (0, 21) + fstat64: 8 (0, 11) + open: 9 (0, 86) + old_mmap: 16 (0, 58) + brk: 8 (0, 16) + newuname: 2 (0, 5) + execve: 1 (0, 219) + ioctl: 2 (0, 21) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 747) + rt_sigprocmask: 508 (0, 300) + getpid: 1 (0, 1) + Process (2952, 2951): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 41116 + Quantity of data written to files: 9678 + Time executing process code: (0, 6802) => 0.01 % + Time running: (0, 9348) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 21) + select: 6 (0, 9878) + stat64: 1 (0, 9) + write: 50 (0, 283) + writev: 4 (0, 28) + access: 1 (0, 10) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 65) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 24) + mprotect: 6 (0, 20) + read: 68 (0, 136044) + fstat64: 8 (0, 11) + open: 12 (0, 117) + old_mmap: 18 (0, 64) + brk: 10 (0, 25) + newuname: 6 (0, 11) + execve: 1 (0, 270) + dup2: 1 (0, 3) + close: 10 (0, 41) + Process (2951, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7700) => 0.01 % + Time running: (0, 11058) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 143270) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 104) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 0) + munmap: 3 (0, 36) + mprotect: 7 (0, 20) + read: 7 (0, 57) + close: 9 (0, 17) + fstat64: 8 (0, 10) + open: 9 (0, 85) + old_mmap: 16 (0, 58) + brk: 8 (0, 16) + newuname: 2 (0, 6) + execve: 1 (0, 214) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 725) + rt_sigprocmask: 508 (0, 310) + getpid: 1 (0, 1) + Process (2950, 2949): gnuplot_x11: + Number of system calls: 223 + Number of traps: 237 + Quantity of data read from files: 30876 + Quantity of data written to files: 9674 + Time executing process code: (0, 6797) => 0.01 % + Time running: (0, 9235) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 21) + select: 5 (0, 26) + stat64: 1 (0, 8) + write: 50 (0, 262) + writev: 4 (0, 34) + access: 1 (0, 13) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 71) + rt_sigaction: 2 (0, 3) + munmap: 2 (0, 25) + mprotect: 6 (0, 19) + read: 67 (0, 22037) + fstat64: 8 (0, 12) + open: 12 (0, 122) + old_mmap: 18 (0, 70) + brk: 10 (0, 27) + newuname: 6 (0, 13) + execve: 1 (0, 245) + dup2: 1 (0, 3) + close: 10 (0, 41) + Process (2949, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7749) => 0.01 % + Time running: (0, 10996) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 6812) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 107) + pipe: 1 (0, 23) + setuid: 1 (0, 2) + getuid: 1 (0, 0) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 21) + read: 7 (0, 62) + close: 9 (0, 19) + fstat64: 8 (0, 11) + open: 9 (0, 90) + old_mmap: 16 (0, 62) + brk: 8 (0, 14) + newuname: 2 (0, 6) + execve: 1 (0, 229) + ioctl: 2 (0, 21) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 743) + rt_sigprocmask: 508 (0, 297) + getpid: 1 (0, 1) + Process (2948, 627): gs-gnu: + Number of system calls: 22598 + Number of traps: 2501 + Quantity of data read from files: 39575101 + Quantity of data written to files: 3366983 + Time executing process code: (5, 457657) => 4.55 % + Time running: (5, 634160) => 4.70 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + writev: 1579 (0, 19957) + access: 6 (0, 50) + fcntl64: 6 (0, 6) + socketcall: 6 (0, 111) + write: 1903 (0, 23245) + llseek: 7615 (0, 13996) + stat64: 2 (0, 25) + times: 1 (0, 2) + sysctl: 1 (0, 6) + setrlimit: 1 (0, 2) + getrlimit: 1 (0, 1) + munmap: 65 (0, 498) + mprotect: 14 (0, 38) + read: 10159 (0, 71626) + close: 80 (0, 282) + fstat64: 136 (0, 172) + open: 496 (0, 2869) + old_mmap: 99 (0, 340) + brk: 397 (0, 3637) + newuname: 10 (0, 16) + execve: 1 (0, 237) + ioctl: 2 (0, 17) + setpgid: 1 (0, 1) + rt_sigaction: 10 (0, 13) + rt_sigprocmask: 4 (0, 3) + getpid: 2 (0, 2) + Process (2947, 627): gs-gnu: + Number of system calls: 22598 + Number of traps: 2501 + Quantity of data read from files: 39575101 + Quantity of data written to files: 3366983 + Time executing process code: (5, 456386) => 4.55 % + Time running: (5, 635810) => 4.70 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + writev: 1579 (0, 20419) + access: 6 (0, 56) + fcntl64: 6 (0, 6) + socketcall: 6 (0, 110) + write: 1903 (0, 23570) + llseek: 7615 (0, 14168) + stat64: 2 (0, 27) + times: 1 (0, 1) + sysctl: 1 (0, 7) + setrlimit: 1 (0, 1) + getrlimit: 1 (0, 2) + munmap: 65 (0, 510) + mprotect: 14 (0, 39) + read: 10159 (0, 71289) + close: 80 (0, 282) + fstat64: 136 (0, 174) + open: 496 (0, 2966) + old_mmap: 99 (0, 361) + brk: 397 (0, 3621) + newuname: 10 (0, 16) + execve: 1 (0, 219) + ioctl: 2 (0, 16) + setpgid: 1 (0, 0) + rt_sigaction: 10 (0, 9) + rt_sigprocmask: 4 (0, 4) + getpid: 2 (0, 2) + Process (2946, 627): getTime: + Number of system calls: 47 + Number of traps: 114 + Quantity of data read from files: 1024 + Quantity of data written to files: 14 + Time executing process code: (0, 1058) => 0.00 % + Time running: (0, 2044) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 9) + gettimeofday: 1 (0, 1) + munmap: 2 (0, 12) + mprotect: 1 (0, 5) + read: 1 (0, 7) + fstat64: 3 (0, 6) + open: 3 (0, 25) + old_mmap: 6 (0, 23) + brk: 1 (0, 1) + newuname: 1 (0, 2) + execve: 1 (0, 276) + close: 4 (0, 6) + dup2: 1 (0, 4) + setpgid: 1 (0, 12) + rt_sigaction: 13 (0, 14) + rt_sigprocmask: 5 (0, 6) + getpid: 1 (0, 1) + Process (2945, 627): expr: + Number of system calls: 54 + Number of traps: 123 + Quantity of data read from files: 1024 + Quantity of data written to files: 6 + Time executing process code: (0, 1136) => 0.00 % + Time running: (0, 2141) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 10) + munmap: 2 (0, 15) + mprotect: 1 (0, 6) + read: 1 (0, 6) + fstat64: 3 (0, 5) + open: 3 (0, 25) + old_mmap: 6 (0, 24) + brk: 4 (0, 3) + newuname: 1 (0, 3) + execve: 1 (0, 231) + stat64: 4 (0, 25) + close: 5 (0, 10) + dup2: 1 (0, 1) + setpgid: 1 (0, 11) + rt_sigaction: 13 (0, 12) + rt_sigprocmask: 5 (0, 4) + getpid: 1 (0, 0) + Process (2944, 627): getTime: + Number of system calls: 47 + Number of traps: 115 + Quantity of data read from files: 1024 + Quantity of data written to files: 14 + Time executing process code: (0, 1034) => 0.00 % + Time running: (0, 1983) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 9) + gettimeofday: 1 (0, 2) + munmap: 2 (0, 15) + mprotect: 1 (0, 6) + read: 1 (0, 7) + fstat64: 3 (0, 5) + open: 3 (0, 25) + old_mmap: 6 (0, 24) + brk: 1 (0, 1) + newuname: 1 (0, 3) + execve: 1 (0, 239) + close: 4 (0, 6) + dup2: 1 (0, 2) + setpgid: 1 (0, 11) + rt_sigaction: 13 (0, 10) + rt_sigprocmask: 5 (0, 3) + getpid: 1 (0, 1) + Process (2943, 2942): gnuplot_x11: + Number of system calls: 201 + Number of traps: 235 + Quantity of data read from files: 30652 + Quantity of data written to files: 9658 + Time executing process code: (0, 6231) => 0.01 % + Time running: (0, 8557) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + select: 6 (0, 59483) + stat64: 1 (0, 10) + write: 46 (0, 228) + writev: 4 (0, 31) + access: 1 (0, 9) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 64) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 22) + mprotect: 6 (0, 17) + read: 60 (0, 11996) + fstat64: 8 (0, 11) + open: 12 (0, 114) + old_mmap: 18 (0, 65) + brk: 10 (0, 22) + newuname: 6 (0, 11) + execve: 1 (0, 254) + dup2: 1 (0, 3) + close: 10 (0, 48) + Process (2942, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7763) => 0.01 % + Time running: (0, 11114) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 54742) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 105) + pipe: 1 (0, 20) + setuid: 1 (0, 1) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 34) + mprotect: 7 (0, 21) + read: 7 (0, 62) + close: 9 (0, 17) + fstat64: 8 (0, 10) + open: 9 (0, 90) + old_mmap: 16 (0, 59) + brk: 8 (0, 16) + newuname: 2 (0, 7) + execve: 1 (0, 230) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 734) + rt_sigprocmask: 508 (0, 299) + getpid: 1 (0, 1) + Process (2941, 2940): gnuplot_x11: + Number of system calls: 229 + Number of traps: 237 + Quantity of data read from files: 51364 + Quantity of data written to files: 9682 + Time executing process code: (0, 6831) => 0.01 % + Time running: (0, 9360) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 21) + stat64: 1 (0, 10) + write: 50 (0, 284) + select: 8 (0, 24923) + writev: 4 (0, 28) + access: 1 (0, 9) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 63) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 22) + mprotect: 6 (0, 18) + read: 70 (0, 23505) + fstat64: 8 (0, 11) + open: 12 (0, 127) + old_mmap: 18 (0, 63) + brk: 10 (0, 31) + newuname: 6 (0, 12) + execve: 1 (0, 239) + dup2: 1 (0, 2) + close: 10 (0, 42) + Process (2940, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7774) => 0.01 % + Time running: (0, 11241) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 104566) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 105) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 74) + mprotect: 7 (0, 22) + read: 7 (0, 63) + close: 9 (0, 19) + fstat64: 8 (0, 11) + open: 9 (0, 87) + old_mmap: 16 (0, 57) + brk: 8 (0, 16) + newuname: 2 (0, 6) + execve: 1 (0, 239) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 747) + rt_sigprocmask: 508 (0, 334) + getpid: 1 (0, 1) + Process (2939, 2938): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 30884 + Quantity of data written to files: 9674 + Time executing process code: (0, 6789) => 0.01 % + Time running: (0, 9361) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 17) + stat64: 1 (0, 9) + write: 50 (0, 277) + select: 6 (0, 75961) + writev: 4 (0, 26) + access: 1 (0, 10) + fcntl64: 3 (0, 6) + socketcall: 3 (0, 61) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 26) + mprotect: 6 (0, 17) + read: 68 (0, 12035) + fstat64: 8 (0, 12) + open: 12 (0, 122) + old_mmap: 18 (0, 66) + brk: 10 (0, 30) + newuname: 6 (0, 12) + execve: 1 (0, 274) + dup2: 1 (0, 3) + close: 10 (0, 40) + Process (2938, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 274 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7667) => 0.01 % + Time running: (0, 11056) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 88048) + llseek: 1 (0, 3) + fcntl64: 1 (0, 3) + fork: 1 (0, 107) + pipe: 1 (0, 21) + setuid: 1 (0, 1) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 22) + read: 7 (0, 63) + close: 9 (0, 22) + fstat64: 8 (0, 12) + open: 9 (0, 91) + old_mmap: 16 (0, 59) + brk: 8 (0, 14) + newuname: 2 (0, 6) + execve: 1 (0, 232) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 758) + rt_sigprocmask: 508 (0, 312) + getpid: 1 (0, 1) + Process (2937, 2936): gnuplot_x11: + Number of system calls: 209 + Number of traps: 237 + Quantity of data read from files: 40988 + Quantity of data written to files: 9666 + Time executing process code: (0, 6441) => 0.01 % + Time running: (0, 8835) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 2 (0, 4) + select: 7 (0, 51875) + stat64: 1 (0, 10) + write: 47 (0, 246) + writev: 4 (0, 29) + access: 1 (0, 9) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 87) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 23) + mprotect: 6 (0, 17) + read: 64 (0, 10671) + fstat64: 8 (0, 11) + open: 12 (0, 113) + old_mmap: 18 (0, 57) + brk: 10 (0, 21) + newuname: 6 (0, 11) + execve: 1 (0, 249) + dup2: 1 (0, 3) + close: 10 (0, 48) + Process (2936, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 274 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7617) => 0.01 % + Time running: (0, 10998) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 60) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 102) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 33) + mprotect: 7 (0, 20) + read: 7 (0, 60) + close: 9 (0, 17) + fstat64: 8 (0, 16) + open: 9 (0, 89) + old_mmap: 16 (0, 58) + brk: 8 (0, 16) + newuname: 2 (0, 6) + execve: 1 (0, 235) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 763) + rt_sigprocmask: 508 (0, 302) + getpid: 1 (0, 1) + Process (2935, 2934): gnuplot_x11: + Number of system calls: 227 + Number of traps: 237 + Quantity of data read from files: 41124 + Quantity of data written to files: 9678 + Time executing process code: (0, 6856) => 0.01 % + Time running: (0, 9342) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 18) + stat64: 1 (0, 10) + write: 50 (0, 277) + select: 7 (0, 24806) + writev: 4 (0, 27) + access: 1 (0, 9) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 60) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 22) + mprotect: 6 (0, 18) + read: 69 (0, 1586) + fstat64: 8 (0, 12) + open: 12 (0, 119) + old_mmap: 18 (0, 61) + brk: 10 (0, 34) + newuname: 6 (0, 12) + execve: 1 (0, 225) + dup2: 1 (0, 2) + close: 10 (0, 41) + Process (2934, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7983) => 0.01 % + Time running: (0, 11377) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 29895) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 104) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 22) + read: 7 (0, 61) + close: 9 (0, 21) + fstat64: 8 (0, 11) + open: 9 (0, 87) + old_mmap: 16 (0, 58) + brk: 8 (0, 15) + newuname: 2 (0, 5) + execve: 1 (0, 225) + ioctl: 2 (0, 23) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 768) + rt_sigprocmask: 508 (0, 278) + getpid: 1 (0, 1) + Process (2933, 2932): gnuplot_x11: + Number of system calls: 227 + Number of traps: 237 + Quantity of data read from files: 41124 + Quantity of data written to files: 9678 + Time executing process code: (0, 6977) => 0.01 % + Time running: (0, 9576) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 22) + stat64: 1 (0, 11) + write: 50 (0, 299) + select: 7 (0, 25451) + writev: 4 (0, 28) + access: 1 (0, 10) + fcntl64: 3 (0, 5) + socketcall: 3 (0, 61) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 21) + mprotect: 6 (0, 19) + read: 69 (0, 59276) + fstat64: 8 (0, 11) + open: 12 (0, 130) + old_mmap: 18 (0, 66) + brk: 10 (0, 31) + newuname: 6 (0, 13) + execve: 1 (0, 269) + dup2: 1 (0, 3) + close: 10 (0, 39) + Process (2932, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7723) => 0.01 % + Time running: (0, 11094) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 83643) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 104) + pipe: 1 (0, 21) + setuid: 1 (0, 1) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 35) + mprotect: 7 (0, 20) + read: 7 (0, 58) + close: 9 (0, 20) + fstat64: 8 (0, 11) + open: 9 (0, 90) + old_mmap: 16 (0, 58) + brk: 8 (0, 15) + newuname: 2 (0, 7) + execve: 1 (0, 227) + ioctl: 2 (0, 22) + setpgid: 1 (0, 0) + rt_sigaction: 1017 (0, 741) + rt_sigprocmask: 508 (0, 313) + getpid: 1 (0, 1) + Process (2931, 2930): gnuplot_x11: + Number of system calls: 215 + Number of traps: 237 + Quantity of data read from files: 41052 + Quantity of data written to files: 9666 + Time executing process code: (0, 6483) => 0.01 % + Time running: (0, 8825) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 6 (0, 10) + select: 7 (0, 26989) + stat64: 1 (0, 10) + write: 47 (0, 237) + writev: 4 (0, 30) + access: 1 (0, 10) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 66) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 22) + mprotect: 6 (0, 18) + read: 66 (0, 14282) + fstat64: 8 (0, 10) + open: 12 (0, 113) + old_mmap: 18 (0, 64) + brk: 10 (0, 20) + newuname: 6 (0, 11) + execve: 1 (0, 266) + dup2: 1 (0, 2) + close: 10 (0, 44) + Process (2930, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 273 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7681) => 0.01 % + Time running: (0, 10998) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 56) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 106) + pipe: 1 (0, 21) + setuid: 1 (0, 1) + getuid: 1 (0, 1) + geteuid: 1 (0, 1) + munmap: 3 (0, 36) + mprotect: 7 (0, 22) + read: 7 (0, 59) + close: 9 (0, 17) + fstat64: 8 (0, 11) + open: 9 (0, 92) + old_mmap: 16 (0, 61) + brk: 8 (0, 16) + newuname: 2 (0, 5) + execve: 1 (0, 232) + ioctl: 2 (0, 21) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 749) + rt_sigprocmask: 508 (0, 305) + getpid: 1 (0, 1) + Process (2929, 2928): gnuplot_x11: + Number of system calls: 225 + Number of traps: 237 + Quantity of data read from files: 30908 + Quantity of data written to files: 9674 + Time executing process code: (0, 6810) => 0.01 % + Time running: (0, 9293) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 20) + select: 6 (0, 4911) + stat64: 1 (0, 11) + write: 50 (0, 291) + writev: 4 (0, 30) + access: 1 (0, 9) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 67) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 24) + mprotect: 6 (0, 17) + read: 68 (0, 11326) + fstat64: 8 (0, 10) + open: 12 (0, 116) + old_mmap: 18 (0, 60) + brk: 10 (0, 26) + newuname: 6 (0, 10) + execve: 1 (0, 248) + dup2: 1 (0, 2) + close: 10 (0, 44) + Process (2928, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 274 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7701) => 0.01 % + Time running: (0, 10959) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 2053) + llseek: 1 (0, 3) + fcntl64: 1 (0, 2) + fork: 1 (0, 104) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 0) + munmap: 3 (0, 34) + mprotect: 7 (0, 22) + read: 7 (0, 59) + close: 9 (0, 20) + fstat64: 8 (0, 11) + open: 9 (0, 89) + old_mmap: 16 (0, 59) + brk: 8 (0, 15) + newuname: 2 (0, 5) + execve: 1 (0, 227) + ioctl: 2 (0, 22) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 759) + rt_sigprocmask: 508 (0, 300) + getpid: 1 (0, 1) + Process (2927, 2926): gnuplot_x11: + Number of system calls: 223 + Number of traps: 237 + Quantity of data read from files: 30876 + Quantity of data written to files: 9674 + Time executing process code: (0, 6768) => 0.01 % + Time running: (0, 9279) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 19) + select: 5 (0, 24) + stat64: 1 (0, 11) + write: 50 (0, 275) + writev: 4 (0, 29) + access: 1 (0, 10) + fcntl64: 3 (0, 4) + socketcall: 3 (0, 65) + rt_sigaction: 2 (0, 5) + munmap: 2 (0, 26) + mprotect: 6 (0, 17) + read: 67 (0, 142784) + fstat64: 8 (0, 14) + open: 12 (0, 124) + old_mmap: 18 (0, 67) + brk: 10 (0, 26) + newuname: 6 (0, 11) + execve: 1 (0, 262) + dup2: 1 (0, 3) + close: 10 (0, 43) + Process (2926, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 274 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7664) => 0.01 % + Time running: (0, 11049) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 143646) + llseek: 1 (0, 2) + fcntl64: 1 (0, 3) + fork: 1 (0, 107) + pipe: 1 (0, 21) + setuid: 1 (0, 2) + getuid: 1 (0, 1) + geteuid: 1 (0, 0) + munmap: 3 (0, 33) + mprotect: 7 (0, 22) + read: 7 (0, 62) + close: 9 (0, 17) + fstat64: 8 (0, 42) + open: 9 (0, 92) + old_mmap: 16 (0, 63) + brk: 8 (0, 18) + newuname: 2 (0, 5) + execve: 1 (0, 236) + ioctl: 2 (0, 22) + setpgid: 1 (0, 0) + rt_sigaction: 1017 (0, 752) + rt_sigprocmask: 508 (0, 297) + getpid: 1 (0, 1) + Process (2925, 2924): gnuplot_x11: + Number of system calls: 223 + Number of traps: 237 + Quantity of data read from files: 30876 + Quantity of data written to files: 9674 + Time executing process code: (0, 6696) => 0.01 % + Time running: (0, 9147) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + ioctl: 12 (0, 22) + select: 5 (0, 22) + stat64: 1 (0, 9) + write: 50 (0, 264) + writev: 4 (0, 30) + access: 1 (0, 10) + fcntl64: 3 (0, 3) + socketcall: 3 (0, 65) + rt_sigaction: 2 (0, 4) + munmap: 2 (0, 23) + mprotect: 6 (0, 17) + read: 67 (0, 22233) + fstat64: 8 (0, 10) + open: 12 (0, 126) + old_mmap: 18 (0, 65) + brk: 10 (0, 27) + newuname: 6 (0, 11) + execve: 1 (0, 273) + dup2: 1 (0, 3) + close: 10 (0, 38) + Process (2924, 627): gnuplot: + Number of system calls: 1612 + Number of traps: 274 + Quantity of data read from files: 13312 + Quantity of data written to files: 9177 + Time executing process code: (0, 7797) => 0.01 % + Time running: (0, 11161) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 5 (0, 10103) + llseek: 1 (0, 2) + fcntl64: 1 (0, 2) + fork: 1 (0, 105) + pipe: 1 (0, 20) + setuid: 1 (0, 2) + getuid: 1 (0, 0) + geteuid: 1 (0, 1) + munmap: 3 (0, 36) + mprotect: 7 (0, 24) + read: 7 (0, 62) + close: 9 (0, 19) + fstat64: 8 (0, 13) + open: 9 (0, 90) + old_mmap: 16 (0, 63) + brk: 8 (0, 13) + newuname: 2 (0, 6) + execve: 1 (0, 240) + ioctl: 2 (0, 20) + setpgid: 1 (0, 1) + rt_sigaction: 1017 (0, 744) + rt_sigprocmask: 508 (0, 296) + getpid: 1 (0, 1) + Process (2923, 627): gs-gnu: + Number of system calls: 22598 + Number of traps: 2501 + Quantity of data read from files: 39575101 + Quantity of data written to files: 3366983 + Time executing process code: (5, 439174) => 4.53 % + Time running: (5, 617980) => 4.68 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + writev: 1579 (0, 21048) + access: 6 (0, 51) + fcntl64: 6 (0, 8) + socketcall: 6 (0, 111) + write: 1903 (0, 24074) + llseek: 7615 (0, 14120) + stat64: 2 (0, 28) + times: 1 (0, 2) + sysctl: 1 (0, 6) + setrlimit: 1 (0, 1) + getrlimit: 1 (0, 1) + munmap: 65 (0, 505) + mprotect: 14 (0, 41) + read: 10159 (0, 71739) + close: 80 (0, 282) + fstat64: 136 (0, 182) + open: 496 (0, 3003) + old_mmap: 99 (0, 384) + brk: 397 (0, 3620) + newuname: 10 (0, 16) + execve: 1 (0, 257) + ioctl: 2 (0, 16) + setpgid: 1 (0, 1) + rt_sigaction: 10 (0, 11) + rt_sigprocmask: 4 (0, 3) + getpid: 2 (0, 1) + Process (2922, 627): gs-gnu: + Number of system calls: 22598 + Number of traps: 2501 + Quantity of data read from files: 39575101 + Quantity of data written to files: 3366983 + Time executing process code: (5, 455072) => 4.55 % + Time running: (5, 631611) => 4.69 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + writev: 1579 (0, 19632) + access: 6 (0, 51) + fcntl64: 6 (0, 7) + socketcall: 6 (0, 112) + write: 1903 (0, 22468) + llseek: 7615 (0, 14041) + stat64: 2 (0, 40) + times: 1 (0, 2) + sysctl: 1 (0, 6) + setrlimit: 1 (0, 1) + getrlimit: 1 (0, 1) + munmap: 65 (0, 505) + mprotect: 14 (0, 37) + read: 10159 (0, 71182) + close: 80 (0, 275) + fstat64: 136 (0, 180) + open: 496 (0, 2966) + old_mmap: 99 (0, 394) + brk: 397 (0, 3654) + newuname: 10 (0, 16) + execve: 1 (0, 227) + ioctl: 2 (0, 16) + setpgid: 1 (0, 1) + rt_sigaction: 10 (0, 11) + rt_sigprocmask: 4 (0, 4) + getpid: 2 (0, 1) + Process (2921, 627): getTime: + Number of system calls: 47 + Number of traps: 115 + Quantity of data read from files: 1024 + Quantity of data written to files: 14 + Time executing process code: (0, 1067) => 0.00 % + Time running: (0, 2051) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + write: 1 (0, 9) + gettimeofday: 1 (0, 2) + munmap: 2 (0, 11) + mprotect: 1 (0, 5) + read: 1 (0, 8) + fstat64: 3 (0, 6) + open: 3 (0, 23) + old_mmap: 6 (0, 21) + brk: 1 (0, 1) + newuname: 1 (0, 3) + execve: 1 (0, 273) + close: 4 (0, 5) + dup2: 1 (0, 3) + setpgid: 1 (0, 13) + rt_sigaction: 13 (0, 13) + rt_sigprocmask: 5 (0, 6) + getpid: 1 (0, 1) + Process (2920, 1): tracedaemon: + Number of system calls: 345 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 86000000 + Time executing process code: (0, 2240) => 0.00 % + Time running: (0, 553237) => 0.46 % + Time waiting for I/O: (0, 11970) => 0.01 % + System call usage: + pause: 86 (110, 303110) + sigreturn: 86 (0, 233) + ioctl: 86 (0, 526) + write: 86 (0, 561114) + Process (2716, 619): bash: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (627, 621): bash: + Number of system calls: 2401 + Number of traps: 1373 + Quantity of data read from files: 5885 + Quantity of data written to files: 1330 + Time executing process code: (0, 18769) => 0.02 % + Time running: (0, 49406) => 0.04 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + kill: 1 (0, 17) + stat64: 2 (0, 17) + dup2: 10 (0, 15) + getdents64: 20 (0, 121) + fcntl64: 35 (0, 58) + fstat64: 10 (0, 16) + open: 15 (0, 239) + wait4: 150 (72, 556964) + close: 50 (0, 216) + setpgid: 75 (0, 272) + fork: 75 (0, 9752) + pipe: 15 (0, 304) + read: 170 (17, 700361) + write: 66 (0, 482) + ioctl: 291 (0, 6291) + time: 8 (0, 5) + rt_sigprocmask: 1171 (0, 946) + sigreturn: 76 (0, 137) + rt_sigaction: 161 (0, 168) + Process (621, 619): bash: + Number of system calls: 97 + Number of traps: 3 + Quantity of data read from files: 3 + Quantity of data written to files: 203 + Time executing process code: (0, 562) => 0.00 % + Time running: (0, 873) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + stat64: 1 (0, 14) + time: 2 (0, 1) + sigreturn: 1 (0, 2) + wait4: 2 (90, 305040) + kill: 1 (0, 18) + rt_sigaction: 24 (0, 24) + ioctl: 13 (0, 1197) + read: 2 (0, 426115) + rt_sigprocmask: 42 (0, 38) + write: 8 (0, 55) + Process (620, 619): gnome-pty-helpe: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (619, 1): gnome-terminal: + Number of system calls: 20989 + Number of traps: 0 + Quantity of data read from files: 3290304 + Quantity of data written to files: 2154194 + Time executing process code: (1, 611475) => 1.34 % + Time running: (1, 818763) => 1.52 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + writev: 99 (0, 1942) + select: 13 (0, 83320) + write: 3063 (0, 35643) + poll: 3405 (115, 810968) + gettimeofday: 6811 (0, 6042) + ioctl: 3445 (0, 8163) + read: 4152 (0, 21946) + Process (617, 1): mixer_applet2: + Number of system calls: 1193 + Number of traps: 0 + Quantity of data read from files: 96 + Quantity of data written to files: 0 + Time executing process code: (0, 18078) => 0.02 % + Time running: (0, 30493) => 0.03 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + read: 3 (0, 22) + poll: 237 (119, 319666) + ioctl: 476 (0, 1786) + gettimeofday: 476 (0, 415) + Process (615, 613): nautilus: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (614, 613): nautilus: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (613, 611): nautilus: + Number of system calls: 120 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 3006) => 0.00 % + Time running: (0, 4023) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + poll: 59 (118, 587017) + getppid: 60 (0, 79) + Process (611, 1): nautilus: + Number of system calls: 3934 + Number of traps: 0 + Quantity of data read from files: 31936 + Quantity of data written to files: 119064 + Time executing process code: (0, 146266) => 0.12 % + Time running: (0, 177779) => 0.15 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + select: 9 (0, 27417) + write: 147 (0, 2105) + read: 545 (0, 2966) + poll: 606 (116, 315309) + ioctl: 1323 (0, 2457) + stat64: 89 (0, 1404) + gettimeofday: 1214 (0, 937) + Process (609, 1): gnome-panel: + Number of system calls: 20250 + Number of traps: 53 + Quantity of data read from files: 267656 + Quantity of data written to files: 669950 + Time executing process code: (1, 800627) => 1.50 % + Time running: (1, 935109) => 1.61 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + writev: 1 (0, 22) + brk: 17 (0, 123) + readv: 78 (0, 360) + select: 36 (0, 486025) + read: 7853 (0, 31474) + write: 4481 (0, 33018) + time: 119 (0, 104) + poll: 2005 (113, 218767) + ioctl: 1647 (0, 3816) + gettimeofday: 4012 (0, 3505) + Process (607, 1): bonobo-activati: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (604, 1): xscreensaver: + Number of system calls: 15178 + Number of traps: 21 + Quantity of data read from files: 140724 + Quantity of data written to files: 5864 + Time executing process code: (0, 117301) => 0.10 % + Time running: (0, 170689) => 0.14 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + munmap: 21 (0, 246) + close: 21 (0, 55) + llseek: 42 (0, 79) + old_mmap: 21 (0, 187) + fstat64: 21 (0, 48) + fcntl64: 21 (0, 47) + dup: 21 (0, 62) + write: 939 (0, 5071) + select: 4165 (118, 179466) + time: 95 (0, 79) + gettimeofday: 4707 (0, 3495) + read: 1896 (0, 10195) + ioctl: 3207 (0, 5517) + Process (591, 1): metacity: + Number of system calls: 45418 + Number of traps: 0 + Quantity of data read from files: 837196 + Quantity of data written to files: 689098 + Time executing process code: (0, 775787) => 0.65 % + Time running: (1, 29732) => 0.86 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + gettimeofday: 63 (0, 55) + writev: 1 (0, 28) + readv: 60 (0, 273) + select: 40 (0, 230937) + poll: 2118 (114, 466213) + write: 16239 (0, 79403) + read: 24478 (0, 94030) + ioctl: 2418 (0, 4420) + Process (589, 1): gnome-settings-: + Number of system calls: 18 + Number of traps: 0 + Quantity of data read from files: 192 + Quantity of data written to files: 24 + Time executing process code: (0, 375) => 0.00 % + Time running: (0, 557) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + poll: 2 (112, 361339) + write: 3 (0, 16) + read: 6 (0, 31) + ioctl: 6 (0, 12) + Process (587, 1): gnome-smproxy: + Number of system calls: 17197 + Number of traps: 0 + Quantity of data read from files: 167280 + Quantity of data written to files: 14160 + Time executing process code: (0, 194025) => 0.16 % + Time running: (0, 260338) => 0.22 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + readv: 60 (0, 276) + write: 660 (0, 2872) + gettimeofday: 1597 (0, 1285) + select: 6158 (118, 943289) + read: 3709 (0, 15157) + ioctl: 5012 (0, 7930) + Process (584, 1): gconfd-2: + Number of system calls: 11 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 145) => 0.00 % + Time running: (0, 263) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + poll: 1 (0, 159951) + time: 5 (0, 4) + gettimeofday: 4 (0, 1) + Process (581, 577): gnome-session: + Number of system calls: 12 + Number of traps: 0 + Quantity of data read from files: 96 + Quantity of data written to files: 0 + Time executing process code: (0, 240) => 0.00 % + Time running: (0, 425) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + poll: 2 (112, 361571) + read: 3 (0, 18) + ioctl: 6 (0, 13) + Process (578, 577): XFree86: + Number of system calls: 253693 + Number of traps: 4284 + Quantity of data read from files: 509059136 + Quantity of data written to files: 35008 + Time executing process code: (7, 584706) => 6.32 % + Time running: (11, 318284) => 9.43 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + getegid: 50 (0, 26) + geteuid: 50 (0, 43) + close: 70 (0, 1196) + fcntl64: 140 (0, 222) + socketcall: 140 (0, 1189) + munmap: 119 (0, 5821) + old_mmap: 119 (0, 1412) + rt_sigprocmask: 1650 (0, 1638) + setitimer: 6875 (0, 18961) + sigreturn: 4972 (0, 14278) + select: 73194 (111, 538333) + gettimeofday: 5945 (0, 4955) + writev: 35008 (0, 159348) + read: 125360 (0, 509895) + Process (577, 340): xinit: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (345, 1): getty: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (344, 1): getty: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (343, 1): getty: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (342, 1): getty: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (341, 1): getty: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (340, 1): bash: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (338, 1): miniserv.pl: + Number of system calls: 72 + Number of traps: 0 + Quantity of data read from files: 24576 + Quantity of data written to files: 0 + Time executing process code: (0, 2005) => 0.00 % + Time running: (0, 2494) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + select: 11 (109, 997962) + read: 24 (0, 168) + llseek: 12 (0, 42) + wait4: 12 (0, 30) + time: 12 (0, 8) + Process (337, 1): miniserv.pl: + Number of system calls: 36 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 1475) => 0.00 % + Time running: (0, 1731) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + select: 11 (109, 998630) + wait4: 12 (0, 32) + time: 12 (0, 11) + Process (331, 1): cron: + Number of system calls: 22 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 124) => 0.00 % + Time running: (0, 216) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + nanosleep: 1 (60, 9619) + rt_sigaction: 2 (0, 5) + rt_sigprocmask: 4 (0, 7) + stat64: 10 (0, 64) + time: 4 (0, 3) + Process (328, 1): atd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (326, 1): xfs: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (315, 1): sshd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (251, 1): rpc.mountd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (248, 1): nfsd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (247, 1): nfsd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (246, 1): nfsd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (245, 1): nfsd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (244, 1): nfsd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (243, 1): nfsd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (242, 1): nfsd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (241, 240): rpciod: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (240, 1): lockd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (239, 1): nfsd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (233, 1): cfd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (231, 1): cupsd: + Number of system calls: 492 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 4215) => 0.00 % + Time running: (0, 6606) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + select: 119 (118, 992494) + time: 372 (0, 253) + Process (228, 1): inetd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (213, 1): rpc.statd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (209, 1): named: + Number of system calls: 6 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 38) => 0.00 % + Time running: (0, 73) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + gettimeofday: 3 (0, 2) + rt_sigprocmask: 2 (0, 3) + Process (206, 1): klogd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (203, 1): syslogd: + Number of system calls: 20 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 102) => 0.00 % + Time running: (0, 211) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + select: 3 (89, 999467) + sigreturn: 4 (0, 5) + alarm: 4 (0, 12) + rt_sigaction: 4 (0, 11) + time: 4 (0, 3) + Process (125, 1): portmap: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (7, 1): khubd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (6, 0): kupdated: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 27491) => 0.02 % + Time waiting for I/O: (0, 31924) => 0.03 % + System call usage: + Process (5, 0): bdflush: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (4, 0): kswapd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (3, 0): ksoftirqd_CPU0: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 0) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (2, 1): keventd: + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (0, 1290) => 0.00 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + Process (1, 0): init: + Number of system calls: 515 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 2767) => 0.00 % + Time running: (0, 6464) => 0.01 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + sigreturn: 50 (0, 97) + wait4: 100 (0, 995) + select: 72 (118, 474784) + fstat64: 73 (0, 80) + stat64: 146 (0, 1260) + time: 73 (0, 68) + Process (0, -1): + Number of system calls: 0 + Number of traps: 0 + Quantity of data read from files: 0 + Quantity of data written to files: 0 + Time executing process code: (0, 0) => 0.00 % + Time running: (45, 210377) => 37.68 % + Time waiting for I/O: (0, 0) => 0.00 % + System call usage: + System-wide: + Total process time: (67, 561725) => 56.31 % + Total system time: (52, 425038) => 43.69 % + System idle: (45, 210377) => 37.68 % + System call usage: + alarm: 4 (0, 12) + nanosleep: 1 (60, 9619) + setitimer: 6875 (0, 18961) + getegid: 50 (0, 26) + dup: 21 (0, 62) + readv: 198 (0, 909) + getppid: 60 (0, 79) + poll: 8435 (922, 600801) + time: 706 (0, 539) + wait4: 276 (162, 863061) + getdents64: 20 (0, 121) + kill: 2 (0, 35) + sigreturn: 5189 (0, 14752) + pause: 86 (110, 303110) + getrlimit: 10 (0, 13) + setrlimit: 10 (0, 11) + sysctl: 10 (0, 63) + times: 10 (0, 13) + ioctl: 18512 (0, 44175) + geteuid: 100 (0, 87) + getuid: 50 (0, 42) + setuid: 50 (0, 88) + pipe: 65 (0, 1361) + fork: 125 (0, 15057) + llseek: 76254 (0, 141737) + socketcall: 350 (0, 5517) + fcntl64: 456 (0, 714) + access: 110 (0, 1024) + writev: 51099 (0, 364190) + select: 84137 (898, 435436) + gettimeofday: 24842 (0, 20708) + getpid: 85 (0, 70) + rt_sigprocmask: 28384 (0, 18256) + rt_sigaction: 51436 (0, 37697) + setpgid: 150 (0, 498) + dup2: 75 (0, 180) + close: 1956 (0, 7503) + stat64: 338 (0, 3661) + execve: 125 (0, 30517) + newuname: 515 (0, 1063) + brk: 4917 (0, 38528) + old_mmap: 2920 (0, 11776) + open: 6070 (0, 40653) + fstat64: 2309 (0, 3163) + read: 273487 (20, 610407) + mprotect: 805 (0, 2445) + munmap: 1070 (0, 14273) + write: 47436 (4, 158743) + +#################################################################### +Event Time PID Length Description +#################################################################### +Syscall exit 1,042,824,617,654,658 N/A 7 +Trap entry 1,042,824,617,654,663 N/A 13 TRAP : page fault; EIP : 0x400E6448