[hns3-0115] add 8 BD limit for tx flow
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
kunpeng920 |
Fix Released
|
Undecided
|
Ike Panhc | ||
Ubuntu-18.04 |
Fix Released
|
Undecided
|
Ike Panhc | ||
Ubuntu-18.04-hwe |
Fix Released
|
Undecided
|
Unassigned | ||
Ubuntu-20.04 |
Fix Released
|
Undecided
|
Unassigned | ||
Upstream-kernel |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Ike Panhc |
Bug Description
[Impact]
We get reports that iscsi and spark tests fail on hns3
[Fix]
Cherry-
net: hns3: add 8 BD limit for tx flow
net: hns3: avoid mult + div op in critical data path
net: hns3: remove some ops in struct hns3_nic_ops
net: hns3: fix for not calculating tx bd num correctly
net: hns3: unify maybe_stop_tx for TSO and non-TSO case
net: hns3: add check for max TX BD num for tso and non-tso case
net: hns3: fix for TX queue not restarted problem
net: hns3: fix a use after free problem in hns3_nic_
[Test]
No known way to reproduce it in our lab. Regression test only.
[Regression Potential]
Patchset only affects hns3 driver. Minimal risk for other drivers and platform.
[Bug Description]
A single transmit packet can span up to 8 descriptors,
TSO transmit packet can be stored up to 63 descriptors
and each segment within the TSO should be spanned up to
8 descriptors.
If the packet needs more than 8 BD, and the total size of
every 7 continuous frags more than MSS, HW does not support
it, and it need driver makes SKB Linearized.
[Actual Results]
iscsi and bigdata spark test OK
[Expected Results]
iscsi and bigdata spark test OK
[Reproducibility]
Inevitably
[Additional information]
Hardware: D06
Firmware: NA
Kernel: NA
DTS2018091810050
[Resolution]
SW use skb_copy to merge frag;
51e8439f3496 net: hns3: add 8 BD limit for tx flow
5f543a54eec0 net: hns3: fix for not calculating tx bd num correctly
tags: | added: ikeradar |
description: | updated |
tags: | removed: ikeradar |
Changed in kunpeng920: | |
status: | Fix Committed → Fix Released |
Changed in kunpeng920: | |
status: | Fix Released → New |
Changed in kunpeng920: | |
status: | Triaged → In Progress |
tags: | added: ikeradar |
Changed in linux (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in linux (Ubuntu): | |
status: | New → Fix Released |
description: | updated |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Bionic): | |
assignee: | nobody → Ike Panhc (ikepanhc) |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
Changed in kunpeng920: | |
status: | In Progress → Fix Committed |
tags: | removed: ikeradar |
Changed in kunpeng920: | |
status: | Fix Committed → Fix Released |
Patch 5f543a54eec0 ("net: hns3: fix for not calculating tx bd num correctly") fixes 3fe13ed95dd3 ("net: hns3: avoid mult + div op in critical data path"), which is merged into mainline since 5.1