mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-04 09:56:04 +00:00
Enable HW descriptor prefetch by default by setting plat->dma_cfg->dche = true in intel_mgbe_common_data(). Need to be noted that this capability only be supported in DWMAC core version 5.20 onwards. In stmmac, there is a checking to check the core version. If the core version is below 5.20, this capability wouldn`t be configured. Below is the iperf result comparison between HW descriptor prefetch disabled(DCHE=0b) and enabled(DCHE=1b). Tested on Intel Elkhartlake platform with DWMAC Core 5.20. Observed line rate performance improvement with HW descriptor prefetch enabled. DCHE = 0b [ 5] local 169.254.1.162 port 42123 connected to 169.254.244.142 port 5201 [ ID] Interval Transfer Bitrate Total Datagrams [ 5] 0.00-1.00 sec 96.7 MBytes 811 Mbits/sec 70050 [ 5] 1.00-2.00 sec 96.5 MBytes 809 Mbits/sec 69850 [ 5] 2.00-3.00 sec 96.3 MBytes 808 Mbits/sec 69720 [ 5] 3.00-4.00 sec 95.9 MBytes 804 Mbits/sec 69450 [ 5] 4.00-5.00 sec 96.0 MBytes 806 Mbits/sec 69530 [ 5] 5.00-6.00 sec 96.8 MBytes 812 Mbits/sec 70080 [ 5] 6.00-7.00 sec 96.9 MBytes 813 Mbits/sec 70140 [ 5] 7.00-8.00 sec 96.8 MBytes 812 Mbits/sec 70080 [ 5] 8.00-9.00 sec 97.0 MBytes 814 Mbits/sec 70230 [ 5] 9.00-10.00 sec 96.9 MBytes 813 Mbits/sec 70170 - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams [ 5] 0.00-10.00 sec 966 MBytes 810 Mbits/sec 0.000 ms 0/699300 (0%) sender [ 5] 0.00-10.00 sec 966 MBytes 810 Mbits/sec 0.011 ms 0/699265 (0%) receiver DCHE = 1b [ 5] local 169.254.1.162 port 49740 connected to 169.254.244.142 port 5201 [ ID] Interval Transfer Bitrate Total Datagrams [ 5] 0.00-1.00 sec 97.9 MBytes 821 Mbits/sec 70880 [ 5] 1.00-2.00 sec 98.1 MBytes 823 Mbits/sec 71060 [ 5] 2.00-3.00 sec 98.2 MBytes 824 Mbits/sec 71140 [ 5] 3.00-4.00 sec 98.2 MBytes 824 Mbits/sec 71090 [ 5] 4.00-5.00 sec 98.1 MBytes 823 Mbits/sec 71050 [ 5] 5.00-6.00 sec 98.1 MBytes 823 Mbits/sec 71040 [ 5] 6.00-7.00 sec 98.1 MBytes 823 Mbits/sec 71050 [ 5] 7.00-8.00 sec 98.2 MBytes 824 Mbits/sec 71140 [ 5] 8.00-9.00 sec 98.2 MBytes 824 Mbits/sec 71120 [ 5] 9.00-10.00 sec 98.3 MBytes 824 Mbits/sec 71150 - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams [ 5] 0.00-10.00 sec 981 MBytes 823 Mbits/sec 0.000 ms 0/710720 (0%) sender [ 5] 0.00-10.00 sec 981 MBytes 823 Mbits/sec 0.041 ms 0/710650 (0%) receiver Signed-off-by: Mohammad Athari Bin Ismail <mohammad.athari.ismail@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
|---|---|---|
| .. | ||
| altr_tse_pcs.c | ||
| altr_tse_pcs.h | ||
| chain_mode.c | ||
| common.h | ||
| descs_com.h | ||
| descs.h | ||
| dwmac4_core.c | ||
| dwmac4_descs.c | ||
| dwmac4_descs.h | ||
| dwmac4_dma.c | ||
| dwmac4_dma.h | ||
| dwmac4_lib.c | ||
| dwmac4.h | ||
| dwmac5.c | ||
| dwmac5.h | ||
| dwmac100_core.c | ||
| dwmac100_dma.c | ||
| dwmac100.h | ||
| dwmac1000_core.c | ||
| dwmac1000_dma.c | ||
| dwmac1000.h | ||
| dwmac_dma.h | ||
| dwmac_lib.c | ||
| dwmac-anarion.c | ||
| dwmac-dwc-qos-eth.c | ||
| dwmac-generic.c | ||
| dwmac-imx.c | ||
| dwmac-intel-plat.c | ||
| dwmac-intel.c | ||
| dwmac-intel.h | ||
| dwmac-ipq806x.c | ||
| dwmac-lpc18xx.c | ||
| dwmac-mediatek.c | ||
| dwmac-meson8b.c | ||
| dwmac-meson.c | ||
| dwmac-oxnas.c | ||
| dwmac-qcom-ethqos.c | ||
| dwmac-rk.c | ||
| dwmac-socfpga.c | ||
| dwmac-sti.c | ||
| dwmac-stm32.c | ||
| dwmac-sun8i.c | ||
| dwmac-sunxi.c | ||
| dwmac-visconti.c | ||
| dwxgmac2_core.c | ||
| dwxgmac2_descs.c | ||
| dwxgmac2_dma.c | ||
| dwxgmac2.h | ||
| dwxlgmac2.h | ||
| enh_desc.c | ||
| hwif.c | ||
| hwif.h | ||
| Kconfig | ||
| Makefile | ||
| mmc_core.c | ||
| mmc.h | ||
| norm_desc.c | ||
| ring_mode.c | ||
| stmmac_ethtool.c | ||
| stmmac_hwtstamp.c | ||
| stmmac_main.c | ||
| stmmac_mdio.c | ||
| stmmac_pci.c | ||
| stmmac_pcs.h | ||
| stmmac_platform.c | ||
| stmmac_platform.h | ||
| stmmac_ptp.c | ||
| stmmac_ptp.h | ||
| stmmac_selftests.c | ||
| stmmac_tc.c | ||
| stmmac_xdp.c | ||
| stmmac_xdp.h | ||
| stmmac.h | ||