Page MenuHomeFreeBSD

Convert ixl(4)to use iflib
AbandonedPublic

Authored by erj on Feb 6 2016, 2:45 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 OK
Unit
No Unit Test Coverage
Build Status
Buildable 7501
Build 7661: arc lint + arc unit

Event Timeline

kmacy updated this revision to Diff 13084.Feb 6 2016, 2:45 AM
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.
kmacy added subscribers: scottl, benno.
kmacy updated this revision to Diff 13241.Feb 12 2016, 12:40 AM
kmacy edited edge metadata.

Update to remove packet parsing from driver

erj added a subscriber: erj.Feb 18 2016, 12:55 AM

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

kmacy added a comment.Feb 18 2016, 4:37 AM
In D5214#113348, @erj wrote:

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

I'll post an update tomorrow. Thanks.

kmacy updated this revision to Diff 13453.Feb 18 2016, 11:34 PM

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

erj added a comment.Feb 18 2016, 11:54 PM

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

kmacy updated this revision to Diff 13456.Feb 19 2016, 12:08 AM
  • 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
erj added a comment.Feb 19 2016, 12:16 AM

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.

kmacy updated this revision to Diff 13626.Feb 23 2016, 1:44 AM

update against HEAD

kmacy updated this revision to Diff 13967.Mar 2 2016, 2:12 AM
  • Update for iflib interface update
  • Update TSO handling
sbruno edited edge metadata.Apr 18 2016, 8:42 PM

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

kmacy updated this revision to Diff 16242.May 12 2016, 7:47 AM
kmacy edited edge metadata.

Split in to legacy and iflib versions

kmacy added inline comments.May 13 2016, 5:32 AM
sys/dev/ixl/legacy_if_ixl.c
51 ↗(On Diff #16242)

Version string is here guys!

erj added a comment.Jan 4 2017, 6:23 PM

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 commandeered this revision.Feb 15 2017, 10:52 PM
erj added a reviewer: kmacy.
erj updated this revision to Diff 25249.Feb 15 2017, 10:53 PM

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

erj updated this revision to Diff 25251.Feb 15 2017, 11:38 PM

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

erj updated this revision to Diff 25252.Feb 15 2017, 11:42 PM

Remove old D5213 files.

erj updated this revision to Diff 25255.Feb 16 2017, 12:01 AM

ixl: Fix compile error

erj updated this revision to Diff 27798.Apr 27 2017, 11:25 PM
  • 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 updated this revision to Diff 27799.Apr 27 2017, 11:27 PM

Remove ixgbe updates.

erj planned changes to this revision.Jul 24 2017, 5:25 PM
erj added a comment.Oct 17 2017, 9:05 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 updated this revision to Diff 41560.Apr 17 2018, 12:32 AM
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.

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)Apr 17 2018, 12:33 AM
erj edited the summary of this revision. (Show Details)