Page MenuHomeFreeBSD

mgb: Fix nop interrupt handling
ClosedPublic

Authored by emaste on Sep 29 2021, 9:31 PM.
Tags
None
Referenced Files
F102105493: D32231.diff
Thu, Nov 7, 4:32 PM
Unknown Object (File)
Tue, Oct 29, 7:15 AM
Unknown Object (File)
Wed, Oct 23, 1:02 PM
Unknown Object (File)
Tue, Oct 15, 6:23 AM
Unknown Object (File)
Tue, Oct 15, 6:23 AM
Unknown Object (File)
Tue, Oct 15, 6:23 AM
Unknown Object (File)
Tue, Oct 15, 6:10 AM
Unknown Object (File)
Oct 3 2024, 6:57 AM
Subscribers
None

Details

Summary

Previously mgb_admin_intr printed a diagnostic message if no interrupt status bits were set; device_printf() can't be called from a filter so just drop it. Also return FILTER_STRAY in this case - there is nothing further to do.

MFC after: 1 week
Fixes: 8890ab7758b8 ("Introduce if_mgb driver...")
Sponsored by: The FreeBSD Foundation

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

emaste created this revision.
sys/dev/mgb/if_mgb.c
783

This condition does occur, but appears to cause no harm. I think it's still worth trying to track down, but the printf did not help in doing so.

Running iperf overnight (with this change applied) I see in vmstat -i

irq133: mgb0: admin 2522227216
irq134: mgb0: rxq0 4915425610

this is with about 5e9 rx packets and about 2.5e9 tx packets per netstat -i, so appears that the admin intr is being called on tx and further investigation is warranted. Still, this change is an incremental improvement in correctness.

This revision is now accepted and ready to land.Sep 30 2021, 3:44 PM
This revision was automatically updated to reflect the committed changes.