Page MenuHomeFreeBSD

Detach Rx/Tx/IOV tasks upon iflib device or psuedo device register failure.
ClosedPublic

Authored by stallamr_netapp.com on Nov 23 2020, 5:36 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 26 2023, 12:39 AM
Unknown Object (File)
Dec 20 2023, 4:24 AM
Unknown Object (File)
Dec 12 2023, 11:25 PM
Unknown Object (File)
Nov 17 2023, 7:07 PM
Unknown Object (File)
Nov 9 2023, 10:08 PM
Unknown Object (File)
Nov 8 2023, 6:34 PM
Unknown Object (File)
Nov 8 2023, 1:22 PM
Unknown Object (File)
Nov 6 2023, 9:05 PM

Details

Summary

Once MSIX interrupt assign is complete, Rx/Tx/IOV tasks gets attach to respective taskqueues. Upon IFDI_ATTACH_POST()
or any failure beyond interrupt assignment, only admin tasks gets detached so far. While I'm here, group taskqueue
detach tasks into single function and use new function instead.

Test Plan

At NetApp, tested with kernel failpoints on physical interfaces. Didnot test psuedo interfaces though.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 35007
Build 31992: arc lint + arc unit

Event Timeline

sys/net/iflib.c
5079

This calls iflib_rx_sds_free() on each rxq, so why is it necessary to keep freeing the freelist bitmaps in the loop immediately above?

5150

Same question as above.

sys/net/iflib.c
5079

Thanks Mark for pointing this out. I agree. Above loop to free bitmap is not necessary. I will remove the loop and refresh the change.

5150

Agree. Will remove the loop and refresh the review.

rx bitmap do get free in following function call. Remove explicit free of bitmap yet again.

I think this is ok. I'll give other reviewers a few more days to have a look.

This revision was not accepted when it landed; it landed in state Needs Review.Dec 7 2020, 2:53 PM
This revision was automatically updated to reflect the committed changes.