248,20 → 248,23 |
kern_printf("(PS:Dsp_shad:%d)",p); |
#endif |
|
TIMESPEC_ASSIGN(&ty, &schedule_time); |
TIMESPEC_ASSIGN(&lev->cap_lasttime, &schedule_time); |
if (!nostop || proc_table[exec].task_level==l) { |
TIMESPEC_ASSIGN(&ty, &schedule_time); |
TIMESPEC_ASSIGN(&lev->cap_lasttime, &schedule_time); |
|
/* ...and finally, we have to post a capacity event on exec task because the shadow_task consume |
* capacity on exe task always */ |
ADDUSEC2TIMESPEC(proc_table[exec].avail_time ,&ty); |
lev->cap_lev = kern_event_post(&ty,capacity_handler, lev); |
|
if (!nostop || proc_table[exec].task_level==l) { |
if (proc_table[p].avail_time<=proc_table[exec].avail_time) |
ADDUSEC2TIMESPEC(proc_table[p].avail_time ,&ty); |
else |
ADDUSEC2TIMESPEC(proc_table[exec].avail_time, &ty); |
|
lev->cap_lev = kern_event_post(&ty,capacity_handler, lev); |
level_table[lev->scheduling_level]->private_dispatch(lev->scheduling_level, p, nostop); |
} |
else |
level_table[proc_table[exec].task_level]->public_dispatch(proc_table[exec].task_level, p, nostop); |
|
level_table[proc_table[exec].task_level]->public_dispatch(proc_table[exec].task_level, p, nostop); |
|
} |
|
static void POSIXSTAR_public_epilogue(LEVEL l, PID p) |