New upstream version 18.02
[deb_dpdk.git] / examples / performance-thread / common / lthread_mutex.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2015 Intel Corporation
3  */
4
5
6 #ifndef LTHREAD_MUTEX_H_
7 #define LTHREAD_MUTEX_H_
8
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12
13 #include "lthread_queue.h"
14
15
16 #define MAX_MUTEX_NAME_SIZE 64
17
18 struct lthread_mutex {
19         struct lthread *owner;
20         rte_atomic64_t  count;
21         struct lthread_queue *blocked __rte_cache_aligned;
22         struct lthread_sched *root_sched;
23         char                    name[MAX_MUTEX_NAME_SIZE];
24         uint64_t                diag_ref; /* optional ref to user diag data */
25 } __rte_cache_aligned;
26
27 #ifdef __cplusplus
28 }
29 #endif
30
31 #endif /* LTHREAD_MUTEX_H_ */