27,7 → 27,10 |
|
exec_cycles = (long long)(TIMESPEC2USEC(&l->exec[act])) * CALIBRATION_DELTA / cal_cycles; |
|
for (i=0;i<exec_cycles;i++) calibration_func(); |
for (i=0;i<exec_cycles;i++) |
__asm__ __volatile__ ("xorl %%eax,%%eax\n\t" |
"cpuid\n\t" |
:::"eax","ebx","ecx","edx"); |
|
generic_task_endcycle(); |
|
51,7 → 54,10 |
|
exec_cycles = (long long)(TIMESPEC2USEC(&l->exec[act])) * CALIBRATION_DELTA / cal_cycles; |
|
for (i=0;i<exec_cycles;i++) calibration_func(); |
for (i=0;i<exec_cycles;i++) |
__asm__ __volatile__ ("xorl %%eax,%%eax\n\t" |
"cpuid\n\t" |
:::"eax","ebx","ecx","edx"); |
|
generic_task_endcycle(); |
|
78,7 → 84,10 |
|
exec_cycles = (long long)(TIMESPEC2USEC(&l->exec[0])) * CALIBRATION_DELTA / cal_cycles; |
|
for (i=0;i<exec_cycles;i++) calibration_func(); |
for (i=0;i<exec_cycles;i++) |
__asm__ __volatile__ ("xorl %%eax,%%eax\n\t" |
"cpuid\n\t" |
:::"eax","ebx","ecx","edx"); |
|
act++; |
|
106,13 → 115,16 |
|
switch(current->task_type) { |
case PAR_TASK_OS: |
err = generic_create_thread(current->server,&j,NULL,oneshot_task,(void *)current,generic_get_task_model(current)); |
err = generic_create_thread(generic_get_server_from_contract(current->contract),&j,NULL, |
oneshot_task,(void *)current,generic_get_task_model(current)); |
break; |
case PAR_TASK_BT: |
err = generic_create_thread(current->server,&j,NULL,back_task,(void *)current,generic_get_task_model(current)); |
err = generic_create_thread(generic_get_server_from_contract(current->contract),&j,NULL, |
back_task,(void *)current,generic_get_task_model(current)); |
break; |
case PAR_TASK_CT: |
err = generic_create_thread(current->server,&j,NULL,periodic_task,(void *)current,generic_get_task_model(current)); |
err = generic_create_thread(generic_get_server_from_contract(current->contract),&j,NULL, |
periodic_task,(void *)current,generic_get_task_model(current)); |
break; |
} |
if (err) { |