This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "".
The branch, monarch_lts has been updated via 0fcec77081fd1df2f862419b42014bbf700d9c32 (commit) from 164fc322a6bb346d6c1f545ac69501b774cc56c2 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 0fcec77081fd1df2f862419b42014bbf700d9c32 Author: Matias Elo matias.elo@nokia.com Date: Tue Jun 20 10:13:20 2017 +0300
linux-gen: socket: remove limits for maximum RX/TX burst size
backport of: 373f97f8 Remove unnecessary limits for maximum RX/TX burst size.
Fixes: https://bugs.linaro.org/show_bug.cgi?id=3039
Signed-off-by: Matias Elo matias.elo@nokia.com Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/include/odp_packet_socket.h b/platform/linux-generic/include/odp_packet_socket.h index ccff69a5..8c1012a8 100644 --- a/platform/linux-generic/include/odp_packet_socket.h +++ b/platform/linux-generic/include/odp_packet_socket.h @@ -27,11 +27,6 @@ * Packet socket config: */
-/** Max receive (Rx) burst size*/ -#define ODP_PACKET_SOCKET_MAX_BURST_RX 32 -/** Max transmit (Tx) burst size*/ -#define ODP_PACKET_SOCKET_MAX_BURST_TX 32 - /* * This makes sure that building for kernels older than 3.1 works * and a fanout requests fails (for invalid packet socket option) @@ -46,8 +41,6 @@ typedef struct { int sockfd; /**< socket descriptor */ odp_pool_t pool; /**< pool to alloc packets from */ unsigned char if_mac[ETH_ALEN]; /**< IF eth mac addr */ - uint8_t *cache_ptr[ODP_PACKET_SOCKET_MAX_BURST_RX]; - odp_shm_t shm; } pkt_sock_t;
/** packet mmap ring */ diff --git a/platform/linux-generic/pktio/socket.c b/platform/linux-generic/pktio/socket.c index 0309b0d0..624104de 100644 --- a/platform/linux-generic/pktio/socket.c +++ b/platform/linux-generic/pktio/socket.c @@ -458,8 +458,6 @@ static int sock_close(pktio_entry_t *pktio_entry) return -1; }
- odp_shm_free(pkt_sock->shm); - return 0; }
@@ -471,13 +469,11 @@ static int sock_setup_pkt(pktio_entry_t *pktio_entry, const char *netdev, { int sockfd; int err; - int i; unsigned int if_idx; struct ifreq ethreq; struct sockaddr_ll sa_ll; char shm_name[ODP_SHM_NAME_LEN]; pkt_sock_t *pkt_sock = &pktio_entry->s.pkt_sock; - uint8_t *addr; odp_pktio_stats_t cur_stats;
/* Init pktio entry */ @@ -491,18 +487,6 @@ static int sock_setup_pkt(pktio_entry_t *pktio_entry, const char *netdev, snprintf(shm_name, ODP_SHM_NAME_LEN, "%s-%s", "pktio", netdev); shm_name[ODP_SHM_NAME_LEN - 1] = '\0';
- pkt_sock->shm = odp_shm_reserve(shm_name, PACKET_JUMBO_LEN, - PACKET_JUMBO_LEN * - ODP_PACKET_SOCKET_MAX_BURST_RX, 0); - if (pkt_sock->shm == ODP_SHM_INVALID) - return -1; - - addr = odp_shm_addr(pkt_sock->shm); - for (i = 0; i < ODP_PACKET_SOCKET_MAX_BURST_RX; i++) { - pkt_sock->cache_ptr[i] = addr; - addr += PACKET_JUMBO_LEN; - } - sockfd = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); if (sockfd == -1) { __odp_errno = errno; @@ -616,15 +600,11 @@ static int sock_mmsg_recv(pktio_entry_t *pktio_entry, int index ODP_UNUSED, odp_time_t *ts = NULL; const int sockfd = pkt_sock->sockfd; int msgvec_len; - struct mmsghdr msgvec[ODP_PACKET_SOCKET_MAX_BURST_RX]; + struct mmsghdr msgvec[len]; int nb_rx = 0; int recv_msgs; - uint8_t **recv_cache; int i;
- if (odp_unlikely(len > ODP_PACKET_SOCKET_MAX_BURST_RX)) - return -1; - odp_ticketlock_lock(&pktio_entry->s.rxl);
if (pktio_entry->s.config.pktin.bit.ts_all || @@ -632,10 +612,10 @@ static int sock_mmsg_recv(pktio_entry_t *pktio_entry, int index ODP_UNUSED, ts = &ts_val;
memset(msgvec, 0, sizeof(msgvec)); - recv_cache = pkt_sock->cache_ptr;
if (pktio_cls_enabled(pktio_entry)) { - struct iovec iovecs[ODP_PACKET_SOCKET_MAX_BURST_RX]; + struct iovec iovecs[len]; + uint8_t recv_cache[len][PACKET_JUMBO_LEN];
for (i = 0; i < (int)len; i++) { msgvec[i].msg_hdr.msg_iovlen = 1; @@ -686,8 +666,7 @@ static int sock_mmsg_recv(pktio_entry_t *pktio_entry, int index ODP_UNUSED, pkt_table[nb_rx++] = pkt; } } else { - struct iovec iovecs[ODP_PACKET_SOCKET_MAX_BURST_RX] - [ODP_BUFFER_MAX_SEG]; + struct iovec iovecs[len][ODP_BUFFER_MAX_SEG];
for (i = 0; i < (int)len; i++) { pkt_table[i] = packet_alloc(pkt_sock->pool, @@ -770,15 +749,12 @@ static int sock_mmsg_send(pktio_entry_t *pktio_entry, int index ODP_UNUSED, const odp_packet_t pkt_table[], int len) { pkt_sock_t *pkt_sock = &pktio_entry->s.pkt_sock; - struct mmsghdr msgvec[ODP_PACKET_SOCKET_MAX_BURST_TX]; - struct iovec iovecs[ODP_PACKET_SOCKET_MAX_BURST_TX][ODP_BUFFER_MAX_SEG]; + struct mmsghdr msgvec[len]; + struct iovec iovecs[len][ODP_BUFFER_MAX_SEG]; int ret; int sockfd; int n, i;
- if (odp_unlikely(len > ODP_PACKET_SOCKET_MAX_BURST_TX)) - return -1; - odp_ticketlock_lock(&pktio_entry->s.txl);
sockfd = pkt_sock->sockfd;
-----------------------------------------------------------------------
Summary of changes: platform/linux-generic/include/odp_packet_socket.h | 7 ----- platform/linux-generic/pktio/socket.c | 36 ++++------------------ 2 files changed, 6 insertions(+), 37 deletions(-)
hooks/post-receive