Commit d12efaa4 authored by Litao Jiao's avatar Litao Jiao
Browse files

net/smc: Rename 'llc_conf_mutex' variable to 'llc_conf_lock' in struct smc_link_group

sangfor inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I7809T



--------------------------------

The 'llc_conf_mutex' variable in struct smc_link_group is not a mutex struct,
so rename it to llc_conf_lock.

Signed-off-by: default avatarLitao Jiao <jiaolitao@sangfor.com.cn>
parent 7e9b1879
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -368,7 +368,7 @@ static int smcr_lgr_reg_rmbs(struct smc_link *link,
	/* protect against parallel smc_llc_cli_rkey_exchange() and
	 * parallel smcr_link_reg_rmb()
	 */
	down_write(&lgr->llc_conf_mutex);
	down_write(&lgr->llc_conf_lock);
	for (i = 0; i < SMC_LINKS_PER_LGR_MAX; i++) {
		if (!smc_link_active(&lgr->lnk[i]))
			continue;
@@ -385,7 +385,7 @@ static int smcr_lgr_reg_rmbs(struct smc_link *link,
	}
	rmb_desc->is_conf_rkey = true;
out:
	up_write(&lgr->llc_conf_mutex);
	up_write(&lgr->llc_conf_lock);
	smc_llc_flow_stop(lgr, &lgr->llc_flow_lcl);
	return rc;
}
+10 −10
Original line number Diff line number Diff line
@@ -614,10 +614,10 @@ static void smcr_buf_unuse(struct smc_buf_desc *rmb_desc,
		rc = smc_llc_flow_initiate(lgr, SMC_LLC_FLOW_RKEY);
		if (!rc) {
			/* protect against smc_llc_cli_rkey_exchange() */
			down_read(&lgr->llc_conf_mutex);
			down_read(&lgr->llc_conf_lock);
			smc_llc_do_delete_rkey(lgr, rmb_desc);
			rmb_desc->is_conf_rkey = false;
			up_read(&lgr->llc_conf_mutex);
			up_read(&lgr->llc_conf_lock);
			smc_llc_flow_stop(lgr, &lgr->llc_flow_lcl);
		}
	}
@@ -815,12 +815,12 @@ static void smc_lgr_free(struct smc_link_group *lgr)
	int i;

	if (!lgr->is_smcd) {
		down_write(&lgr->llc_conf_mutex);
		down_write(&lgr->llc_conf_lock);
		for (i = 0; i < SMC_LINKS_PER_LGR_MAX; i++) {
			if (lgr->lnk[i].state != SMC_LNK_UNUSED)
				smcr_link_clear(&lgr->lnk[i], false);
		}
		up_write(&lgr->llc_conf_mutex);
		up_write(&lgr->llc_conf_lock);
		smc_llc_lgr_clear(lgr);
	}

@@ -1143,12 +1143,12 @@ static void smcr_link_down(struct smc_link *lnk)
	} else {
		if (lgr->llc_flow_lcl.type != SMC_LLC_FLOW_NONE) {
			/* another llc task is ongoing */
			up_write(&lgr->llc_conf_mutex);
			up_write(&lgr->llc_conf_lock);
			wait_event_timeout(lgr->llc_flow_waiter,
				(list_empty(&lgr->list) ||
				 lgr->llc_flow_lcl.type == SMC_LLC_FLOW_NONE),
				SMC_LLC_WAIT_TIME);
			down_write(&lgr->llc_conf_mutex);
			down_write(&lgr->llc_conf_lock);
		}
		if (!list_empty(&lgr->list)) {
			smc_llc_send_delete_link(to_lnk, del_link_id,
@@ -1204,9 +1204,9 @@ static void smc_link_down_work(struct work_struct *work)
	if (list_empty(&lgr->list))
		return;
	wake_up_all(&lgr->llc_msg_waiter);
	down_write(&lgr->llc_conf_mutex);
	down_write(&lgr->llc_conf_lock);
	smcr_link_down(link);
	up_write(&lgr->llc_conf_mutex);
	up_write(&lgr->llc_conf_lock);
}

static int smc_vlan_by_tcpsk_walk(struct net_device *lower_dev,
@@ -1587,7 +1587,7 @@ static int smcr_buf_map_usable_links(struct smc_link_group *lgr,
	int i, rc = 0, cnt = 0;

	/* protect against parallel link reconfiguration */
	down_read(&lgr->llc_conf_mutex);
	down_read(&lgr->llc_conf_lock);
	for (i = 0; i < SMC_LINKS_PER_LGR_MAX; i++) {
		struct smc_link *lnk = &lgr->lnk[i];

@@ -1600,7 +1600,7 @@ static int smcr_buf_map_usable_links(struct smc_link_group *lgr,
		cnt++;
	}
out:
	up_read(&lgr->llc_conf_mutex);
	up_read(&lgr->llc_conf_lock);
	if (!rc && !cnt)
		rc = -EINVAL;
	return rc;
+1 −1
Original line number Diff line number Diff line
@@ -260,7 +260,7 @@ struct smc_link_group {
						/* queue for llc events */
			spinlock_t		llc_event_q_lock;
						/* protects llc_event_q */
			struct rw_semaphore	llc_conf_mutex;
			struct rw_semaphore	llc_conf_lock;
						/* protects lgr reconfig. */
			struct work_struct	llc_add_link_work;
			struct work_struct	llc_del_link_work;
+9 −9
Original line number Diff line number Diff line
@@ -978,12 +978,12 @@ static void smc_llc_process_cli_add_link(struct smc_link_group *lgr)

	qentry = smc_llc_flow_qentry_clr(&lgr->llc_flow_lcl);

	down_write(&lgr->llc_conf_mutex);
	down_write(&lgr->llc_conf_lock);
	if (smc_llc_is_local_add_link(&qentry->msg))
		smc_llc_cli_add_link_invite(qentry->link, qentry);
	else
		smc_llc_cli_add_link(qentry->link, qentry);
	up_write(&lgr->llc_conf_mutex);
	up_write(&lgr->llc_conf_lock);
}

static int smc_llc_active_link_count(struct smc_link_group *lgr)
@@ -1232,13 +1232,13 @@ static void smc_llc_process_srv_add_link(struct smc_link_group *lgr)

	smc_llc_flow_qentry_del(&lgr->llc_flow_lcl);

	down_write(&lgr->llc_conf_mutex);
	down_write(&lgr->llc_conf_lock);
	rc = smc_llc_srv_add_link(link);
	if (!rc && lgr->type == SMC_LGR_SYMMETRIC) {
		/* delete any asymmetric link */
		smc_llc_delete_asym_link(lgr);
	}
	up_write(&lgr->llc_conf_mutex);
	up_write(&lgr->llc_conf_lock);
}

/* enqueue a local add_link req to trigger a new add_link flow */
@@ -1303,7 +1303,7 @@ static void smc_llc_process_cli_delete_link(struct smc_link_group *lgr)
		smc_lgr_terminate_sched(lgr);
		goto out;
	}
	down_write(&lgr->llc_conf_mutex);
	down_write(&lgr->llc_conf_lock);
	/* delete single link */
	for (lnk_idx = 0; lnk_idx < SMC_LINKS_PER_LGR_MAX; lnk_idx++) {
		if (lgr->lnk[lnk_idx].link_id != del_llc->link_num)
@@ -1337,7 +1337,7 @@ static void smc_llc_process_cli_delete_link(struct smc_link_group *lgr)
		smc_lgr_terminate_sched(lgr);
	}
out_unlock:
	up_write(&lgr->llc_conf_mutex);
	up_write(&lgr->llc_conf_lock);
out:
	kfree(qentry);
}
@@ -1373,7 +1373,7 @@ static void smc_llc_process_srv_delete_link(struct smc_link_group *lgr)
	int active_links;
	int i;

	down_write(&lgr->llc_conf_mutex);
	down_write(&lgr->llc_conf_lock);
	qentry = smc_llc_flow_qentry_clr(&lgr->llc_flow_lcl);
	lnk = qentry->link;
	del_llc = &qentry->msg.delete_link;
@@ -1429,7 +1429,7 @@ static void smc_llc_process_srv_delete_link(struct smc_link_group *lgr)
		smc_llc_add_link_local(lnk);
	}
out:
	up_write(&lgr->llc_conf_mutex);
	up_write(&lgr->llc_conf_lock);
	kfree(qentry);
}

@@ -1786,7 +1786,7 @@ void smc_llc_lgr_init(struct smc_link_group *lgr, struct smc_sock *smc)
	spin_lock_init(&lgr->llc_flow_lock);
	init_waitqueue_head(&lgr->llc_flow_waiter);
	init_waitqueue_head(&lgr->llc_msg_waiter);
	init_rwsem(&lgr->llc_conf_mutex);
	init_rwsem(&lgr->llc_conf_lock);
	lgr->llc_testlink_time = READ_ONCE(net->ipv4.sysctl_tcp_keepalive_time);
}