Subversion Repositories shark

Compare Revisions

Regard whitespace Rev 1297 → Rev 1298

/demos/trunk/loader/loadfile/load.fsf
53,7 → 53,7
[0]:[0][3000]:[0][10000]:[0][3000]:[0][10000]:[0]:POSIX;
[1]:[0][6000]:[0][30000]:[0][6000]:[0][30000]:[0]:POSIX;
[2]:[0][3000]:[0][30000]:[0][3000]:[0][30000]:[0]:POSIX;
[3]:[0][6000]:[0][30000]:[0][6000]:[0][30000]:[0]:EDF;
[3]:[0][6000]:[0][30000]:[0][6000]:[0][30000]:[0]:POSIX;
 
END
 
68,7 → 68,7
OS:[2]:POSIX:[1]:[0][0]:[0][0]:ACT_SINGLE([5][0]):
:EXEC_CONST([1][0]):NO_CRIT;
 
CT:[3]:EDF:[10]:[1][0]:[0][100000]:ACT_PERIODIC([1][0],[1][0]):
BT:[3]:POSIX:[10]:[0][0]:[0][0]:ACT_SINGLE([6][0]):
:EXEC_CONST([0][20000]):NO_CRIT;
 
END
/demos/trunk/loader/shark/func.h
88,13 → 88,21
extern __inline__ void end_oneshot_task(void) {}
 
extern __inline__ void start_periodic_task(void) {}
extern __inline__ void start_job_periodic_task(void) {}
extern __inline__ void end_job_periodic_task(void) {}
extern __inline__ void start_job_periodic_task(void) {
task_testcancel();
}
extern __inline__ void end_job_periodic_task(void) {
task_testcancel();
}
extern __inline__ void end_periodic_task(void) {}
 
extern __inline__ void start_back_task(void) {}
extern __inline__ void start_job_back_task(void) {}
extern __inline__ void end_job_back_task(void) {}
extern __inline__ void start_job_back_task(void) {
task_testcancel();
}
extern __inline__ void end_job_back_task(void) {
task_testcancel();
}
extern __inline__ void end_back_task(void) {}
 
#endif
/demos/trunk/loader/shark/shark.c
1,5 → 1,6
#include "func.h"
#include "calibrate.h"
#include <tracer.h>
 
extern int cal_cycles;
extern struct timespec zero_time;
90,11 → 91,66
}
 
TASK finish_task() {
extern unsigned int TracerEventsPresent;
unsigned int k;
SYS_FLAGS f;
tracer_init_udp(1,"192.168.82.46","192.168.82.20");
 
tracer_create_udp_task(NULL,80);
f = kern_fsave();
k = TracerEventsPresent;
kern_frestore(f);
while(k > 0) {
f = kern_fsave();
k = TracerEventsPresent;
kern_frestore(f);
}
tracer_flush_sent_events();
sys_end();
 
return NULL;
}
 
void end_simulation() {
 
int i;
struct loader_task *l = loader_task_list;
 
NRT_TASK_MODEL nrt;
 
TRACER_LOGEVENT(FTrace_EVT_trace_stop,0,0,0);
 
tracer_disable();
 
i = 0;
while (i < total_loader_task) {
group_kill(l->group);
 
i++;
l=&loader_task_list[i];
}
 
nrt_task_default_model(nrt);
 
task_activate(task_create("Finish",finish_task,&nrt,NULL));
 
}
 
void set_simulation_time (struct timespec *total) {
struct timespec end_time;
ADDTIMESPEC(&zero_time,total,&end_time);
kern_event_post(&end_time,(void *)((void *)(sys_end)),NULL);
kern_event_post(&end_time,(void *)((void *)(end_simulation)),NULL);
 
}
 
107,6 → 163,12
 
i = 0;
 
tracer_initialize(10000000);
 
tracer_enable();
 
TRACER_LOGEVENT(FTrace_EVT_trace_start,0,0,0);
 
kern_gettime(&zero_time);
while (i < total_loader_task) {