|
@@ -157,9 +157,9 @@ int _starpu_LockOrDelegatePostOrPerform(int (*func)(void*), void* data)
|
|
|
static struct LockOrDelegateListNode* dlTaskListHead = NULL;
|
|
|
|
|
|
|
|
|
-static pthread_mutex_t dlListLock = PTHREAD_MUTEX_INITIALIZER;
|
|
|
+static starpu_pthread_mutex_t dlListLock = STARPU_PTHREAD_MUTEX_INITIALIZER;
|
|
|
|
|
|
-static pthread_mutex_t dlWorkLock = PTHREAD_MUTEX_INITIALIZER;
|
|
|
+static starpu_pthread_mutex_t dlWorkLock = STARPU_PTHREAD_MUTEX_INITIALIZER;
|
|
|
|
|
|
|
|
|
* If we can perfom this task, we may also perfom all the tasks in the list
|
|
@@ -174,38 +174,32 @@ int _starpu_LockOrDelegatePostOrPerform(int (*func)(void*), void* data)
|
|
|
STARPU_ASSERT(newNode);
|
|
|
newNode->data = data;
|
|
|
newNode->func = func;
|
|
|
+ int ret;
|
|
|
|
|
|
|
|
|
- int ret = pthread_mutex_lock(&dlListLock);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK(&dlListLock);
|
|
|
newNode->next = dlTaskListHead;
|
|
|
dlTaskListHead = newNode;
|
|
|
- ret = pthread_mutex_unlock(&dlListLock);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK(&dlListLock);
|
|
|
|
|
|
|
|
|
- if((ret = pthread_mutex_trylock(&dlWorkLock)) == 0)
|
|
|
+ if((ret = STARPU_PTHREAD_MUTEX_TRYLOCK(&dlWorkLock)) == 0)
|
|
|
{
|
|
|
- ret = pthread_mutex_lock(&dlListLock);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK(&dlListLock);
|
|
|
while(dlTaskListHead != 0)
|
|
|
{
|
|
|
struct LockOrDelegateListNode* iter = dlTaskListHead;
|
|
|
dlTaskListHead = dlTaskListHead->next;
|
|
|
- ret = pthread_mutex_unlock(&dlListLock);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK(&dlListLock);
|
|
|
|
|
|
(*iter->func)(iter->data);
|
|
|
free(iter);
|
|
|
- ret = pthread_mutex_lock(&dlListLock);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK(&dlListLock);
|
|
|
}
|
|
|
|
|
|
|
|
|
- ret = pthread_mutex_unlock(&dlWorkLock);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
- ret = pthread_mutex_unlock(&dlListLock);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK(&dlWorkLock);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK(&dlListLock);
|
|
|
|
|
|
return 1;
|
|
|
}
|
|
@@ -217,7 +211,7 @@ int _starpu_LockOrDelegatePostOrPerform(int (*func)(void*), void* data)
|
|
|
|
|
|
#else
|
|
|
|
|
|
-pthread_mutex_t commute_global_mutex = PTHREAD_MUTEX_INITIALIZER;
|
|
|
+starpu_pthread_mutex_t commute_global_mutex = STARPU_PTHREAD_MUTEX_INITIALIZER;
|
|
|
|
|
|
#endif
|
|
|
|
|
@@ -254,8 +248,7 @@ int _starpu_submit_job_enforce_commute_deps(void* inData)
|
|
|
#else
|
|
|
int _submit_job_enforce_commute_deps(struct _starpu_job *j, unsigned buf, unsigned nbuffers)
|
|
|
{
|
|
|
- int ret = pthread_mutex_lock(&commute_global_mutex);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK(&commute_global_mutex);
|
|
|
#endif
|
|
|
|
|
|
const unsigned nb_non_commute_buff = buf;
|
|
@@ -332,8 +325,7 @@ int _submit_job_enforce_commute_deps(struct _starpu_job *j, unsigned buf, unsign
|
|
|
}
|
|
|
|
|
|
#ifdef NO_LOCK_OR_DELEGATE
|
|
|
- ret = pthread_mutex_unlock(&commute_global_mutex);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK(&commute_global_mutex);
|
|
|
#endif
|
|
|
return 1;
|
|
|
}
|
|
@@ -341,8 +333,7 @@ int _submit_job_enforce_commute_deps(struct _starpu_job *j, unsigned buf, unsign
|
|
|
|
|
|
_starpu_push_task(j);
|
|
|
#ifdef NO_LOCK_OR_DELEGATE
|
|
|
- ret = pthread_mutex_unlock(&commute_global_mutex);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK(&commute_global_mutex);
|
|
|
#endif
|
|
|
return 0;
|
|
|
}
|
|
@@ -354,15 +345,13 @@ int _starpu_notify_commute_dependencies(void* inData)
|
|
|
#else
|
|
|
int _starpu_notify_commute_dependencies(starpu_data_handle_t handle)
|
|
|
{
|
|
|
- int ret = pthread_mutex_lock(&commute_global_mutex);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK(&commute_global_mutex);
|
|
|
#endif
|
|
|
|
|
|
if(handle->commute_req_list == NULL)
|
|
|
{
|
|
|
#ifdef NO_LOCK_OR_DELEGATE
|
|
|
- ret = pthread_mutex_unlock(&commute_global_mutex);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK(&commute_global_mutex);
|
|
|
#endif
|
|
|
return 1;
|
|
|
}
|
|
@@ -446,8 +435,7 @@ int _starpu_notify_commute_dependencies(starpu_data_handle_t handle)
|
|
|
|
|
|
|
|
|
#ifdef NO_LOCK_OR_DELEGATE
|
|
|
- ret = pthread_mutex_unlock(&commute_global_mutex);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK(&commute_global_mutex);
|
|
|
#endif
|
|
|
|
|
|
return 0;
|
|
@@ -470,8 +458,7 @@ int _starpu_notify_commute_dependencies(starpu_data_handle_t handle)
|
|
|
}
|
|
|
|
|
|
#ifdef NO_LOCK_OR_DELEGATE
|
|
|
- ret = pthread_mutex_unlock(&commute_global_mutex);
|
|
|
- STARPU_ASSERT(ret == 0);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK(&commute_global_mutex);
|
|
|
#endif
|
|
|
return 1;
|
|
|
}
|