]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/ofed/libibverbs/fixes/pthread_cond_t_fields.patch
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / ofed / libibverbs / fixes / pthread_cond_t_fields.patch
1 move  pthread_cond_t fields to the end of structs, because
2 their size changed from RHAS4 to RHAS5. In all the cases,
3 the intervening entries were not accessed outside libibverbs
4 (in non-XRC applications).
5     
6 The structs modified are: ibv_cq, ibv_srq, and ibv_qp.
7 (OFED 1.3 libibverbs commit 4c29c266a3c0932cd06e8f2b4e238aecd3c65dcc)
8     
9 Pointed out by:  Changqing Tang <changquing.tang@hp.com>
10     
11 Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
12
13 Index: libibverbs/include/infiniband/verbs.h
14 ===================================================================
15 --- libibverbs.orig/include/infiniband/verbs.h  2009-11-01 15:18:24.585280000 +0200
16 +++ libibverbs/include/infiniband/verbs.h       2009-11-01 15:18:28.759417000 +0200
17 @@ -565,13 +565,14 @@ struct ibv_srq {
18         struct ibv_pd          *pd;
19         uint32_t                handle;
20  
21 -       pthread_mutex_t         mutex;
22 -       pthread_cond_t          cond;
23         uint32_t                events_completed;
24  
25         uint32_t                xrc_srq_num;
26         struct ibv_xrc_domain  *xrc_domain;
27         struct ibv_cq          *xrc_cq;
28 +
29 +       pthread_mutex_t         mutex;
30 +       pthread_cond_t          cond;
31  };
32  
33  struct ibv_qp {
34 @@ -586,11 +587,12 @@ struct ibv_qp {
35         enum ibv_qp_state       state;
36         enum ibv_qp_type        qp_type;
37  
38 -       pthread_mutex_t         mutex;
39 -       pthread_cond_t          cond;
40         uint32_t                events_completed;
41  
42         struct ibv_xrc_domain  *xrc_domain;
43 +
44 +       pthread_mutex_t         mutex;
45 +       pthread_cond_t          cond;
46  };
47  
48  struct ibv_comp_channel {
49 @@ -606,10 +608,11 @@ struct ibv_cq {
50         uint32_t                handle;
51         int                     cqe;
52  
53 -       pthread_mutex_t         mutex;
54 -       pthread_cond_t          cond;
55         uint32_t                comp_events_completed;
56         uint32_t                async_events_completed;
57 +
58 +       pthread_mutex_t         mutex;
59 +       pthread_cond_t          cond;
60  };
61  
62  struct ibv_ah {