Page MenuHomeFreeBSD

iflib: Changes for ixlv(4) update
AbandonedPublic

Authored by erj on Jul 24 2018, 6:34 PM.

Details

Reviewers
shurd
sbruno
mmacy
Group Reviewers
Intel Networking
Summary
  • Add IFLIB_ADMIN_ALWAYS_RUN check to IOV task function so PF driver does not need to be up to handle VFLR events from VF
  • Add public iflib_request_reset() function so ixlv(4) can request a full up/down cycle after a HW VF reset; this just sets the IFC_DO_RESET flag so init runs again when _task_fn_admin next runs

Diff Detail

Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 19832
Build 19364: arc lint + arc unit

Event Timeline

erj created this revision.Jul 24 2018, 6:34 PM
erj added a reviewer: mmacy.Jul 25 2018, 4:25 PM
sbruno accepted this revision.Jul 25 2018, 6:16 PM
This revision is now accepted and ready to land.Jul 25 2018, 6:16 PM
erj planned changes to this revision.Aug 2 2018, 5:07 PM

I need to add the state lock to iflib_request_reset

erj updated this revision to Diff 46481.Aug 9 2018, 6:39 PM
  • iflib: Prevent kernel panic on detach in _task_fn_admin by checking if in detach
  • iflib: Add STATE_LOCK() around flag setting in iflib_request_reset()
erj updated this revision to Diff 46641.Aug 14 2018, 12:02 AM
  • iflib: Free remaining interrupt resources on failure in iflib_device_register()
  • iflib: Free RX queue TCP LRO memory on unload
erj added inline comments.Aug 23 2018, 11:54 PM
sys/net/iflib.c
258–259

Can I get feedback on whether it's ok to use an atomic flag like this?

264

Ditto

mmacy added a comment.EditedAug 25 2018, 7:11 PM

I'm confused; this is just doing a normal store / load for the in detach - you need a lock to serialize reading it with other operations.

erj updated this revision to Diff 47510.Aug 31 2018, 12:05 AM
  • iflib: Destroy state lock at end of iflib_device_deregister()
  • iflib: Move ifc_in_detach variable to flag in if_ctx_t's ifc_flags, and lock around it
erj added a comment.Sep 12 2018, 9:42 PM

I'm confused; this is just doing a normal store / load for the in detach - you need a lock to serialize reading it with other operations.

Does moving the in_detach value to ifc_flags and making sure to use the STATE_LOCK() when accessing it work?

Though honestly, I wonder if this whole "IFLIB_ADMIN_ALWAYS_RUN" in _task_fn_admin is a bad idea. Maybe we need something like iflib_timer(), but one that doesn't get started/stopped when the driver goes up or down. But 12 is coming soon, and ixlv(4) currently depends on these changes.

erj updated this revision to Diff 48494.Sep 27 2018, 12:57 AM
  • Revert "iflib: Free RX queue TCP LRO memory on unload"
erj abandoned this revision.Oct 12 2018, 10:59 PM