The first packet after the ring is initialized was never
completed as isc_txd_credits_update() would not include it in the
count of completed packets. This caused netmap to never complete
a batch. See PR 233022 and 233607 for more details.
Details
Details
- Reviewers
sbruno lev erj jeb - Commits
- rS341427: MFC r341156:
rS341156: Fix first-packet completion
lev tests all the things!
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
I know I'm late commenting on this, but I think the correct fix is to initialize tx_cidx_processed to txr->desc_count -1 when we initialize.
head/sys/dev/ixl/ixl_txrx.c | ||
---|---|---|
523 | Also, this MPASS seems very fishy. I don't think it's correct. |