@@ -814,13 +814,6 @@ static inline int ibdev_get_unused_vector(struct rds_ib_device *rds_ibdev)
814
814
return index ;
815
815
}
816
816
817
- static inline void ibdev_get_vector (struct rds_ib_device * rds_ibdev , int index )
818
- {
819
- mutex_lock (& rds_ibdev -> vector_load_lock );
820
- rds_ibdev -> vector_load [index ]++ ;
821
- mutex_unlock (& rds_ibdev -> vector_load_lock );
822
- }
823
-
824
817
static inline void ibdev_put_vector (struct rds_ib_device * rds_ibdev , int index )
825
818
{
826
819
mutex_lock (& rds_ibdev -> vector_load_lock );
@@ -840,11 +833,8 @@ static void rds_ib_check_cq(struct ib_device *dev, struct rds_ib_device *rds_ibd
840
833
struct ib_cq_init_attr cq_attr = {};
841
834
842
835
cq_attr .cqe = n ;
843
- if (* vector < 0 )
844
- * vector = ibdev_get_unused_vector (rds_ibdev );
845
- else
846
- ibdev_get_vector (rds_ibdev , * vector );
847
- cq_attr .comp_vector = * vector ;
836
+ cq_attr .comp_vector = ibdev_get_unused_vector (rds_ibdev );
837
+ * vector = cq_attr .comp_vector ;
848
838
if (!cq_attr .comp_vector )
849
839
cq_attr .comp_vector = IB_CQ_FORCE_ZERO_CV ;
850
840
* cqp = ib_create_cq (dev , comp_handler , event_handler , ctx , & cq_attr );
@@ -876,14 +866,14 @@ static void __rds_rdma_free_cq(struct rds_ib_connection *ic,
876
866
rcq = ic -> i_rcq ;
877
867
ic -> i_rcq = NULL ;
878
868
if (rcq ) {
879
- ibdev_put_vector (rds_ibdev , ic -> i_cq_vector );
869
+ ibdev_put_vector (rds_ibdev , ic -> i_rcq_vector );
880
870
ib_destroy_cq (rcq );
881
871
}
882
872
883
873
scq = ic -> i_scq ;
884
874
ic -> i_scq = NULL ;
885
875
if (scq ) {
886
- ibdev_put_vector (rds_ibdev , ic -> i_cq_vector );
876
+ ibdev_put_vector (rds_ibdev , ic -> i_scq_vector );
887
877
ib_destroy_cq (scq );
888
878
}
889
879
}
@@ -1182,7 +1172,7 @@ static int rds_ib_setup_qp(struct rds_connection *conn)
1182
1172
WARN_ON (ic -> i_scq );
1183
1173
}
1184
1174
1185
- rds_ib_check_cq (dev , rds_ibdev , & ic -> i_cq_vector , & ic -> i_scq ,
1175
+ rds_ib_check_cq (dev , rds_ibdev , & ic -> i_scq_vector , & ic -> i_scq ,
1186
1176
rds_ib_cq_comp_handler_send ,
1187
1177
rds_ib_cq_event_handler , conn ,
1188
1178
ic -> i_send_ring .w_nr + 1 + mr_reg ,
@@ -1194,7 +1184,7 @@ static int rds_ib_setup_qp(struct rds_connection *conn)
1194
1184
goto out ;
1195
1185
}
1196
1186
1197
- rds_ib_check_cq (dev , rds_ibdev , & ic -> i_cq_vector , & ic -> i_rcq ,
1187
+ rds_ib_check_cq (dev , rds_ibdev , & ic -> i_rcq_vector , & ic -> i_rcq ,
1198
1188
rds_ib_cq_comp_handler_recv ,
1199
1189
rds_ib_cq_event_handler , conn ,
1200
1190
rds_ib_srq_enabled ? rds_ib_srq_max_wr - 1 : ic -> i_recv_ring .w_nr ,
@@ -2304,7 +2294,6 @@ int rds_ib_conn_alloc(struct rds_connection *conn, gfp_t gfp)
2304
2294
list_add_tail (& ic -> ib_node , & ib_nodev_conns );
2305
2295
spin_unlock_irqrestore (& ib_nodev_conns_lock , flags );
2306
2296
2307
- ic -> i_cq_vector = -1 ;
2308
2297
ic -> i_irq_local_cpu = NR_CPUS ;
2309
2298
2310
2299
INIT_DELAYED_WORK (& ic -> i_cm_watchdog_w , rds_ib_cm_watchdog_handler );
0 commit comments