svn commit: r347317 - head/sys/dev/mlx5/mlx5_en
Hans Petter Selasky
hselasky at FreeBSD.org
Wed May 8 11:06:43 UTC 2019
Author: hselasky
Date: Wed May 8 11:06:42 2019
New Revision: 347317
URL: https://svnweb.freebsd.org/changeset/base/347317
Log:
Remove non-functional MLX5E_MAX_RX_SEGS macro in mlx5en(4).
MFC after: 3 days
Sponsored by: Mellanox Technologies
Modified:
head/sys/dev/mlx5/mlx5_en/en.h
head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
head/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c
Modified: head/sys/dev/mlx5/mlx5_en/en.h
==============================================================================
--- head/sys/dev/mlx5/mlx5_en/en.h Wed May 8 11:06:22 2019 (r347316)
+++ head/sys/dev/mlx5/mlx5_en/en.h Wed May 8 11:06:42 2019 (r347317)
@@ -89,19 +89,13 @@
#define MLX5E_MAX_BUSDMA_RX_SEGS 15
-#define MLX5E_MAX_RX_SEGS 7
-
#ifndef MLX5E_MAX_RX_BYTES
#define MLX5E_MAX_RX_BYTES MCLBYTES
#endif
-#if (MLX5E_MAX_RX_SEGS == 1)
-/* FreeBSD HW LRO is limited by 16KB - the size of max mbuf */
-#define MLX5E_PARAMS_DEFAULT_LRO_WQE_SZ MJUM16BYTES
-#else
#define MLX5E_PARAMS_DEFAULT_LRO_WQE_SZ \
- MIN(65535, MLX5E_MAX_RX_SEGS * MLX5E_MAX_RX_BYTES)
-#endif
+ MIN(65535, 7 * MLX5E_MAX_RX_BYTES)
+
#define MLX5E_DIM_DEFAULT_PROFILE 3
#define MLX5E_DIM_MAX_RX_CQ_MODERATION_PKTS_WITH_LRO 16
#define MLX5E_PARAMS_DEFAULT_RX_CQ_MODERATION_USEC 0x10
Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
==============================================================================
--- head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Wed May 8 11:06:22 2019 (r347316)
+++ head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Wed May 8 11:06:42 2019 (r347317)
@@ -1253,11 +1253,7 @@ mlx5e_create_rq(struct mlx5e_channel *c,
rq->mbuf = malloc(wq_sz * sizeof(rq->mbuf[0]), M_MLX5EN, M_WAITOK | M_ZERO);
for (i = 0; i != wq_sz; i++) {
struct mlx5e_rx_wqe *wqe = mlx5_wq_ll_get_wqe(&rq->wq, i);
-#if (MLX5E_MAX_RX_SEGS == 1)
- uint32_t byte_count = rq->wqe_sz - MLX5E_NET_IP_ALIGN;
-#else
int j;
-#endif
err = -bus_dmamap_create(rq->dma_tag, 0, &rq->mbuf[i].dma_map);
if (err != 0) {
@@ -1267,13 +1263,8 @@ mlx5e_create_rq(struct mlx5e_channel *c,
}
/* set value for constant fields */
-#if (MLX5E_MAX_RX_SEGS == 1)
- wqe->data[0].lkey = c->mkey_be;
- wqe->data[0].byte_count = cpu_to_be32(byte_count | MLX5_HW_START_PADDING);
-#else
for (j = 0; j < rq->nsegs; j++)
wqe->data[j].lkey = c->mkey_be;
-#endif
}
INIT_WORK(&rq->dim.work, mlx5e_dim_work);
Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c
==============================================================================
--- head/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c Wed May 8 11:06:22 2019 (r347316)
+++ head/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c Wed May 8 11:06:42 2019 (r347317)
@@ -36,20 +36,12 @@ mlx5e_alloc_rx_wqe(struct mlx5e_rq *rq,
struct mbuf *mb;
int nsegs;
int err;
-#if (MLX5E_MAX_RX_SEGS != 1)
struct mbuf *mb_head;
int i;
-#endif
+
if (rq->mbuf[ix].mbuf != NULL)
return (0);
-#if (MLX5E_MAX_RX_SEGS == 1)
- mb = m_getjcl(M_NOWAIT, MT_DATA, M_PKTHDR, rq->wqe_sz);
- if (unlikely(!mb))
- return (-ENOMEM);
-
- mb->m_pkthdr.len = mb->m_len = rq->wqe_sz;
-#else
mb_head = mb = m_getjcl(M_NOWAIT, MT_DATA, M_PKTHDR,
MLX5E_MAX_RX_BYTES);
if (unlikely(mb == NULL))
@@ -72,7 +64,7 @@ mlx5e_alloc_rx_wqe(struct mlx5e_rq *rq,
}
/* rewind to first mbuf in chain */
mb = mb_head;
-#endif
+
/* get IP header aligned */
m_adj(mb, MLX5E_NET_IP_ALIGN);
@@ -85,10 +77,7 @@ mlx5e_alloc_rx_wqe(struct mlx5e_rq *rq,
err = -ENOMEM;
goto err_free_mbuf;
}
-#if (MLX5E_MAX_RX_SEGS == 1)
wqe->data[0].addr = cpu_to_be64(segs[0].ds_addr);
-#else
- wqe->data[0].addr = cpu_to_be64(segs[0].ds_addr);
wqe->data[0].byte_count = cpu_to_be32(segs[0].ds_len |
MLX5_HW_START_PADDING);
for (i = 1; i != nsegs; i++) {
@@ -99,7 +88,6 @@ mlx5e_alloc_rx_wqe(struct mlx5e_rq *rq,
wqe->data[i].addr = 0;
wqe->data[i].byte_count = 0;
}
-#endif
rq->mbuf[ix].mbuf = mb;
rq->mbuf[ix].data = mb->m_data;
@@ -257,9 +245,7 @@ mlx5e_build_rx_mbuf(struct mlx5_cqe64 *cqe,
{
struct ifnet *ifp = rq->ifp;
struct mlx5e_channel *c;
-#if (MLX5E_MAX_RX_SEGS != 1)
struct mbuf *mb_head;
-#endif
int lro_num_seg; /* HW LRO session aggregated packets counter */
uint64_t tstmp;
@@ -270,9 +256,6 @@ mlx5e_build_rx_mbuf(struct mlx5_cqe64 *cqe,
rq->stats.lro_bytes += cqe_bcnt;
}
-#if (MLX5E_MAX_RX_SEGS == 1)
- mb->m_pkthdr.len = mb->m_len = cqe_bcnt;
-#else
mb->m_pkthdr.len = cqe_bcnt;
for (mb_head = mb; mb != NULL; mb = mb->m_next) {
if (mb->m_len > cqe_bcnt)
@@ -289,7 +272,7 @@ mlx5e_build_rx_mbuf(struct mlx5_cqe64 *cqe,
}
/* rewind to first mbuf in chain */
mb = mb_head;
-#endif
+
/* check if a Toeplitz hash was computed */
if (cqe->rss_hash_type != 0) {
mb->m_pkthdr.flowid = be32_to_cpu(cqe->rss_hash_result);
@@ -508,10 +491,8 @@ mlx5e_poll_rx_cq(struct mlx5e_rq *rq, int budget)
}
if ((MHLEN - MLX5E_NET_IP_ALIGN) >= byte_cnt &&
(mb = m_gethdr(M_NOWAIT, MT_DATA)) != NULL) {
-#if (MLX5E_MAX_RX_SEGS != 1)
/* set maximum mbuf length */
mb->m_len = MHLEN - MLX5E_NET_IP_ALIGN;
-#endif
/* get IP header aligned */
mb->m_data += MLX5E_NET_IP_ALIGN;
More information about the svn-src-all
mailing list