From: "Mattias Rönnblom" <hofors@lysator.liu.se>
To: Xiaolong Ye <xiaolong.ye@intel.com>, dev@dpdk.org
Cc: Qi Zhang <qi.z.zhang@intel.com>,
Karlsson Magnus <magnus.karlsson@intel.com>,
Topel Bjorn <bjorn.topel@intel.com>
Subject: Re: [dpdk-dev] [PATCH v2 5/6] net/af_xdp: enable zero copy
Date: Tue, 19 Mar 2019 09:12:59 +0100 [thread overview]
Message-ID: <6b786b77-f9b6-cb0b-634b-701e92a1c3a2@lysator.liu.se> (raw)
Message-ID: <20190319081259.2oRXGI_UgwVoBtMdYnYSfFJi68G9dMT8lLaEUydo7sc@z> (raw)
In-Reply-To: <20190319071256.26302-6-xiaolong.ye@intel.com>
On 2019-03-19 08:12, Xiaolong Ye wrote:
> Try to check if external mempool (from rx_queue_setup) is fit for
> af_xdp, if it is, it will be registered to af_xdp socket directly and
> there will be no packet data copy on Rx and Tx.
>
> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
> ---
> drivers/net/af_xdp/rte_eth_af_xdp.c | 128 ++++++++++++++++++++--------
> 1 file changed, 91 insertions(+), 37 deletions(-)
>
> diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c
> index fc60cb5c5..c22791e51 100644
> --- a/drivers/net/af_xdp/rte_eth_af_xdp.c
> +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c
> @@ -62,6 +62,7 @@ struct xsk_umem_info {
> struct xsk_umem *umem;
> struct rte_mempool *mb_pool;
> void *buffer;
> + uint8_t zc;
> };
>
> struct pkt_rx_queue {
> @@ -76,6 +77,7 @@ struct pkt_rx_queue {
>
> struct pkt_tx_queue *pair;
> uint16_t queue_idx;
> + uint8_t zc;
> };
>
> struct pkt_tx_queue {
> @@ -191,17 +193,24 @@ eth_af_xdp_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
> uint32_t len = xsk_ring_cons__rx_desc(rx, idx_rx++)->len;
> char *pkt = xsk_umem__get_data(rxq->umem->buffer, addr);
>
> - mbuf = rte_pktmbuf_alloc(rxq->mb_pool);
> - if (mbuf) {
> - memcpy(rte_pktmbuf_mtod(mbuf, void*), pkt, len);
> + if (rxq->zc) {
> + mbuf = addr_to_mbuf(rxq->umem, addr);
> rte_pktmbuf_pkt_len(mbuf) =
> rte_pktmbuf_data_len(mbuf) = len;
> - rx_bytes += len;
> bufs[count++] = mbuf;
> } else {
> - dropped++;
> + mbuf = rte_pktmbuf_alloc(rxq->mb_pool);
> + if (mbuf) {
if (likely(mbuf != NULL))
> + memcpy(rte_pktmbuf_mtod(mbuf, void*), pkt, len);
Use rte_memcpy.
> + rte_pktmbuf_pkt_len(mbuf) =
> + rte_pktmbuf_data_len(mbuf) = len;
> + rx_bytes += len;
> + bufs[count++] = mbuf;
> + } else {
> + dropped++;
> + }
> + rte_pktmbuf_free(addr_to_mbuf(umem, addr));
> }
> - rte_pktmbuf_free(addr_to_mbuf(umem, addr));
> }
>
> xsk_ring_cons__release(rx, rcvd);
> @@ -285,22 +294,29 @@ eth_af_xdp_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
> - ETH_AF_XDP_DATA_HEADROOM;
> desc = xsk_ring_prod__tx_desc(&txq->tx, idx_tx + i);
> mbuf = bufs[i];
> - if (mbuf->pkt_len <= buf_len) {
> - mbuf_to_tx = rte_pktmbuf_alloc(umem->mb_pool);
> - if (!mbuf_to_tx) {
> - rte_pktmbuf_free(mbuf);
> - continue;
> - }
> - desc->addr = mbuf_to_addr(umem, mbuf_to_tx);
> + if (txq->pair->zc && mbuf->pool == umem->mb_pool) {
> + desc->addr = mbuf_to_addr(umem, mbuf);
> desc->len = mbuf->pkt_len;
> - pkt = xsk_umem__get_data(umem->buffer,
> - desc->addr);
> - memcpy(pkt, rte_pktmbuf_mtod(mbuf, void *),
> - desc->len);
> valid++;
> tx_bytes += mbuf->pkt_len;
> + } else {
> + if (mbuf->pkt_len <= buf_len) {
> + mbuf_to_tx = rte_pktmbuf_alloc(umem->mb_pool);
> + if (!mbuf_to_tx) {
if (unlikely(mbuf_to_tx == NULL))
See DPDK coding conventions 1.8.1 for how to do pointer comparisons.
> + rte_pktmbuf_free(mbuf);
> + continue;
> + }
> + desc->addr = mbuf_to_addr(umem, mbuf_to_tx);
> + desc->len = mbuf->pkt_len;
> + pkt = xsk_umem__get_data(umem->buffer,
> + desc->addr);
> + memcpy(pkt, rte_pktmbuf_mtod(mbuf, void *),
> + desc->len);
rte_memcpy()
> + valid++;
> + tx_bytes += mbuf->pkt_len;
> + }
> + rte_pktmbuf_free(mbuf);
> }
> - rte_pktmbuf_free(mbuf);
> }
>
> xsk_ring_prod__submit(&txq->tx, nb_pkts);
> @@ -479,7 +495,7 @@ static inline uint64_t get_len(struct rte_mempool *mp)
> return (uint64_t)(memhdr->len);
> }
>
> -static struct xsk_umem_info *xdp_umem_configure(void)
> +static struct xsk_umem_info *xdp_umem_configure(struct rte_mempool *mb_pool)
> {
> struct xsk_umem_info *umem;
> struct xsk_umem_config usr_config = {
> @@ -497,20 +513,25 @@ static struct xsk_umem_info *xdp_umem_configure(void)
> return NULL;
> }
>
> - snprintf(pool_name, 0x100, "af_xdp_ring");
> - umem->mb_pool = rte_pktmbuf_pool_create_with_flags(pool_name,
> - ETH_AF_XDP_NUM_BUFFERS,
> - 250, 0,
> - ETH_AF_XDP_FRAME_SIZE -
> - ETH_AF_XDP_MBUF_OVERHEAD,
> - MEMPOOL_F_NO_SPREAD | MEMPOOL_F_PAGE_ALIGN,
> - SOCKET_ID_ANY);
> -
> - if (!umem->mb_pool || umem->mb_pool->nb_mem_chunks != 1) {
> - RTE_LOG(ERR, AF_XDP,
> - "Failed to create rte_mempool\n");
> - goto err;
> + if (!mb_pool) {
1.8.1
> + snprintf(pool_name, 0x100, "af_xdp_ring");
0x100??
> + umem->mb_pool = rte_pktmbuf_pool_create_with_flags(pool_name,
> + ETH_AF_XDP_NUM_BUFFERS,
> + 250, 0,
> + ETH_AF_XDP_FRAME_SIZE -
> + ETH_AF_XDP_MBUF_OVERHEAD,
> + MEMPOOL_F_NO_SPREAD | MEMPOOL_F_PAGE_ALIGN,
> + SOCKET_ID_ANY);
> +
> + if (!umem->mb_pool || umem->mb_pool->nb_mem_chunks != 1) {
1.8.1
> + RTE_LOG(ERR, AF_XDP, "Failed to create rte_mempool\n");
> + goto err;
> + }
> + } else {
> + umem->mb_pool = mb_pool;
> + umem->zc = 1;
> }
> +
> base_addr = (void *)get_base_addr(umem->mb_pool);
>
> ret = xsk_umem__create(&umem->umem, base_addr,
> @@ -531,16 +552,43 @@ static struct xsk_umem_info *xdp_umem_configure(void)
> return NULL;
> }
>
> +static uint8_t
> +check_mempool_zc(struct rte_mempool *mp)
> +{
> + RTE_ASSERT(mp);
> +
> + /* must continues */
> + if (mp->nb_mem_chunks > 1)
> + return 0;
> +
> + /* check header size */
> + if (mp->header_size != RTE_CACHE_LINE_SIZE)
> + return 0;
> +
> + /* check base address */
> + if ((uint64_t)get_base_addr(mp) % getpagesize() != 0)
This should be an uintptr_t cast.
> + return 0;
> +
> + /* check chunk size */
> + if ((mp->elt_size + mp->header_size + mp->trailer_size) %
> + ETH_AF_XDP_FRAME_SIZE != 0)
> + return 0;
> +
> + return 1;
> +}
> +
> static int
> xsk_configure(struct pmd_internals *internals, struct pkt_rx_queue *rxq,
> - int ring_size)
> + int ring_size, struct rte_mempool *mb_pool)
> {
> struct xsk_socket_config cfg;
> struct pkt_tx_queue *txq = rxq->pair;
> + struct rte_mempool *mp;
> int ret = 0;
> int reserve_size;
>
> - rxq->umem = xdp_umem_configure();
> + mp = check_mempool_zc(mb_pool) ? mb_pool : NULL;
> + rxq->umem = xdp_umem_configure(mp);
> if (!rxq->umem) {
> ret = -ENOMEM;
> goto err;
> @@ -627,15 +675,21 @@ eth_rx_queue_setup(struct rte_eth_dev *dev,
>
> rxq->mb_pool = mb_pool;
>
> - if (xsk_configure(internals, rxq, nb_rx_desc)) {
> - RTE_LOG(ERR, AF_XDP,
> - "Failed to configure xdp socket\n");
> + if (xsk_configure(internals, rxq, nb_rx_desc, mb_pool)) {
> + RTE_LOG(ERR, AF_XDP, "Failed to configure xdp socket\n");
> ret = -EINVAL;
> goto err;
> }
>
> internals->umem = rxq->umem;
>
> + if (mb_pool == internals->umem->mb_pool)
> + rxq->zc = internals->umem->zc;
> +
> + if (rxq->zc)
> + RTE_LOG(INFO, AF_XDP,
> + "zero copy enabled on rx queue %d\n", rx_queue_id);
> +
> dev->data->rx_queues[rx_queue_id] = rxq;
> return 0;
>
>
next prev parent reply other threads:[~2019-03-19 8:13 UTC|newest]
Thread overview: 399+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-01 8:09 [dpdk-dev] [PATCH v1 0/6] Introduce AF_XDP PMD Xiaolong Ye
2019-03-01 8:09 ` [dpdk-dev] [PATCH v1 1/6] net/af_xdp: introduce AF_XDP PMD driver Xiaolong Ye
2019-03-01 15:38 ` Luca Boccassi
2019-03-02 8:14 ` Ye Xiaolong
2019-03-17 3:34 ` Ye Xiaolong
2019-03-17 3:34 ` Ye Xiaolong
2019-03-24 12:07 ` Luca Boccassi
2019-03-24 12:07 ` Luca Boccassi
2019-03-25 2:45 ` Ye Xiaolong
2019-03-25 2:45 ` Ye Xiaolong
2019-03-25 10:42 ` Luca Boccassi
2019-03-25 10:42 ` Luca Boccassi
2019-03-25 12:22 ` Ye Xiaolong
2019-03-25 12:22 ` Ye Xiaolong
2019-03-26 2:18 ` Ye Xiaolong
2019-03-26 2:18 ` Ye Xiaolong
2019-03-26 10:14 ` Luca Boccassi
2019-03-26 10:14 ` Luca Boccassi
2019-03-26 12:12 ` Ye Xiaolong
2019-03-26 12:12 ` Ye Xiaolong
2019-03-01 18:31 ` Stephen Hemminger
2019-03-02 8:08 ` Ye Xiaolong
2019-03-01 18:32 ` Stephen Hemminger
2019-03-02 8:07 ` Ye Xiaolong
2019-03-05 8:25 ` David Marchand
2019-03-07 3:19 ` Ye Xiaolong
2019-03-11 16:20 ` Ferruh Yigit
2019-03-12 15:54 ` Ye Xiaolong
2019-03-13 10:54 ` Ferruh Yigit
2019-03-13 11:12 ` Ye Xiaolong
2019-03-17 3:35 ` Ye Xiaolong
2019-03-17 3:35 ` Ye Xiaolong
2019-03-01 8:09 ` [dpdk-dev] [PATCH v1 2/6] lib/mbuf: enable parse flags when create mempool Xiaolong Ye
2019-03-05 8:30 ` David Marchand
2019-03-07 3:07 ` Ye Xiaolong
2019-03-01 8:09 ` [dpdk-dev] [PATCH v1 3/6] lib/mempool: allow page size aligned mempool Xiaolong Ye
2019-03-01 8:09 ` [dpdk-dev] [PATCH v1 4/6] net/af_xdp: use mbuf mempool for buffer management Xiaolong Ye
2019-03-01 8:09 ` [dpdk-dev] [PATCH v1 5/6] net/af_xdp: enable zero copy Xiaolong Ye
2019-03-01 8:09 ` [dpdk-dev] [PATCH v1 6/6] app/testpmd: add mempool flags parameter Xiaolong Ye
2019-03-01 18:34 ` Stephen Hemminger
2019-03-02 8:06 ` Ye Xiaolong
2019-03-11 16:46 ` Ferruh Yigit
2019-03-12 15:10 ` Ye Xiaolong
2019-03-11 16:43 ` [dpdk-dev] [PATCH v1 0/6] Introduce AF_XDP PMD Ferruh Yigit
2019-03-11 17:19 ` Thomas Monjalon
2019-03-12 1:51 ` Zhang, Qi Z
2019-03-12 7:55 ` Karlsson, Magnus
2019-03-19 7:12 ` [dpdk-dev] [PATCH v2 " Xiaolong Ye
2019-03-19 7:12 ` Xiaolong Ye
2019-03-19 7:12 ` [dpdk-dev] [PATCH v2 1/6] net/af_xdp: introduce AF XDP PMD driver Xiaolong Ye
2019-03-19 7:12 ` Xiaolong Ye
2019-03-19 9:07 ` Mattias Rönnblom
2019-03-19 9:07 ` Mattias Rönnblom
2019-03-19 9:49 ` Ye Xiaolong
2019-03-19 9:49 ` Ye Xiaolong
2019-03-19 16:14 ` Stephen Hemminger
2019-03-19 16:14 ` Stephen Hemminger
2019-03-20 2:32 ` Ye Xiaolong
2019-03-20 2:32 ` Ye Xiaolong
2019-03-19 16:16 ` Stephen Hemminger
2019-03-19 16:16 ` Stephen Hemminger
2019-03-19 16:33 ` Bruce Richardson
2019-03-19 16:33 ` Bruce Richardson
2019-03-20 2:07 ` Ye Xiaolong
2019-03-20 2:07 ` Ye Xiaolong
2019-03-20 2:05 ` Ye Xiaolong
2019-03-20 2:05 ` Ye Xiaolong
2019-03-20 9:23 ` David Marchand
2019-03-20 9:23 ` David Marchand
2019-03-20 15:20 ` Ye Xiaolong
2019-03-20 15:20 ` Ye Xiaolong
2019-03-19 7:12 ` [dpdk-dev] [PATCH v2 2/6] lib/mbuf: introduce helper to create mempool with flags Xiaolong Ye
2019-03-19 7:12 ` Xiaolong Ye
2019-03-19 7:12 ` [dpdk-dev] [PATCH v2 3/6] lib/mempool: allow page size aligned mempool Xiaolong Ye
2019-03-19 7:12 ` Xiaolong Ye
2019-03-19 7:12 ` [dpdk-dev] [PATCH v2 4/6] net/af_xdp: use mbuf mempool for buffer management Xiaolong Ye
2019-03-19 7:12 ` Xiaolong Ye
2019-03-19 7:12 ` [dpdk-dev] [PATCH v2 5/6] net/af_xdp: enable zero copy Xiaolong Ye
2019-03-19 7:12 ` Xiaolong Ye
2019-03-19 8:12 ` Mattias Rönnblom [this message]
2019-03-19 8:12 ` Mattias Rönnblom
2019-03-19 8:39 ` Ye Xiaolong
2019-03-19 8:39 ` Ye Xiaolong
2019-03-20 9:22 ` David Marchand
2019-03-20 9:22 ` David Marchand
2019-03-20 9:48 ` Zhang, Qi Z
2019-03-20 9:48 ` Zhang, Qi Z
2019-03-19 7:12 ` [dpdk-dev] [PATCH v2 6/6] app/testpmd: add mempool flags parameter Xiaolong Ye
2019-03-19 7:12 ` Xiaolong Ye
2019-03-19 23:36 ` Jerin Jacob Kollanukkaran
2019-03-19 23:36 ` Jerin Jacob Kollanukkaran
2019-03-20 2:08 ` Ye Xiaolong
2019-03-20 2:08 ` Ye Xiaolong
2019-03-20 9:23 ` David Marchand
2019-03-20 9:23 ` David Marchand
2019-03-20 15:22 ` Ye Xiaolong
2019-03-20 15:22 ` Ye Xiaolong
2019-03-21 9:18 ` [dpdk-dev] [PATCH v3 0/5] Introduce AF_XDP PMD Xiaolong Ye
2019-03-21 9:18 ` Xiaolong Ye
2019-03-21 9:18 ` [dpdk-dev] [PATCH v3 1/5] net/af_xdp: introduce AF XDP PMD driver Xiaolong Ye
2019-03-21 9:18 ` Xiaolong Ye
2019-03-21 15:24 ` Stephen Hemminger
2019-03-21 15:24 ` Stephen Hemminger
2019-03-22 2:05 ` Ye Xiaolong
2019-03-22 2:05 ` Ye Xiaolong
2019-03-21 15:25 ` Stephen Hemminger
2019-03-21 15:25 ` Stephen Hemminger
2019-03-22 2:05 ` Ye Xiaolong
2019-03-22 2:05 ` Ye Xiaolong
2019-03-21 15:27 ` Stephen Hemminger
2019-03-21 15:27 ` Stephen Hemminger
2019-03-22 2:04 ` Ye Xiaolong
2019-03-22 2:04 ` Ye Xiaolong
2019-03-21 15:28 ` Stephen Hemminger
2019-03-21 15:28 ` Stephen Hemminger
2019-03-22 2:15 ` Ye Xiaolong
2019-03-22 2:15 ` Ye Xiaolong
2019-03-22 15:38 ` Stephen Hemminger
2019-03-22 15:38 ` Stephen Hemminger
2019-03-22 23:20 ` Ye Xiaolong
2019-03-22 23:20 ` Ye Xiaolong
2019-03-21 15:30 ` Stephen Hemminger
2019-03-21 15:30 ` Stephen Hemminger
2019-03-22 2:01 ` Ye Xiaolong
2019-03-22 2:01 ` Ye Xiaolong
2019-03-22 15:37 ` Stephen Hemminger
2019-03-22 15:37 ` Stephen Hemminger
2019-03-22 23:19 ` Ye Xiaolong
2019-03-22 23:19 ` Ye Xiaolong
2019-03-21 15:31 ` Stephen Hemminger
2019-03-21 15:31 ` Stephen Hemminger
2019-03-22 1:55 ` Ye Xiaolong
2019-03-22 1:55 ` Ye Xiaolong
2019-03-21 15:32 ` Stephen Hemminger
2019-03-21 15:32 ` Stephen Hemminger
2019-03-22 1:54 ` Ye Xiaolong
2019-03-22 1:54 ` Ye Xiaolong
2019-03-21 15:36 ` Stephen Hemminger
2019-03-21 15:36 ` Stephen Hemminger
2019-03-22 1:49 ` Ye Xiaolong
2019-03-22 1:49 ` Ye Xiaolong
2019-03-22 9:32 ` Bruce Richardson
2019-03-22 9:32 ` Bruce Richardson
2019-03-21 9:18 ` [dpdk-dev] [PATCH v3 2/5] lib/mbuf: introduce helper to create mempool with flags Xiaolong Ye
2019-03-21 9:18 ` Xiaolong Ye
2019-03-21 9:18 ` [dpdk-dev] [PATCH v3 3/5] lib/mempool: allow page size aligned mempool Xiaolong Ye
2019-03-21 9:18 ` Xiaolong Ye
2019-03-21 14:00 ` Ananyev, Konstantin
2019-03-21 14:00 ` Ananyev, Konstantin
2019-03-21 14:23 ` Zhang, Qi Z
2019-03-21 14:23 ` Zhang, Qi Z
2019-03-21 9:18 ` [dpdk-dev] [PATCH v3 4/5] net/af_xdp: use mbuf mempool for buffer management Xiaolong Ye
2019-03-21 9:18 ` Xiaolong Ye
2019-03-21 9:18 ` [dpdk-dev] [PATCH v3 5/5] net/af_xdp: enable zero copy Xiaolong Ye
2019-03-21 9:18 ` Xiaolong Ye
2019-03-22 13:01 ` [dpdk-dev] [PATCH v4 0/5] Introduce AF_XDP PMD Xiaolong Ye
2019-03-22 13:01 ` Xiaolong Ye
2019-03-22 13:01 ` [dpdk-dev] [PATCH v4 1/5] net/af_xdp: introduce AF XDP PMD driver Xiaolong Ye
2019-03-22 13:01 ` Xiaolong Ye
2019-03-22 14:32 ` Maxime Coquelin
2019-03-22 14:32 ` Maxime Coquelin
2019-03-24 9:32 ` Ye Xiaolong
2019-03-24 9:32 ` Ye Xiaolong
2019-03-24 12:10 ` Luca Boccassi
2019-03-24 12:10 ` Luca Boccassi
2019-03-24 16:27 ` Thomas Monjalon
2019-03-24 16:27 ` Thomas Monjalon
2019-03-22 13:01 ` [dpdk-dev] [PATCH v4 2/5] lib/mbuf: introduce helper to create mempool with flags Xiaolong Ye
2019-03-22 13:01 ` Xiaolong Ye
2019-03-22 14:36 ` Maxime Coquelin
2019-03-22 14:36 ` Maxime Coquelin
2019-03-24 9:08 ` Ye Xiaolong
2019-03-24 9:08 ` Ye Xiaolong
2019-03-22 13:01 ` [dpdk-dev] [PATCH v4 3/5] lib/mempool: allow page size aligned mempool Xiaolong Ye
2019-03-22 13:01 ` Xiaolong Ye
2019-03-22 13:01 ` [dpdk-dev] [PATCH v4 4/5] net/af_xdp: use mbuf mempool for buffer management Xiaolong Ye
2019-03-22 13:01 ` Xiaolong Ye
2019-03-22 14:51 ` Maxime Coquelin
2019-03-22 14:51 ` Maxime Coquelin
2019-03-24 9:08 ` Ye Xiaolong
2019-03-24 9:08 ` Ye Xiaolong
2019-03-24 11:52 ` Ye Xiaolong
2019-03-24 11:52 ` Ye Xiaolong
2019-03-22 13:01 ` [dpdk-dev] [PATCH v4 5/5] net/af_xdp: enable zero copy Xiaolong Ye
2019-03-22 13:01 ` Xiaolong Ye
2019-03-25 6:03 ` [dpdk-dev] [PATCH v5 0/5] Introduce AF_XDP PMD Xiaolong Ye
2019-03-25 6:03 ` Xiaolong Ye
2019-03-25 6:03 ` [dpdk-dev] [PATCH v5 1/5] net/af_xdp: introduce AF XDP PMD driver Xiaolong Ye
2019-03-25 6:03 ` Xiaolong Ye
2019-03-25 15:58 ` Stephen Hemminger
2019-03-25 15:58 ` Stephen Hemminger
2019-03-26 2:13 ` Ye Xiaolong
2019-03-26 2:13 ` Ye Xiaolong
2019-03-25 6:03 ` [dpdk-dev] [PATCH v5 2/5] lib/mbuf: introduce helper to create mempool with flags Xiaolong Ye
2019-03-25 6:03 ` Xiaolong Ye
2019-03-25 6:03 ` [dpdk-dev] [PATCH v5 3/5] lib/mempool: allow page size aligned mempool Xiaolong Ye
2019-03-25 6:03 ` Xiaolong Ye
2019-03-25 9:04 ` Andrew Rybchenko
2019-03-25 9:04 ` Andrew Rybchenko
2019-03-26 3:27 ` Ye Xiaolong
2019-03-26 3:27 ` Ye Xiaolong
2019-03-25 6:03 ` [dpdk-dev] [PATCH v5 4/5] net/af_xdp: use mbuf mempool for buffer management Xiaolong Ye
2019-03-25 6:03 ` Xiaolong Ye
2019-03-25 6:04 ` [dpdk-dev] [PATCH v5 5/5] net/af_xdp: enable zero copy Xiaolong Ye
2019-03-25 6:04 ` Xiaolong Ye
2019-03-26 12:20 ` [dpdk-dev] [PATCH v6 0/5] Introduce AF_XDP PMD Xiaolong Ye
2019-03-26 12:20 ` Xiaolong Ye
2019-03-26 12:20 ` [dpdk-dev] [PATCH v6 1/5] net/af_xdp: introduce AF XDP PMD driver Xiaolong Ye
2019-03-26 12:20 ` Xiaolong Ye
2019-03-26 19:08 ` Stephen Hemminger
2019-03-26 19:08 ` Stephen Hemminger
2019-03-27 5:33 ` Ye Xiaolong
2019-03-27 5:33 ` Ye Xiaolong
2019-03-26 12:20 ` [dpdk-dev] [PATCH v6 2/5] lib/mbuf: introduce helper to create mempool with flags Xiaolong Ye
2019-03-26 12:20 ` Xiaolong Ye
2019-03-26 12:20 ` [dpdk-dev] [PATCH v6 3/5] lib/mempool: allow page size aligned mempool Xiaolong Ye
2019-03-26 12:20 ` Xiaolong Ye
2019-03-26 12:20 ` [dpdk-dev] [PATCH v6 4/5] net/af_xdp: use mbuf mempool for buffer management Xiaolong Ye
2019-03-26 12:20 ` Xiaolong Ye
2019-03-29 17:42 ` Olivier Matz
2019-03-29 17:42 ` Olivier Matz
2019-03-31 12:38 ` Ye Xiaolong
2019-03-31 12:38 ` Ye Xiaolong
2019-04-01 5:47 ` Zhang, Qi Z
2019-04-01 5:47 ` Zhang, Qi Z
2019-03-26 12:20 ` [dpdk-dev] [PATCH v6 5/5] net/af_xdp: enable zero copy Xiaolong Ye
2019-03-26 12:20 ` Xiaolong Ye
2019-03-27 9:00 ` [dpdk-dev] [PATCH v7 0/5] Introduce AF_XDP PMD Xiaolong Ye
2019-03-27 9:00 ` Xiaolong Ye
2019-03-27 9:00 ` [dpdk-dev] [PATCH v7 1/5] net/af_xdp: introduce AF XDP PMD driver Xiaolong Ye
2019-03-27 9:00 ` Xiaolong Ye
2019-03-28 17:51 ` Ferruh Yigit
2019-03-28 17:51 ` Ferruh Yigit
2019-03-28 18:52 ` Luca Boccassi
2019-03-28 18:52 ` Luca Boccassi
2019-04-02 19:55 ` Ferruh Yigit
2019-04-02 19:55 ` Ferruh Yigit
2019-03-29 2:05 ` Ye Xiaolong
2019-03-29 2:05 ` Ye Xiaolong
2019-03-29 8:10 ` Ferruh Yigit
2019-03-29 8:10 ` Ferruh Yigit
2019-03-27 9:00 ` [dpdk-dev] [PATCH v7 2/5] lib/mbuf: introduce helper to create mempool with flags Xiaolong Ye
2019-03-27 9:00 ` Xiaolong Ye
2019-03-28 19:30 ` Ferruh Yigit
2019-03-28 19:30 ` Ferruh Yigit
2019-03-27 9:00 ` [dpdk-dev] [PATCH v7 3/5] lib/mempool: allow page size aligned mempool Xiaolong Ye
2019-03-27 9:00 ` Xiaolong Ye
2019-03-28 19:34 ` Ferruh Yigit
2019-03-28 19:34 ` Ferruh Yigit
2019-03-29 10:37 ` Andrew Rybchenko
2019-03-29 10:37 ` Andrew Rybchenko
2019-03-29 17:42 ` Olivier Matz
2019-03-29 17:42 ` Olivier Matz
2019-03-27 9:00 ` [dpdk-dev] [PATCH v7 4/5] net/af_xdp: use mbuf mempool for buffer management Xiaolong Ye
2019-03-27 9:00 ` Xiaolong Ye
2019-03-27 9:00 ` [dpdk-dev] [PATCH v7 5/5] net/af_xdp: enable zero copy Xiaolong Ye
2019-03-27 9:00 ` Xiaolong Ye
2019-03-28 18:44 ` Ferruh Yigit
2019-03-28 18:44 ` Ferruh Yigit
2019-03-29 1:53 ` Ye Xiaolong
2019-03-29 1:53 ` Ye Xiaolong
2019-04-02 10:45 ` [dpdk-dev] [PATCH v8 0/1] AF_XDP PMD Xiaolong Ye
2019-04-02 10:45 ` Xiaolong Ye
2019-04-02 10:45 ` [dpdk-dev] [PATCH v8 1/1] net/af_xdp: introduce AF XDP PMD driver Xiaolong Ye
2019-04-02 10:45 ` Xiaolong Ye
2019-04-02 14:58 ` Stephen Hemminger
2019-04-02 14:58 ` Stephen Hemminger
2019-04-02 15:10 ` Ye Xiaolong
2019-04-02 15:10 ` Ye Xiaolong
2019-04-02 15:46 ` [dpdk-dev] [PATCH v9 0/1] Introduce AF_XDP PMD Xiaolong Ye
2019-04-02 15:46 ` Xiaolong Ye
2019-04-02 15:46 ` [dpdk-dev] [PATCH v9 1/1] net/af_xdp: introduce AF XDP PMD driver Xiaolong Ye
2019-04-02 15:46 ` Xiaolong Ye
2019-04-02 18:56 ` Stephen Hemminger
2019-04-02 18:56 ` Stephen Hemminger
2019-04-02 23:01 ` Ye Xiaolong
2019-04-02 23:01 ` Ye Xiaolong
2019-04-02 19:19 ` Luca Boccassi
2019-04-02 19:19 ` Luca Boccassi
2019-04-03 9:59 ` Ye Xiaolong
2019-04-03 9:59 ` Ye Xiaolong
2019-04-03 10:36 ` Luca Boccassi
2019-04-03 10:36 ` Luca Boccassi
2019-04-03 10:42 ` Luca Boccassi
2019-04-03 10:42 ` Luca Boccassi
2019-04-03 11:18 ` Ferruh Yigit
2019-04-03 11:18 ` Ferruh Yigit
2019-04-03 11:35 ` Luca Boccassi
2019-04-03 11:35 ` Luca Boccassi
2019-04-03 12:16 ` Luca Boccassi
2019-04-03 12:16 ` Luca Boccassi
2019-04-03 12:33 ` Ferruh Yigit
2019-04-03 12:33 ` Ferruh Yigit
2019-04-03 13:09 ` Ferruh Yigit
2019-04-03 13:09 ` Ferruh Yigit
2019-04-03 13:29 ` Luca Boccassi
2019-04-03 13:29 ` Luca Boccassi
2019-04-03 14:43 ` Ye Xiaolong
2019-04-03 14:43 ` Ye Xiaolong
2019-04-03 14:51 ` Luca Boccassi
2019-04-03 14:51 ` Luca Boccassi
2019-04-03 15:14 ` Ye Xiaolong
2019-04-03 15:14 ` Ye Xiaolong
2019-04-03 15:23 ` Bruce Richardson
2019-04-03 15:23 ` Bruce Richardson
2019-04-03 15:34 ` Ye Xiaolong
2019-04-03 15:34 ` Ye Xiaolong
2019-04-03 14:22 ` Ye Xiaolong
2019-04-03 14:22 ` Ye Xiaolong
2019-04-03 15:52 ` Ferruh Yigit
2019-04-03 15:52 ` Ferruh Yigit
2019-04-03 15:57 ` Ye Xiaolong
2019-04-03 15:57 ` Ye Xiaolong
2019-04-17 12:30 ` [dpdk-dev] [BUG] net/af_xdp: Current code can only create one af_xdp device Markus Theil
2019-04-17 12:30 ` Markus Theil
2019-04-18 1:05 ` Ye Xiaolong
2019-04-18 1:05 ` Ye Xiaolong
2019-04-23 16:23 ` Markus Theil
2019-04-23 16:23 ` Markus Theil
2019-04-24 6:35 ` Ye Xiaolong
2019-04-24 6:35 ` Ye Xiaolong
2019-04-24 9:21 ` Markus Theil
2019-04-24 9:21 ` Markus Theil
2019-04-24 14:47 ` Ye Xiaolong
2019-04-24 14:47 ` Ye Xiaolong
2019-04-24 20:33 ` Markus Theil
2019-04-24 20:33 ` Markus Theil
2019-04-25 5:43 ` Ye Xiaolong
2019-04-25 5:43 ` Ye Xiaolong
2019-04-18 15:20 ` [dpdk-dev] [PATCH v1 1/2] net/af_xdp: name the buf ring dynamically Xiaolong Ye
2019-04-18 15:20 ` Xiaolong Ye
2019-04-18 15:20 ` [dpdk-dev] [PATCH v1 2/2] net/af_xdp: name the umem memzone dynamically Xiaolong Ye
2019-04-18 15:20 ` Xiaolong Ye
2019-04-19 9:47 ` David Marchand
2019-04-19 9:47 ` David Marchand
2019-04-19 12:33 ` Ferruh Yigit
2019-04-19 12:33 ` Ferruh Yigit
2019-04-19 15:05 ` Ye Xiaolong
2019-04-19 15:05 ` Ye Xiaolong
2019-04-19 9:46 ` [dpdk-dev] [PATCH v1 1/2] net/af_xdp: name the buf ring dynamically David Marchand
2019-04-19 9:46 ` David Marchand
2019-04-19 12:47 ` [dpdk-dev] [PATCH v2] net/af_xdp: fix creating multiple instance Ferruh Yigit
2019-04-19 12:47 ` Ferruh Yigit
2019-04-19 12:51 ` Ferruh Yigit
2019-04-19 12:51 ` Ferruh Yigit
2019-04-02 19:43 ` [dpdk-dev] [PATCH v9 1/1] net/af_xdp: introduce AF XDP PMD driver Ferruh Yigit
2019-04-02 19:43 ` Ferruh Yigit
2019-04-03 13:22 ` Bruce Richardson
2019-04-03 13:22 ` Bruce Richardson
2019-04-03 13:34 ` Ferruh Yigit
2019-04-03 13:34 ` Ferruh Yigit
2019-04-03 16:59 ` [dpdk-dev] [PATCH v10 0/1] Introduce AF_XDP PMD Xiaolong Ye
2019-04-03 16:59 ` Xiaolong Ye
2019-04-03 16:59 ` [dpdk-dev] [PATCH v10 1/1] net/af_xdp: introduce AF XDP PMD driver Xiaolong Ye
2019-04-03 16:59 ` Xiaolong Ye
2019-04-03 17:32 ` Luca Boccassi
2019-04-03 17:32 ` Luca Boccassi
2019-04-03 17:44 ` Ferruh Yigit
2019-04-03 17:44 ` Ferruh Yigit
2019-04-03 18:52 ` Luca Boccassi
2019-04-03 18:52 ` Luca Boccassi
2019-04-04 5:36 ` Ye Xiaolong
2019-04-04 5:36 ` Ye Xiaolong
2019-04-04 5:55 ` Ye Xiaolong
2019-04-04 5:55 ` Ye Xiaolong
2019-04-04 7:01 ` Phil Yang (Arm Technology China)
2019-04-04 7:01 ` Phil Yang (Arm Technology China)
2019-04-04 8:39 ` Luca Boccassi
2019-04-04 8:39 ` Luca Boccassi
2019-04-04 8:40 ` Ye Xiaolong
2019-04-04 8:40 ` Ye Xiaolong
2019-04-04 5:29 ` Ye Xiaolong
2019-04-04 5:29 ` Ye Xiaolong
2019-04-04 8:51 ` [dpdk-dev] [PATCH v11 0/1] Introduce AF_XDP PMD Xiaolong Ye
2019-04-04 8:51 ` Xiaolong Ye
2019-04-04 8:51 ` [dpdk-dev] [PATCH v11 1/1] net/af_xdp: introduce AF XDP PMD driver Xiaolong Ye
2019-04-04 8:51 ` Xiaolong Ye
2019-04-04 16:20 ` Luca Boccassi
2019-04-04 16:20 ` Luca Boccassi
2019-04-04 16:41 ` Stephen Hemminger
2019-04-04 16:41 ` Stephen Hemminger
2019-04-04 17:05 ` Ferruh Yigit
2019-04-04 17:05 ` Ferruh Yigit
2019-04-04 23:39 ` Ferruh Yigit
2019-04-04 23:39 ` Ferruh Yigit
2019-04-05 15:05 ` Ye Xiaolong
2019-04-05 15:05 ` Ye Xiaolong
2019-04-05 15:17 ` Ferruh Yigit
2019-04-05 15:17 ` Ferruh Yigit
2019-04-05 15:22 ` Ye Xiaolong
2019-04-05 15:22 ` Ye Xiaolong
2019-04-05 15:23 ` Bruce Richardson
2019-04-05 15:23 ` Bruce Richardson
2019-04-05 15:31 ` Ferruh Yigit
2019-04-05 15:31 ` Ferruh Yigit
2019-04-05 15:35 ` Bruce Richardson
2019-04-05 15:35 ` Bruce Richardson
2019-04-04 16:13 ` [dpdk-dev] [PATCH v11 0/1] Introduce AF_XDP PMD Ferruh Yigit
2019-04-04 16:13 ` Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6b786b77-f9b6-cb0b-634b-701e92a1c3a2@lysator.liu.se \
--to=hofors@lysator.liu.se \
--cc=bjorn.topel@intel.com \
--cc=dev@dpdk.org \
--cc=magnus.karlsson@intel.com \
--cc=qi.z.zhang@intel.com \
--cc=xiaolong.ye@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).