[LLC]: Use some more likely/unlikely
Signed-off-by: Jochen Friedrich <jochen@scram.de> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
This commit is contained in:
Родитель
590232a715
Коммит
249ff1c6d3
|
@ -116,12 +116,12 @@ static int llc_ui_send_data(struct sock* sk, struct sk_buff *skb, int noblock)
|
|||
struct llc_sock* llc = llc_sk(sk);
|
||||
int rc = 0;
|
||||
|
||||
if (llc_data_accept_state(llc->state) || llc->p_flag) {
|
||||
if (unlikely(llc_data_accept_state(llc->state) || llc->p_flag)) {
|
||||
long timeout = sock_sndtimeo(sk, noblock);
|
||||
|
||||
rc = llc_ui_wait_for_busy_core(sk, timeout);
|
||||
}
|
||||
if (!rc)
|
||||
if (unlikely(!rc))
|
||||
rc = llc_build_and_send_pkt(sk, skb);
|
||||
return rc;
|
||||
}
|
||||
|
@ -762,15 +762,13 @@ static int llc_ui_sendmsg(struct kiocb *iocb, struct socket *sock,
|
|||
if (!(sk->sk_type == SOCK_STREAM && !addr->sllc_ua))
|
||||
goto out;
|
||||
rc = llc_ui_send_data(sk, skb, noblock);
|
||||
if (rc)
|
||||
dprintk("%s: llc_ui_send_data failed: %d\n", __FUNCTION__, rc);
|
||||
out:
|
||||
if (rc)
|
||||
if (rc) {
|
||||
kfree_skb(skb);
|
||||
release:
|
||||
if (rc)
|
||||
dprintk("%s: failed sending from %02X to %02X: %d\n",
|
||||
__FUNCTION__, llc->laddr.lsap, llc->daddr.lsap, rc);
|
||||
}
|
||||
release_sock(sk);
|
||||
return rc ? : copied;
|
||||
}
|
||||
|
|
|
@ -221,7 +221,7 @@ int llc_conn_ac_send_disc_cmd_p_set_x(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_CMD);
|
||||
llc_pdu_init_as_disc_cmd(nskb, 1);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
llc_conn_ac_set_p_flag_1(sk, skb);
|
||||
|
@ -248,7 +248,7 @@ int llc_conn_ac_send_dm_rsp_f_set_p(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_dm_rsp(nskb, f_bit);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -272,7 +272,7 @@ int llc_conn_ac_send_dm_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_dm_rsp(nskb, 1);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -305,7 +305,7 @@ int llc_conn_ac_send_frmr_rsp_f_set_x(struct sock *sk, struct sk_buff *skb)
|
|||
llc_pdu_init_as_frmr_rsp(nskb, pdu, f_bit, llc->vS,
|
||||
llc->vR, INCORRECT);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -331,7 +331,7 @@ int llc_conn_ac_resend_frmr_rsp_f_set_0(struct sock *sk, struct sk_buff *skb)
|
|||
llc_pdu_init_as_frmr_rsp(nskb, pdu, 0, llc->vS,
|
||||
llc->vR, INCORRECT);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -360,7 +360,7 @@ int llc_conn_ac_resend_frmr_rsp_f_set_p(struct sock *sk, struct sk_buff *skb)
|
|||
llc_pdu_init_as_frmr_rsp(nskb, pdu, f_bit, llc->vS,
|
||||
llc->vR, INCORRECT);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -381,7 +381,7 @@ int llc_conn_ac_send_i_cmd_p_set_1(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_CMD);
|
||||
llc_pdu_init_as_i_cmd(skb, 1, llc->vS, llc->vR);
|
||||
rc = llc_mac_hdr_init(skb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (!rc) {
|
||||
if (likely(!rc)) {
|
||||
llc_conn_send_pdu(sk, skb);
|
||||
llc_conn_ac_inc_vs_by_1(sk, skb);
|
||||
}
|
||||
|
@ -398,7 +398,7 @@ static int llc_conn_ac_send_i_cmd_p_set_0(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_CMD);
|
||||
llc_pdu_init_as_i_cmd(skb, 0, llc->vS, llc->vR);
|
||||
rc = llc_mac_hdr_init(skb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (!rc) {
|
||||
if (likely(!rc)) {
|
||||
llc_conn_send_pdu(sk, skb);
|
||||
llc_conn_ac_inc_vs_by_1(sk, skb);
|
||||
}
|
||||
|
@ -415,7 +415,7 @@ int llc_conn_ac_send_i_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_CMD);
|
||||
llc_pdu_init_as_i_cmd(skb, 0, llc->vS, llc->vR);
|
||||
rc = llc_mac_hdr_init(skb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (!rc) {
|
||||
if (likely(!rc)) {
|
||||
llc_conn_send_pdu(sk, skb);
|
||||
llc_conn_ac_inc_vs_by_1(sk, skb);
|
||||
}
|
||||
|
@ -447,7 +447,7 @@ int llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr(struct sock *sk,
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_rr_rsp(nskb, 0, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (!rc)
|
||||
if (likely(!rc))
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
else
|
||||
kfree_skb(skb);
|
||||
|
@ -482,7 +482,7 @@ int llc_conn_ac_send_rej_cmd_p_set_1(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_CMD);
|
||||
llc_pdu_init_as_rej_cmd(nskb, 1, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -506,7 +506,7 @@ int llc_conn_ac_send_rej_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_rej_rsp(nskb, 1, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -530,7 +530,7 @@ int llc_conn_ac_send_rej_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_rej_rsp(nskb, 0, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -554,7 +554,7 @@ int llc_conn_ac_send_rnr_cmd_p_set_1(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_CMD);
|
||||
llc_pdu_init_as_rnr_cmd(nskb, 1, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -578,7 +578,7 @@ int llc_conn_ac_send_rnr_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_rnr_rsp(nskb, 1, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -602,7 +602,7 @@ int llc_conn_ac_send_rnr_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_rnr_rsp(nskb, 0, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -638,7 +638,7 @@ int llc_conn_ac_opt_send_rnr_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_rnr_rsp(nskb, 0, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -662,7 +662,7 @@ int llc_conn_ac_send_rr_cmd_p_set_1(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_CMD);
|
||||
llc_pdu_init_as_rr_cmd(nskb, 1, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -687,7 +687,7 @@ int llc_conn_ac_send_rr_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_rr_rsp(nskb, f_bit, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -711,7 +711,7 @@ int llc_conn_ac_send_ack_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_rr_rsp(nskb, 1, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -735,7 +735,7 @@ int llc_conn_ac_send_rr_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_rr_rsp(nskb, 0, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -759,7 +759,7 @@ int llc_conn_ac_send_ack_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_rr_rsp(nskb, 0, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -796,7 +796,7 @@ int llc_conn_ac_send_sabme_cmd_p_set_x(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_CMD);
|
||||
llc_pdu_init_as_sabme_cmd(nskb, 1);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, dmac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
llc_conn_set_p_flag(sk, 1);
|
||||
|
@ -824,7 +824,7 @@ int llc_conn_ac_send_ua_rsp_f_set_p(struct sock *sk, struct sk_buff *skb)
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_ua_rsp(nskb, f_bit);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
@ -924,7 +924,7 @@ static int llc_conn_ac_send_i_rsp_f_set_ackpf(struct sock *sk,
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_i_cmd(skb, llc->ack_pf, llc->vS, llc->vR);
|
||||
rc = llc_mac_hdr_init(skb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (!rc) {
|
||||
if (likely(!rc)) {
|
||||
llc_conn_send_pdu(sk, skb);
|
||||
llc_conn_ac_inc_vs_by_1(sk, skb);
|
||||
}
|
||||
|
@ -978,7 +978,7 @@ static int llc_conn_ac_send_rr_rsp_f_set_ackpf(struct sock *sk,
|
|||
llc->daddr.lsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_rr_rsp(nskb, llc->ack_pf, llc->vR);
|
||||
rc = llc_mac_hdr_init(nskb, llc->dev->dev_addr, llc->daddr.mac);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_conn_send_pdu(sk, nskb);
|
||||
}
|
||||
|
|
|
@ -47,14 +47,11 @@ int llc_build_and_send_pkt(struct sock *sk, struct sk_buff *skb)
|
|||
int rc = -ECONNABORTED;
|
||||
struct llc_sock *llc = llc_sk(sk);
|
||||
|
||||
if (llc->state == LLC_CONN_STATE_ADM)
|
||||
if (unlikely(llc->state == LLC_CONN_STATE_ADM))
|
||||
goto out;
|
||||
rc = -EBUSY;
|
||||
if (llc_data_accept_state(llc->state)) { /* data_conn_refuse */
|
||||
llc->failed_data_req = 1;
|
||||
goto out;
|
||||
}
|
||||
if (llc->p_flag) {
|
||||
if (unlikely(llc_data_accept_state(llc->state) || /* data_conn_refuse */
|
||||
llc->p_flag)) {
|
||||
llc->failed_data_req = 1;
|
||||
goto out;
|
||||
}
|
||||
|
|
|
@ -98,7 +98,7 @@ int llc_build_and_send_ui_pkt(struct llc_sap *sap, struct sk_buff *skb,
|
|||
dsap, LLC_PDU_CMD);
|
||||
llc_pdu_init_as_ui_cmd(skb);
|
||||
rc = llc_mac_hdr_init(skb, skb->dev->dev_addr, dmac);
|
||||
if (!rc)
|
||||
if (likely(!rc))
|
||||
rc = dev_queue_xmit(skb);
|
||||
return rc;
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ int llc_sap_action_send_ui(struct llc_sap *sap, struct sk_buff *skb)
|
|||
ev->daddr.lsap, LLC_PDU_CMD);
|
||||
llc_pdu_init_as_ui_cmd(skb);
|
||||
rc = llc_mac_hdr_init(skb, ev->saddr.mac, ev->daddr.mac);
|
||||
if (!rc)
|
||||
if (likely(!rc))
|
||||
rc = dev_queue_xmit(skb);
|
||||
return rc;
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ int llc_sap_action_send_xid_c(struct llc_sap *sap, struct sk_buff *skb)
|
|||
ev->daddr.lsap, LLC_PDU_CMD);
|
||||
llc_pdu_init_as_xid_cmd(skb, LLC_XID_NULL_CLASS_2, 0);
|
||||
rc = llc_mac_hdr_init(skb, ev->saddr.mac, ev->daddr.mac);
|
||||
if (!rc)
|
||||
if (likely(!rc))
|
||||
rc = dev_queue_xmit(skb);
|
||||
return rc;
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ int llc_sap_action_send_xid_r(struct llc_sap *sap, struct sk_buff *skb)
|
|||
LLC_PDU_RSP);
|
||||
llc_pdu_init_as_xid_rsp(nskb, LLC_XID_NULL_CLASS_2, 0);
|
||||
rc = llc_mac_hdr_init(nskb, mac_sa, mac_da);
|
||||
if (!rc)
|
||||
if (likely(!rc))
|
||||
rc = dev_queue_xmit(nskb);
|
||||
out:
|
||||
return rc;
|
||||
|
@ -134,7 +134,7 @@ int llc_sap_action_send_test_c(struct llc_sap *sap, struct sk_buff *skb)
|
|||
ev->daddr.lsap, LLC_PDU_CMD);
|
||||
llc_pdu_init_as_test_cmd(skb);
|
||||
rc = llc_mac_hdr_init(skb, ev->saddr.mac, ev->daddr.mac);
|
||||
if (!rc)
|
||||
if (likely(!rc))
|
||||
rc = dev_queue_xmit(skb);
|
||||
return rc;
|
||||
}
|
||||
|
@ -155,7 +155,7 @@ int llc_sap_action_send_test_r(struct llc_sap *sap, struct sk_buff *skb)
|
|||
LLC_PDU_RSP);
|
||||
llc_pdu_init_as_test_rsp(nskb, skb);
|
||||
rc = llc_mac_hdr_init(nskb, mac_sa, mac_da);
|
||||
if (!rc)
|
||||
if (likely(!rc))
|
||||
rc = dev_queue_xmit(nskb);
|
||||
out:
|
||||
return rc;
|
||||
|
|
|
@ -261,7 +261,7 @@ static int llc_station_ac_send_null_dsap_xid_c(struct sk_buff *skb)
|
|||
llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, 0, 0, LLC_PDU_CMD);
|
||||
llc_pdu_init_as_xid_cmd(nskb, LLC_XID_NULL_CLASS_2, 127);
|
||||
rc = llc_mac_hdr_init(nskb, llc_station_mac_sa, llc_station_mac_sa);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_station_send_pdu(nskb);
|
||||
out:
|
||||
|
@ -285,7 +285,7 @@ static int llc_station_ac_send_xid_r(struct sk_buff *skb)
|
|||
llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, 0, dsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_xid_rsp(nskb, LLC_XID_NULL_CLASS_2, 127);
|
||||
rc = llc_mac_hdr_init(nskb, llc_station_mac_sa, mac_da);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_station_send_pdu(nskb);
|
||||
out:
|
||||
|
@ -309,7 +309,7 @@ static int llc_station_ac_send_test_r(struct sk_buff *skb)
|
|||
llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, 0, dsap, LLC_PDU_RSP);
|
||||
llc_pdu_init_as_test_rsp(nskb, skb);
|
||||
rc = llc_mac_hdr_init(nskb, llc_station_mac_sa, mac_da);
|
||||
if (rc)
|
||||
if (unlikely(rc))
|
||||
goto free;
|
||||
llc_station_send_pdu(nskb);
|
||||
out:
|
||||
|
|
Загрузка…
Ссылка в новой задаче