/demos/trunk/loader/loadfile/load.fsf |
---|
1,6 → 1,6 |
# CONTRACT SECTION |
# |
# CONTRACT NUMBER:CMIN:TMAX:CMAX:TMIN:WORKLOAD:LOCAL SCHEDULER |
# CONTRACT NUMBER:CMIN:TMAX:CMAX:TMIN:WORKLOAD:DEADLINE:LOCAL SCHEDULER |
# |
# YOU WILL HAVE A SERVER FOR EACH SPECIFIED CONTRACT, |
# SO IN THE TASK SECTION YOU CAN SPECIFY THE "CONTRACT NUMBER" |
50,10 → 50,10 |
CONTRACT SECTION |
[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][3000]:[0][20000]:[0][3000]:[0][20000]:[0]:POSIX; |
[0]:[0][3000]:[0][10000]:[0][3000]:[0][10000]:[0]:[0][9000]:POSIX; |
[1]:[0][6000]:[0][30000]:[0][6000]:[0][30000]:[0]:[0][0]:POSIX; |
[2]:[0][3000]:[0][30000]:[0][3000]:[0][30000]:[0]:[0][0]:POSIX; |
[3]:[0][3000]:[0][20000]:[0][3000]:[0][20000]:[0]:[0][0]:POSIX; |
END |
/demos/trunk/loader/common/nload.h |
---|
36,6 → 36,7 |
struct timespec cmax; |
struct timespec tmin; |
int workload; |
struct timespec deadline; |
int local_scheduler; |
int server; //Server number linked to this contract |
/demos/trunk/loader/shark/fsfinit.c |
---|
12,6 → 12,7 |
struct loader_contract *c; |
fsf_contract_parameters_t contract; |
fsf_server_id_t server; |
union sigval no_sigval = {0}; |
int i; |
for (i=0;i<total_loader_contract;i++) { |
22,6 → 23,9 |
fsf_set_contract_basic_parameters(&contract,&c->cmin,&c->tmax,&c->cmax,&c->tmin,c->workload); |
if (TIMESPEC2USEC(&c->deadline) != 0) |
fsf_set_contract_timing_requirements(&contract,FALSE,&c->deadline,0,no_sigval,0,no_sigval); |
if (c->local_scheduler != PAR_POSIX) { |
switch (c->local_scheduler) { |
/demos/trunk/loader/generators/lparser.c |
---|
456,6 → 456,14 |
lc->workload = val; |
} else par_error(line_num); |
res = find_break(pbuf,PAR_TIME, &time, &val); |
if (res == PAR_FOUND) { |
#ifdef PARSER_DEBUG |
printf(",[%ld][%ld],",time.tv_sec,time.tv_nsec/1000); |
#endif |
TIMESPEC_ASSIGN(&lc->deadline,&time); |
} else par_error(line_num); |
res = find_break(pbuf,PAR_LOCAL_SCHEDULER, &time, &val); |
if (res == PAR_FOUND) { |
/demos/trunk/loader/generators/event_gen.c |
---|
102,12 → 102,14 |
file_event_header = fopen(EVENT_DEFINE,"a+"); |
if (file_event_header == NULL) return 1; |
fprintf(file_event_header, " {%d,{%d,%d},{%d,%d},{%d,%d},{%d,%d},%d,%d,-1},\n", |
fprintf(file_event_header, " {%d,{%d,%d},{%d,%d},{%d,%d},{%d,%d},%d,{%d,%d},%d,-1},\n", |
(int)c->number,(int)c->cmin.tv_sec,(int)c->cmin.tv_nsec, |
(int)c->tmax.tv_sec,(int)c->tmax.tv_nsec, |
(int)c->cmax.tv_sec,(int)c->cmax.tv_nsec, |
(int)c->tmin.tv_sec,(int)c->tmin.tv_nsec, |
(int)c->workload,(int)c->local_scheduler); |
(int)c->workload, |
(int)c->deadline.tv_sec,(int)c->deadline.tv_nsec, |
(int)c->local_scheduler); |
fclose(file_event_header); |
/demos/trunk/loader/generators/lparser.h |
---|
43,6 → 43,7 |
struct timespec cmax; |
struct timespec tmin; |
int workload; |
struct timespec deadline; |
int local_scheduler; |
struct loader_contract *next; |