[spp] [PATCH 31/57] spp_vf: use prediction keywords
x-fn-spp at sl.ntt-tx.co.jp
x-fn-spp at sl.ntt-tx.co.jp
Thu Dec 28 05:55:38 CET 2017
From: Hiroyuki Nakamura <nakamura.hioryuki at po.ntt-tx.co.jp>
* Add branch prediction keyword(likely/unlikely) according to DPDK
coding style.
* Add and modify logging procedures.
Signed-off-by: Daiki Yamashita <yamashita.daiki.z01 at as.ntt-tx.co.jp>
Signed-off-by: Yasufum Ogawa <ogawa.yasufumi at lab.ntt.co.jp>
---
src/vf/command_conn.c | 17 ++++++++++-------
src/vf/command_proc.c | 8 +++++++-
2 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/src/vf/command_conn.c b/src/vf/command_conn.c
index 98a7e27..ae60c4b 100644
--- a/src/vf/command_conn.c
+++ b/src/vf/command_conn.c
@@ -4,6 +4,7 @@
#include <errno.h>
#include <arpa/inet.h>
+#include <rte_common.h>
#include <rte_log.h>
#include <rte_branch_prediction.h>
@@ -45,7 +46,7 @@ spp_connect_to_controller(int *sock)
/* create socket */
RTE_LOG(INFO, SPP_COMMAND_PROC, "Creating socket...\n");
*sock = socket(AF_INET, SOCK_STREAM, 0);
- if (*sock < 0) {
+ if (unlikely(*sock < 0)) {
RTE_LOG(ERR, SPP_COMMAND_PROC,
"Cannot create tcp socket. errno=%d\n", errno);
return -1;
@@ -60,7 +61,7 @@ spp_connect_to_controller(int *sock)
RTE_LOG(INFO, SPP_COMMAND_PROC, "Trying to connect ... socket=%d\n", *sock);
ret = connect(*sock, (struct sockaddr *)&controller_addr,
sizeof(controller_addr));
- if (ret < 0) {
+ if (unlikely(ret < 0)) {
RTE_LOG(ERR, SPP_COMMAND_PROC,
"Cannot connect to controller. errno=%d\n", errno);
close(*sock);
@@ -89,11 +90,11 @@ spp_receive_message(int *sock, char **strbuf)
size_t rx_buf_sz = MESSAGE_BUFFER_BLOCK_SIZE;
ret = recv(*sock, rx_buf, rx_buf_sz, 0);
- if (ret <= 0) {
- if (ret == 0) {
+ if (unlikely(ret <= 0)) {
+ if (likely(ret == 0)) {
RTE_LOG(INFO, SPP_COMMAND_PROC,
"Controller has performed an shutdown.");
- } else if (errno == EAGAIN || errno == EWOULDBLOCK) {
+ } else if (likely(errno == EAGAIN || errno == EWOULDBLOCK)) {
/* no receive message */
return 0;
} else {
@@ -101,7 +102,7 @@ spp_receive_message(int *sock, char **strbuf)
"Receive failure. errno=%d\n", errno);
}
- RTE_LOG(INFO, SPP_COMMAND_PROC, "Assume Server closed connection\n");
+ RTE_LOG(INFO, SPP_COMMAND_PROC, "Assume Server closed connection.\n");
close(*sock);
*sock = -1;
return -1;
@@ -112,7 +113,9 @@ spp_receive_message(int *sock, char **strbuf)
new_strbuf = spp_strbuf_append(*strbuf, rx_buf, n_rx);
if (unlikely(new_strbuf == NULL)) {
- return -1;
+ RTE_LOG(ERR, SPP_COMMAND_PROC,
+ "Cannot allocate memory for receive data.\n");
+ rte_exit(-1, "Cannot allocate memory for receive data.\n");
}
*strbuf = new_strbuf;
diff --git a/src/vf/command_proc.c b/src/vf/command_proc.c
index f0a1e79..fafb007 100644
--- a/src/vf/command_proc.c
+++ b/src/vf/command_proc.c
@@ -404,8 +404,14 @@ spp_command_proc_do(void)
static size_t rb_cnt = 0;
static size_t lb_cnt = 0;
- if (unlikely(msgbuf == NULL))
+ if (unlikely(msgbuf == NULL)) {
msgbuf = spp_strbuf_allocate(CMD_REQ_BUF_INIT_SIZE);
+ if (unlikely(msgbuf == NULL)) {
+ RTE_LOG(ERR, SPP_COMMAND_PROC,
+ "Cannot allocate memory for receive data(init).\n");
+ rte_exit(-1, "Cannot allocate memory for receive data(init).\n");
+ }
+ }
ret = spp_connect_to_controller(&sock);
if (unlikely(ret != 0))
--
1.9.1
More information about the spp
mailing list