Page MenuHomeFreeBSD

if_bnxt: rework interrupt coalescing onto the AGGINT_QCAPS scheme
Needs ReviewPublic

Authored by sumit.saxena_broadcom.com on Mon, Aug 3, 1:12 PM.
Tags
None
Referenced Files
F168709497: D58621.id183302.diff
Sat, Aug 29, 6:20 PM
F168671903: D58621.diff
Sat, Aug 29, 1:35 PM
Unknown Object (File)
Sat, Aug 29, 6:01 AM
Unknown Object (File)
Fri, Aug 28, 3:05 PM
Unknown Object (File)
Wed, Aug 26, 5:17 PM
Unknown Object (File)
Wed, Aug 26, 12:29 PM
Unknown Object (File)
Tue, Aug 25, 4:46 PM
Unknown Object (File)
Mon, Aug 24, 3:42 PM
Subscribers
None

Details

Summary

Query firmware-advertised coalescing capabilities and program
per-direction rx/tx coalescing settings against them, replacing the
old hardcoded scheme. Add sysctls for the coalescing mode, budget,
and stats-timer knobs the new scheme exposes.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

sys/dev/bnxt/bnxt_en/bnxt_hwrm.c
3495

I think you need to explicitly take the hwrm lock and call the _hwrm_send_message() variant. As far as I can see, the resp is shared among commands and zeroed at every use, so once you drop the lock (which hwrm_send_message() does before return), the response could be zeroed or for somebody else's command.

sys/dev/bnxt/bnxt_en/bnxt_hwrm.c
3495

Yes, need to take hwrm lock explicitly, will fix it up in v2.