net/af_xdp: correct xdp frame size

Message ID 20190707155705.58515-1-xiaolong.ye@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series net/af_xdp: correct xdp frame size |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation fail apply issues

Commit Message

Xiaolong Ye July 7, 2019, 3:57 p.m. UTC
  XSK_UMEM__DEFAULT_FRAME_SIZE has been changed to 4096 in kernel commit
123e8da1d330 (xsk: Change the default frame size to 4096 and allow
controlling it), but we still need to keep ETH_AF_XDP_FRAME_SIZE as 2048 to
fit most dpdk apps.

Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
---
 drivers/net/af_xdp/rte_eth_af_xdp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

David Marchand July 8, 2019, 8:26 a.m. UTC | #1
On Mon, Jul 8, 2019 at 10:03 AM Xiaolong Ye <xiaolong.ye@intel.com> wrote:

> XSK_UMEM__DEFAULT_FRAME_SIZE has been changed to 4096 in kernel commit
> 123e8da1d330 (xsk: Change the default frame size to 4096 and allow
> controlling it), but we still need to keep ETH_AF_XDP_FRAME_SIZE as 2048 to
> fit most dpdk apps.
>

I might have missed something, but can't you use the mbuf size from the
packet mempool passed at rx_queue_setup?
  
Bruce Richardson July 8, 2019, 9:14 a.m. UTC | #2
On Mon, Jul 08, 2019 at 10:26:18AM +0200, David Marchand wrote:
> On Mon, Jul 8, 2019 at 10:03 AM Xiaolong Ye <xiaolong.ye@intel.com> wrote:
> 
> > XSK_UMEM__DEFAULT_FRAME_SIZE has been changed to 4096 in kernel commit
> > 123e8da1d330 (xsk: Change the default frame size to 4096 and allow
> > controlling it), but we still need to keep ETH_AF_XDP_FRAME_SIZE as 2048 to
> > fit most dpdk apps.
> >
> 
> I might have missed something, but can't you use the mbuf size from the
> packet mempool passed at rx_queue_setup?
> 
Sadly not - but we are working on ways to allow that. Right now, the kernel
only allows 2k aligned buffers of 2k or 4k in size for packet IO, which
prevents regular mbuf pools from working. There is work in progress to
relax those restrictions, but it's not yet ready for kernel acceptance.
The V1 of the set can be seen at: https://www.spinics.net/lists/netdev/msg579786.html
  
Ferruh Yigit July 8, 2019, 6:08 p.m. UTC | #3
On 7/7/2019 4:57 PM, Xiaolong Ye wrote:
> XSK_UMEM__DEFAULT_FRAME_SIZE has been changed to 4096 in kernel commit
> 123e8da1d330 (xsk: Change the default frame size to 4096 and allow
> controlling it), but we still need to keep ETH_AF_XDP_FRAME_SIZE as 2048 to
> fit most dpdk apps.
> 
> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>

Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

Applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c
index 5ce90a760..ff8e90589 100644
--- a/drivers/net/af_xdp/rte_eth_af_xdp.c
+++ b/drivers/net/af_xdp/rte_eth_af_xdp.c
@@ -56,7 +56,7 @@  static int af_xdp_logtype;
 	rte_log(RTE_LOG_ ## level, af_xdp_logtype,	\
 		"%s(): " fmt, __func__, ##args)
 
-#define ETH_AF_XDP_FRAME_SIZE		XSK_UMEM__DEFAULT_FRAME_SIZE
+#define ETH_AF_XDP_FRAME_SIZE		2048
 #define ETH_AF_XDP_NUM_BUFFERS		4096
 #define ETH_AF_XDP_DATA_HEADROOM	0
 #define ETH_AF_XDP_DFLT_NUM_DESCS	XSK_RING_CONS__DEFAULT_NUM_DESCS