And finally the webrev (no review board — haven’t set up rbt yet) —
http://cr.illumos.org/~webrev/gdamore/sfxge/

Thanks in advance for review feedback!

 - Garrett

On Tue, Mar 22, 2016 at 11:20 AM, Garrett D'Amore <garr...@damore.org>
wrote:

> I’m now posting the sfxge driver for code review.  I don’t have
> webrev/review board (yet), but here’s a pull-request that you can comment
> on, or merge into a private tree (yes I know illumos doesn’t merge PRs.):
>
> https://github.com/illumos/illumos-gate/pull/16
>
> So this is the sfxge driver which supports modern Solarflare NICs,
> including 10 and 40 GbE.  I’ve only tested 10GbE using the
> Solarflare Flareon Ultra 7000 Series.
>
> My testing is that this driver, when tuned properly, gives significantly
> lower latency than the ixgbe driver.
>
> I’ve not benchmarked for throughput, or CPU utilization.  In my world
> latency is king.  I have however put rather severe load in terms of packets
> per second on the NIC… I’ve run stress runs with TCP where I push around 1M
> pkts/sec (TCP messages at 200 bytes per message with Nagle disabled) across
> this NIC; at that rate the TCP stack and the soft rings from GLDv3 become
> concerns, although I ran out of test client capacity before I saturated the
> capabilities of this NIC.  (My testing involved an in-kernel TCP proxy that
> I developed for our SDN at Lucera.)  Round trip latencies with this driver
> and combination are typically several usec (or more!) better than I could
> achieve with ixgbe.
>
> The driver lacks support for Crossbow virtualization, which means it uses
> soft rings.  Even with this deficiency, it out performs the ixgbe NIC in my
> configuration.  (I will work on addressing Crossbow support with Solarflare
> in a future update.)
>
> SFC9300 NICs are not enabled, but this can be done with a compile time
> option; if anyone has such NICs I’d be grateful for help testing.  SFC 9200
> work fine.  (I’m not sure SFC 9300 are actually available for purchase yet.)
>
> The older SFC 4000 family is *not* supported — the support for this was
> present in earlier versions of the code, but Solarflare have removed the
> code from their common code base, and so such NICs should not be used.
>
> This driver was contributed directly for illumos integration by
> Solarflare, and their engineering staff have been enormously helpful in
> this effort.  Please join me in thanking Solarflare.
>
> The driver has some illumos-specific improvements (mostly cleaning up
> unused Solaris 10 support for legacy NDD, some other minor fixes and
> improvements, man page, packaging, etc.) that were performed by me, as well
> as lint cleanups. Note that the driver was already in very good shape, and
> is filled with rich dtrace probes, etc.
>
> If you want to see the gory details of the changes I made, have a look at
> my github branch here:
>
> https://github.com/gdamore/illumos-core/tree/sfxge
>
> We are using this driver and NIC at Lucera.  That said, there may be sharp
> edges still, and I’ve not yet run the entire thing through NICDRV.  (Mostly
> because setting up NICDRV is a major PITA.)
>
> Again, if you can help with testing (especially with 40GbE!), I’d be
> grateful.
>
> And review feedback is most welcome as well!
>
>  - Garrett
>



-------------------------------------------
illumos-discuss
Archives: https://www.listbox.com/member/archive/182180/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182180/21175430-2e6923be
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=21175430&id_secret=21175430-6a77cda4
Powered by Listbox: http://www.listbox.com

Reply via email to