Page MenuHomeFreeBSD

Convert ixl(4)to use iflib
AbandonedPublic

Authored by erj on Feb 6 2016, 2:45 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Mar 28, 10:39 AM
Unknown Object (File)
Tue, Mar 5, 1:12 AM
Unknown Object (File)
Feb 23 2024, 9:08 AM
Unknown Object (File)
Feb 21 2024, 1:31 AM
Unknown Object (File)
Feb 3 2024, 3:29 AM
Unknown Object (File)
Jan 18 2024, 8:24 AM
Unknown Object (File)
Jan 15 2024, 5:51 AM
Unknown Object (File)
Jan 8 2024, 1:59 AM

Details

Reviewers
kmacy
gallatin
scottl
shurd
Group Reviewers
Intel Networking
Summary

Latest updates can be found here: https://github.com/intel-wired-ethernet/freebsd/tree/ixl-iflib

  • SR-IOV and the VF driver neither work nor compile
  • netmap is untested
  • VLANs do not work
  • no iWARP support
  • no nvmupdate support

Other bugs:

  • Memory leaks when passing traffic
  • Poor UDP throughput when using larger-than-mtu message sizes in netperf (e.g. -m > 1472 w/ 1500 mtu)
  • Occasional watchdog messages and/or MDD events
  • TX descriptor writeback mode causes interface watchdog/resets during UDP_STREAM netperf
Test Plan

Full regression, but details to be filled in later.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 8941
Build 9333: arc lint + arc unit

Event Timeline

kmacy retitled this revision from to convert ixl to iflib.
kmacy updated this object.
kmacy edited the test plan for this revision. (Show Details)
kmacy added reviewers: sbruno, gallatin.
kmacy set the repository for this revision to rS FreeBSD src repository - subversion.
kmacy added subscribers: scottl, benno.
kmacy edited edge metadata.

Update to remove packet parsing from driver

This doesn't cleanly apply on top of 11-current, on rS295683.

In D5214#113348, @erj wrote:

This doesn't cleanly apply on top of 11-current, on rS295683.

I'll post an update tomorrow. Thanks.

Update to build against latest HEAD + GENERIC
@erj please try along with latest iflib patch

Some files in ixl in the newest diff still won't apply cleanly.

  • fix interrupt assignment, LUT setup, and flowid assignment per Gallatin
  • don't ignore whitespace in case it's causing patch application problems for @erj
In D5214#113808, @erj wrote:

Some files in ixl in the newest diff still won't apply cleanly.

@erj I _just_ cloned https://github.com/freebsd/freebsd.git 10 minutes ago and the latest patch applies cleanly against it

kmacy@serenity [~/devel/HEAD-iflib-merge|22:15|11] git diff -U9999 master sys/dev/ixl sys/modules/ixl sys/modules/ixlv > ~/ixl.diff

kmacy@serenity [~/devel|22:11|93] git clone https://github.com/freebsd/freebsd.git FreeBSD-HEAD
...
kmacy@serenity [~/devel|22:17|94] cd FreeBSD-HEAD
kmacy@serenity [~/devel/FreeBSD-HEAD|22:18|95] patch -p1 < ~/ixl.diff
Hmm... Looks like a unified diff to me...
...

kmacy@serenity [~/devel/FreeBSD-HEAD|22:18|97] find sys -name "*.rej" | wc

0       0       0

Yep! I can confirm it does.

In D5214#113827, @erj wrote:

Yep! I can confirm it does.

Great.

My most recent changes may well have caused regressions so for the moment YMWV. Drew is at least testing the converted ixl in -STABLE.

  • Update for iflib interface update
  • Update TSO handling

Is this the final version? Or should there be a further update to this review?

kmacy edited edge metadata.

Split in to legacy and iflib versions

sys/dev/ixl/legacy_if_ixl.c
51 ↗(On Diff #16242)

Version string is here guys!

I can attempt to update the iflib version of ixl with what he have internally, but would it be a better idea to base it off what's in the iflib version of ixgbe right now (D5213)?

erj added a reviewer: kmacy.

Convert ixl-1.6.6-k (or at least the PF-non-IOV driver) to iflib

ixl: Get rid of files accidentally re-added during rebase.

  • Add NOINTEL config file for testing
  • iflib: Update with style(9) fixes.
  • ixl(4): Begin process of converting ixl(4) to use iflib.
  • ixl: Copy over final bits of D5214 diff, possibly break some stuff.
  • ixl: Add more files.
  • ixl(4): Fix a lot of compile errors
  • ixl: ixl pf driver seems to compile ok now
  • Mostly compiles; start to remove legacy code...
  • ixl(4): Driver is iflib-only; compiles but causes kernel panic at attach.
  • ixl(4): PF driver compiles and ping works.
  • ixl(4): Remove comments; make queue interrupts RX-caused only
  • ixl(4): Edit comments
  • ixl: Get rid of files accidentally re-added during rebase.
  • ixl: Fix compile error
  • ixlv: Start converting driver
  • ixl: Update to 1.7.12; fix compile.
  • ixl: Change name to 700 series from just 7
  • ixlv: Convert more of driver
  • ixlv: VF driver still not fully converted, but now compiling
  • ixl: Bug fixes; label formatting in iflib
  • ixl: Fix bug where tx would stop working after ifconfig down && up
  • ixl: Random changes
  • ixl: Somehow fixed weird TXQ 0 bug supposedly fixed a couple commits ago
  • ixl: Change TODO comment from question to must-do
  • ixl: Start changes to support HW TX interrupts in iflib (like in legacy driver)
  • ixl: Fixes to get ixl building again, after iflib update.
  • ixl: Remove various comments and printfs
  • ixl: Updates.
  • ixl: Update reset handling; make some iflib functions non-static.
erj planned changes to this revision.Jul 24 2017, 5:25 PM

I'm working on this on a github branch here:

https://github.com/intel-wired-ethernet/freebsd/tree/iflib

It might be easier to follow along using that instead of updating this phabricator review. I think I'll return to this when it's more fully-baked.

erj retitled this revision from convert ixl to iflib to Convert ixl(4)to use iflib.
erj edited the summary of this revision. (Show Details)
erj edited the test plan for this revision. (Show Details)
erj edited reviewers, added: scottl, shurd; removed: sbruno.
erj set the repository for this revision to rS FreeBSD src repository - subversion.

Update converted version of ixl(4) to 1.9.8-k; includes some other bugfixes and updates.

erj edited the summary of this revision. (Show Details)