linux/drivers/net/ethernet/intel/idpf
Alexander Lobakin 74d1412ac8 idpf: use libeth Rx buffer management for payload buffer
idpf uses Page Pool for data buffers with hardcoded buffer lengths of
4k for "classic" buffers and 2k for "short" ones. This is not flexible
and does not ensure optimal memory usage. Why would you need 4k buffers
when the MTU is 1500?
Use libeth for the data buffers and don't hardcode any buffer sizes. Let
them be calculated from the MTU for "classics" and then divide the
truesize by 2 for "short" ones. The memory usage is now greatly reduced
and 2 buffer queues starts make sense: on frames <= 1024, you'll recycle
(and resync) a page only after 4 HW writes rather than two.

Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2024-07-10 10:48:45 -07:00
..
Kconfig idpf: use libeth Rx buffer management for payload buffer 2024-07-10 10:48:45 -07:00
Makefile idpf: compile singleq code only under default-n CONFIG_IDPF_SINGLEQ 2024-07-10 10:42:26 -07:00
idpf.h idpf: use libeth Rx buffer management for payload buffer 2024-07-10 10:48:45 -07:00
idpf_controlq.c idpf: fix minor controlq issues 2024-03-04 09:48:33 -08:00
idpf_controlq.h idpf: add controlq init and reset checks 2023-09-13 14:59:23 -07:00
idpf_controlq_api.h idpf: implement virtchnl transaction manager 2024-03-04 09:32:41 -08:00
idpf_controlq_setup.c idpf: add controlq init and reset checks 2023-09-13 14:59:23 -07:00
idpf_dev.c idpf: add idpf_virtchnl.h 2024-03-04 09:28:27 -08:00
idpf_devids.h
idpf_ethtool.c idpf: remove legacy Page Pool Ethtool stats 2024-07-10 10:44:59 -07:00
idpf_lan_pf_regs.h idpf: initialize interrupts and enable vport 2023-09-13 14:59:24 -07:00
idpf_lan_txrx.h idpf: stop using macros for accessing queue descriptors 2024-07-10 10:31:28 -07:00
idpf_lan_vf_regs.h idpf: initialize interrupts and enable vport 2023-09-13 14:59:24 -07:00
idpf_lib.c idpf: reuse libeth's definitions of parsed ptype structures 2024-07-10 10:43:57 -07:00
idpf_main.c idpf: reuse libeth's definitions of parsed ptype structures 2024-07-10 10:43:57 -07:00
idpf_mem.h idpf: add controlq init and reset checks 2023-09-13 14:59:23 -07:00
idpf_singleq_txrx.c idpf: use libeth Rx buffer management for payload buffer 2024-07-10 10:48:45 -07:00
idpf_txrx.c idpf: use libeth Rx buffer management for payload buffer 2024-07-10 10:48:45 -07:00
idpf_txrx.h idpf: use libeth Rx buffer management for payload buffer 2024-07-10 10:48:45 -07:00
idpf_vf_dev.c idpf: implement virtchnl transaction manager 2024-03-04 09:32:41 -08:00
idpf_virtchnl.c idpf: use libeth Rx buffer management for payload buffer 2024-07-10 10:48:45 -07:00
idpf_virtchnl.h idpf: refactor idpf_recv_mb_msg 2024-03-04 09:39:30 -08:00
virtchnl2.h idpf: sprinkle __counted_by{,_le}() in the virtchnl2 header 2024-03-28 18:50:47 -07:00
virtchnl2_lan_desc.h