Page MenuHomeFreeBSD

ixl: honor IPI_TX_INTR
Needs ReviewPublic

Authored by vmaffione on Oct 21 2020, 8:14 PM.
Tags
None
Referenced Files
F81617523: D26896.diff
Fri, Apr 19, 1:19 AM
F81617418: D26896.diff
Fri, Apr 19, 1:16 AM
F81617356: D26896.diff
Fri, Apr 19, 1:15 AM
F81617352: D26896.diff
Fri, Apr 19, 1:15 AM
F81617350: D26896.diff
Fri, Apr 19, 1:15 AM
Unknown Object (File)
Thu, Apr 18, 1:19 AM
Unknown Object (File)
Thu, Apr 18, 1:16 AM
Unknown Object (File)
Thu, Apr 18, 1:15 AM
Subscribers

Details

Summary

The ixl_isc_txd_encap() iflib callback was not handling the IPI_TX_INTR flag properly.
When this flag is not set, the callback is not supposed to set the report flag in the EOP descriptor, and therefore do not ask the NIC for a descriptor writeback (and possibly a TX interrupt).

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 34310

Event Timeline

Although the change seems legit, it has been reported to cause hangs with netmap pkt-gen.
See:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248652 (from comment 29)
Any idea why this may be the case?
In stable/11, the same logic (two report flags set for every ring) does not cause hangs.

@krzysztof.galazka_intel.com, do you have any update on an answer to @vmaffione's question ?