Page MenuHomeFreeBSD

if_bnxt: Restore Rx CQ doorbell skip-when-idle optimization on P5
AcceptedPublic

Authored by sumit.saxena_broadcom.com on Aug 3 2026, 1:02 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Sep 4, 3:13 PM
Unknown Object (File)
Wed, Aug 26, 5:15 PM
Unknown Object (File)
Wed, Aug 26, 11:24 AM
Unknown Object (File)
Tue, Aug 25, 9:52 PM
Unknown Object (File)
Tue, Aug 25, 5:24 PM
Unknown Object (File)
Mon, Aug 24, 5:19 PM
Unknown Object (File)
Sun, Aug 23, 7:29 PM
Unknown Object (File)
Sun, Aug 23, 1:50 PM
Subscribers
None

Details

Summary

The unconditional-doorbell fix for Whp/older NICs (always ring the Rx
CQ doorbell after processing Rx interrupts) had also been applied to
P5+ chips, discarding process_nq()'s work-done signal entirely and
losing the doorbell-skip optimization on P5+ when process_nq() finds
no CQ notification to act on.

Make process_nq() return whether it saw a CQ notification, and only
skip the Rx CQ doorbell on P5+ when it didn't; non-P5+ chips continue
to always ring it, since process_nq() isn't used on that path.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped