Lines Matching refs:task
341 struct xomp_task *task = (struct xomp_task *) tid;
369 xbomp_barrier_enter_no_wait(task->barrier);
371 /* if the last worker returns, free up the task data structure */
372 task->done++;
373 if (task->done == task->total_threads) {
374 free(task);
1098 * \param task information about the task
1103 errval_t xomp_master_do_work(struct xomp_task *task)
1122 uint32_t remote_threads = xomp_master_get_remote_threads(task->total_threads);
1123 uint32_t local_threads = xomp_master_get_local_threads(task->total_threads);
1125 XMP_DEBUG("Executing task with %u workers host:%u, xphi:%ux%u]\n",
1126 task->total_threads, local_threads + 1, num_phi, remote_threads);
1130 assert((local_threads + remote_threads + 1) == task->total_threads);
1139 err = spawn_symval_lookup_addr((genvaddr_t) task->fn, &fn_idx, &fn_name);
1151 for (uint32_t i = 1; i < task->total_threads; ++i) {
1164 fn = (uint64_t) task->fn;
1193 work->fn = task->fn;
1208 if (task->arg) {
1209 uint64_t *src = task->arg;
1222 free(task);
1233 st->args.do_work.id = (uint64_t) task;