diff options
author | Chunsong Feng <fengchunsong@huawei.com> | 2021-12-10 06:52:37 +0100 |
---|---|---|
committer | Chunsong Feng <fengchunsong@huawei.com> | 2021-12-29 04:19:06 +0100 |
commit | f84196ac0f077041020288820324089e93e112f4 (patch) | |
tree | 1eaf6b07c1422c7120ce8ff09131c608824fa850 /src | |
parent | Merge pull request #44396 from cyx1231st/wip-seastore-fix-seastar-runner (diff) | |
download | ceph-f84196ac0f077041020288820324089e93e112f4.tar.xz ceph-f84196ac0f077041020288820324089e93e112f4.zip |
msg/async/dpdk:Add the TSO configuration
The TSO feature of some NICs(mlx5,iavf,sfc,hns3) is abnormal in DPDK-20.11.
The TSO feature is fiexed in DPDK-21.11. Therefore, a configure is added
for compatibility.
Signed-off-by: Chunsong Feng <fengchunsong@huawei.com>
Reviewed-by: luo rixin <luorixin@huawei.com>
Reviewed-by: Han Fengzhe <hanfengzhe@hisilicon.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/common/options/global.yaml.in | 4 | ||||
-rw-r--r-- | src/msg/async/dpdk/DPDK.cc | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/common/options/global.yaml.in b/src/common/options/global.yaml.in index 1c81c3a1701..a149ddebdc5 100644 --- a/src/common/options/global.yaml.in +++ b/src/common/options/global.yaml.in @@ -1465,6 +1465,10 @@ options: level: advanced default: true with_legacy: true +- name: ms_dpdk_enable_tso + type: bool + level: advanced + default: true - name: ms_dpdk_hw_flow_control type: bool level: advanced diff --git a/src/msg/async/dpdk/DPDK.cc b/src/msg/async/dpdk/DPDK.cc index 24a6764fb09..a10c6ec96ae 100644 --- a/src/msg/async/dpdk/DPDK.cc +++ b/src/msg/async/dpdk/DPDK.cc @@ -310,7 +310,10 @@ int DPDKDevice::init_port_start() } // TSO is supported starting from DPDK v1.8 - if (_dev_info.tx_offload_capa & DEV_TX_OFFLOAD_TCP_TSO) { + // TSO is abnormal in some DPDK versions (eg.dpdk-20.11-3.e18.aarch64), try + // disable TSO by ms_dpdk_enable_tso=false + if ((_dev_info.tx_offload_capa & DEV_TX_OFFLOAD_TCP_TSO) && + cct->_conf.get_val<bool>("ms_dpdk_enable_tso")) { ldout(cct, 1) << __func__ << " TSO is supported" << dendl; _hw_features.tx_tso = 1; } |