Page MenuHomeFreeBSD
Feed Advanced Search

Jan 24 2020

gallatin requested changes to D23348: Widen EPOCH(9) usage in network drivers (as a pre-step for D23347).

I like the idea of using a different ether_input() for epoch and non-epoch safe drivers to get the tests out of the critical path. However, this is a minor optimization at best, as branch predictors are really good these days on modern CPUs.

Jan 24 2020, 2:15 PM
gallatin requested changes to D23347: Add support for batching interrupts in system interrupt code.
Jan 24 2020, 2:11 PM
gallatin added a comment to D23347: Add support for batching interrupts in system interrupt code.

Some feedback:

Jan 24 2020, 2:11 PM

Jan 22 2020

gallatin added a comment to D23315: Make sure end of receive doesn't cause interrupt starvation in iflib.

As we discussed in slack, I'm not a huge fan of fixing things with a callout. If the hardware was amenable, I'd much rather leave the ring partially stocked and drop new packets until we were able to allocate mbufs again. However, based on the findings you reported with igb (it wanting a full rx ring to generate interrupts), I'm afraid that might require too much work from hardware drivers. And I'd prefer a fix to a real problem, even if its not something I personally find appealing, to leaving a real bug unfixed and having machines become unreachable.

Jan 22 2020, 10:18 PM
gallatin accepted D23315: Make sure end of receive doesn't cause interrupt starvation in iflib.
Jan 22 2020, 9:54 PM
gallatin accepted D23315: Make sure end of receive doesn't cause interrupt starvation in iflib.
Jan 22 2020, 8:06 PM
gallatin added inline comments to D23315: Make sure end of receive doesn't cause interrupt starvation in iflib.
Jan 22 2020, 3:41 PM

Jan 20 2020

gallatin accepted D23242: Enter network epoch for network interrupts.
Jan 20 2020, 5:41 PM

Jan 18 2020

gallatin committed rS356866: pcpu_page_alloc: guard against empty NUMA domains.
pcpu_page_alloc: guard against empty NUMA domains
Jan 18 2020, 6:26 PM

Dec 29 2019

gallatin added a comment to D19433: [new driver] tn40xx(4): Tehuti networks tn40xx device driver..

Why are there multiple reviews? The other one still appears to be open (https://reviews.freebsd.org/D18856)

Dec 29 2019, 12:27 AM

Dec 22 2019

gallatin accepted D21712: iflib: Prevent watchdog from resetting idle queues.
Dec 22 2019, 11:09 PM
gallatin added a comment to D18856: new driver: Tehuti networks tn40xx device driver..

There is code which is clearly FreeBSD specific that needs to be converted to comply with style(9).

Dec 22 2019, 1:41 AM

Dec 17 2019

gallatin accepted D22802: Add support for TLS 1.3 using AES-GCM to the OCF backend for KTLS..
Dec 17 2019, 5:31 PM
gallatin accepted D22801: Add a structure for the AAD used in TLS 1.3..
Dec 17 2019, 4:51 PM

Nov 18 2019

gallatin accepted D22393: Revise the page cache size policy..
Nov 18 2019, 11:51 PM

Nov 15 2019

gallatin accepted D22335: netinet*: replace IP6_EXTHDR_GET().
Nov 15 2019, 2:37 PM

Nov 7 2019

gallatin closed D21553: hwpmc : fix perf counter MSR access.
Nov 7 2019, 7:54 PM
gallatin committed rS354470: hwpmc : fix AMD perf counter MSR access.
hwpmc : fix AMD perf counter MSR access
Nov 7 2019, 7:54 PM
gallatin added a comment to D21553: hwpmc : fix perf counter MSR access.

This fixes GPFs for me when using hwpmc on AMD Rome. The GPFs were triggered out of MSR writes in the amd hwpmc interrupt handler.

Nov 7 2019, 2:28 PM

Nov 4 2019

gallatin committed rS354338: Add tunable to allow interrupts on hyperthreaded cores.
Add tunable to allow interrupts on hyperthreaded cores
Nov 4 2019, 7:30 PM
gallatin closed D22233: Add tunable to allow interrupts on hyperthreaded cores.
Nov 4 2019, 7:30 PM
gallatin created D22233: Add tunable to allow interrupts on hyperthreaded cores.
Nov 4 2019, 2:26 PM

Nov 1 2019

gallatin abandoned D21534: hwpmc callstack fix.
Nov 1 2019, 2:45 PM
gallatin commandeered D21534: hwpmc callstack fix.

This was fixed in r353483, however the wrong differential was tagged in that commit, so this differential was never closed.

Nov 1 2019, 2:44 PM

Oct 31 2019

gallatin accepted D22203: iflib: properly release memory allocated for DMA.

Thanks for fixing this. The NULL canaries were left over from when iflib had a separate code path which avoided busdma. When I removed this codepath, I neglected to remove those canaries.

Oct 31 2019, 1:05 PM

Oct 25 2019

gallatin accepted D22157: iflib: cleanup memory leaks on driver detach.
Oct 25 2019, 11:37 PM

Oct 24 2019

gallatin committed rS354029: Add a tunable to set the pgcache zone's maxcache.
Add a tunable to set the pgcache zone's maxcache
Oct 24 2019, 6:39 PM
gallatin closed D22112: Add a tunable to set the pgcache zone's maxcache.
Oct 24 2019, 6:39 PM
gallatin added inline comments to D22086: iflib: Stop interface before (un)registering VLAN.
Oct 24 2019, 6:19 PM

Oct 23 2019

gallatin accepted D22117: Use a counter with a random base for explicit IVs in GCM..

Works fine running on a Netflix cache.

Oct 23 2019, 11:08 PM
gallatin accepted D22071: iflib: call ether_ifdetach and netmap_detach before stop.
Oct 23 2019, 6:10 PM

Oct 22 2019

gallatin updated the summary of D22112: Add a tunable to set the pgcache zone's maxcache.
Oct 22 2019, 3:39 PM
gallatin created D22112: Add a tunable to set the pgcache zone's maxcache.
Oct 22 2019, 3:38 PM

Oct 10 2019

gallatin added inline comments to D21959: introduce new 'ice' driver for Intel E800 Ethernet controllers.
Oct 10 2019, 12:07 PM
gallatin added a comment to D21959: introduce new 'ice' driver for Intel E800 Ethernet controllers.

I just looked for a short time.. more comments later..

Oct 10 2019, 12:00 AM

Oct 9 2019

gallatin accepted D21868: e1000: correctly set isc_pause_frames only when XOFF increases.
Oct 9 2019, 8:47 PM
gallatin accepted D21869: ix: report isc_pause_frames during stat update.
Oct 9 2019, 8:46 PM
gallatin added inline comments to D21869: ix: report isc_pause_frames during stat update.
Oct 9 2019, 8:21 PM
gallatin accepted D21870: ixl: report whether device received pause frames.
Oct 9 2019, 8:13 PM

Oct 8 2019

gallatin added a comment to D21712: iflib: Prevent watchdog from resetting idle queues.

Yes, I meant adding a KASSERT or at least a comment.

Oct 8 2019, 10:47 PM
gallatin accepted D21943: Correct and final KPI to traverse through interface address lists for drivers.Removal of not stack allocated epoch_tracker..

I like this a lot. Note that I only looked at mxge and a few iflib drivers.

Oct 8 2019, 5:59 PM

Oct 7 2019

gallatin accepted D21891: Add support for KTLS via the TOE on Chelsio's T6 adapters..
Oct 7 2019, 8:21 PM

Oct 6 2019

gallatin accepted D21179: Add header definition for RFC4340, Datagram Congestion Control Protocol.
Oct 6 2019, 6:32 PM

Oct 3 2019

gallatin added inline comments to D21891: Add support for KTLS via the TOE on Chelsio's T6 adapters..
Oct 3 2019, 11:15 PM

Oct 1 2019

gallatin updated the diff for D21857: KTLS intel isa-l : Rework TLS 1.3 support.

Moved PORTREVISION down a line to fix portlint complaint as pointed out by jhb

Oct 1 2019, 6:09 PM
gallatin created D21857: KTLS intel isa-l : Rework TLS 1.3 support.
Oct 1 2019, 5:51 PM

Sep 29 2019

gallatin accepted D21831: Add IFLIB_SINGLE_IRQ_RX_ONLY..
Sep 29 2019, 1:42 PM

Sep 28 2019

gallatin added a comment to D21122: Proof-of-concept hack: remove mp_ring from TX path.

image.png (488ร—876 px, 48 KB)

Sep 28 2019, 7:53 PM
gallatin added a comment to D21122: Proof-of-concept hack: remove mp_ring from TX path.

In my tests of UDP transmit using N copies of netperf on a 14c/28t Xeon E5-2697 v3 (haswell) using a 40Gbe ixl, I see nearly a 100% performance improvement (eg, double the packet rate) as compared to using mp_ring. In fact, for a single-threaded test the packet rate is 4x what it is for mp_ring with tx-abdicate enabled.

Sep 28 2019, 7:50 PM

Sep 27 2019

gallatin added a comment to D21796: Fix a sw ktls bug where we would never encrypt anonymous data in place.

Applied suggested changes prior to committing.

Sep 27 2019, 8:11 PM
gallatin committed rS352816: kTLS: Fix a bug where we would not encrypt anon data inplace..
kTLS: Fix a bug where we would not encrypt anon data inplace.
Sep 27 2019, 8:09 PM
gallatin closed D21796: Fix a sw ktls bug where we would never encrypt anonymous data in place.
Sep 27 2019, 8:08 PM
gallatin added a comment to D19111: Summary: widen net_epoch coverage up to all packet processing.

@gallatin: Network drivers can also use worker threads instead of IRQ's to process packets. Especially USB network devices.

Sep 27 2019, 7:46 PM
gallatin added a comment to D21801: kernel support for TLS 1.3.
In D21801#476448, @jhb wrote:

Actually, we need to update the logic that populates the TLS header to stop writing the 8 byte nonce for GCM for 1.3 in ktls_seq? It probably doesn't hurt for it to stay, but it would be cleaner if we removed it. I've actually thought about reworking what we do anyway. The 8 byte nonce doesn't have to be the sequence number, it just has to be unique per record. OpenSSL picks a random 8 byte value and increments it. We could actually do the something similar and generate the TLS header always in ktls_frame(). We would generate an 8 byte random value that is saved in the TLS session when it is created and just increment it for each record that is framed. There's no requirement that the nonce's be monotonically increasing, etc. just unique per record. This would simplify ktls_seq() and would make the 1.3 vs 1.2 handling a bit clearer.

Sep 27 2019, 7:37 PM
gallatin updated the diff for D21446: New port: security/ktls_isa-l_crypto..

Re-submit diff with -U999999 for full context.

Sep 27 2019, 7:22 PM
gallatin updated the diff for D21446: New port: security/ktls_isa-l_crypto..

Updated the port to handle TLS 1.3

Sep 27 2019, 7:20 PM
gallatin committed rS352814: kTLS support for TLS 1.3.
kTLS support for TLS 1.3
Sep 27 2019, 7:18 PM
gallatin closed D21801: kernel support for TLS 1.3.
Sep 27 2019, 7:18 PM
gallatin added a comment to D21801: kernel support for TLS 1.3.

Applied suggested changes in what I'm about to commit.

Sep 27 2019, 7:14 PM
gallatin added reviewers for D21797: Add IFCAP_NOMAP to iflib: erj, marius.
Sep 27 2019, 4:51 PM

Sep 26 2019

gallatin accepted D19111: Summary: widen net_epoch coverage up to all packet processing.
Sep 26 2019, 11:26 PM
gallatin updated the diff for D21446: New port: security/ktls_isa-l_crypto..
  • I've taken linimon's changes from bugzilla
  • I've hooked the port to the Makefile in the parent
Sep 26 2019, 7:07 PM
gallatin commandeered D21446: New port: security/ktls_isa-l_crypto..
Sep 26 2019, 7:05 PM
gallatin updated the diff for D21801: kernel support for TLS 1.3.

Updated to address feedback from Hans:

  • add comment that record_type must be first in the union
  • added a constant for the 1.3 GCM iv len and checked it where we check it for 1.2
Sep 26 2019, 2:38 PM
gallatin accepted D21616: Replace MD5 by SipHash as TCP keyed hash function.

I tested this, and it performed well and worked fine.

Sep 26 2019, 2:13 PM
gallatin created D21801: kernel support for TLS 1.3.
Sep 26 2019, 1:57 PM
gallatin created D21797: Add IFCAP_NOMAP to iflib.
Sep 26 2019, 12:47 AM

Sep 25 2019

gallatin created D21796: Fix a sw ktls bug where we would never encrypt anonymous data in place.
Sep 25 2019, 10:36 PM

Sep 20 2019

gallatin added a comment to D21712: iflib: Prevent watchdog from resetting idle queues.

Would it make sense then to assert that the link is down?

Sep 20 2019, 2:55 PM
gallatin committed rS352552: remove redundant "ktls" in KTLS thr name.
remove redundant "ktls" in KTLS thr name
Sep 20 2019, 9:36 AM
gallatin added a comment to D21712: iflib: Prevent watchdog from resetting idle queues.

I'm not sure, but I think the only way this can happen is when the link is down. Is that the caee here?

Sep 20 2019, 8:27 AM
gallatin accepted D21711: iflib: Remove redundant VLAN events deregistration.
Sep 20 2019, 8:15 AM

Sep 17 2019

gallatin added a comment to D21122: Proof-of-concept hack: remove mp_ring from TX path.

Uncrappy is nice. But if we've got lock contention, it would be nice to know why.

Sep 17 2019, 7:17 PM
gallatin added a comment to D21122: Proof-of-concept hack: remove mp_ring from TX path.
Sep 17 2019, 12:39 PM

Sep 16 2019

gallatin accepted D21644: During SYN floods, fallback exclusively to SYN cookies for a small period.
Sep 16 2019, 12:18 PM

Sep 14 2019

gallatin added a comment to D21636: Filter TCP connections to SO_REUSEPORT_LB listen sockets by NUMA domain.

This isn't worth much consternation but I do wonder if we can try to limit the proliferation of these sockopts. For instance, if you generalize the existing _LB to take a generic integer arg, would that and cpuset achieve the same effect (and generalize to however people want to use those numbered groups?)

Sep 14 2019, 9:56 PM

Sep 13 2019

gallatin added inline comments to D21644: During SYN floods, fallback exclusively to SYN cookies for a small period.
Sep 13 2019, 10:21 PM
gallatin created D21648: ktls: NUMA awareness.
Sep 13 2019, 8:07 PM
gallatin added inline comments to D21636: Filter TCP connections to SO_REUSEPORT_LB listen sockets by NUMA domain.
Sep 13 2019, 6:53 PM
gallatin updated the diff for D21636: Filter TCP connections to SO_REUSEPORT_LB listen sockets by NUMA domain.
  • Fixed line wrap issues pointed out by igor
Sep 13 2019, 6:53 PM
gallatin added inline comments to D21636: Filter TCP connections to SO_REUSEPORT_LB listen sockets by NUMA domain.
Sep 13 2019, 6:01 PM
gallatin updated the diff for D21636: Filter TCP connections to SO_REUSEPORT_LB listen sockets by NUMA domain.

Address bz's concerns:

  • Shorten lines in man page
  • Make numa_domain consistently uint8_t
  • simplify logic in places
  • fix some style errors
Sep 13 2019, 6:00 PM
gallatin created D21636: Filter TCP connections to SO_REUSEPORT_LB listen sockets by NUMA domain.
Sep 13 2019, 2:24 PM

Sep 11 2019

gallatin committed rS352228: Avoid unneeded call to arc4random() in syncache_add().
Avoid unneeded call to arc4random() in syncache_add()
Sep 11 2019, 6:48 PM
gallatin closed D21591: avoid unneeded call to arc4random() in syncache_add().
Sep 11 2019, 6:48 PM

Sep 10 2019

gallatin created D21591: avoid unneeded call to arc4random() in syncache_add().
Sep 10 2019, 7:47 PM

Aug 30 2019

D21446: New port: security/ktls_isa-l_crypto. is now accepted and ready to land.
Aug 30 2019, 1:46 PM

Aug 27 2019

gallatin added a comment to D21122: Proof-of-concept hack: remove mp_ring from TX path.
Aug 27 2019, 12:27 AM

Aug 23 2019

gallatin accepted D21277: Add kernel-side support for in-kernel TLS..
Aug 23 2019, 11:39 PM

Aug 21 2019

D21127: Final prep patch for BBR is now accepted and ready to land.
Aug 21 2019, 12:42 PM

Aug 18 2019

D21242: Reallocate pcpu area on the correct domain. now requires changes to proceed.
Aug 18 2019, 7:52 PM

Aug 16 2019

gallatin added inline comments to D21277: Add kernel-side support for in-kernel TLS..
Aug 16 2019, 6:59 PM
gallatin added a comment to D21122: Proof-of-concept hack: remove mp_ring from TX path.

On another hardware (Atom 4cores):

x inet4 forwarding of small packet size, bypass_mpring=0 in packets-per-second
+ inet4 forwarding of small packet size, bypass_mpring=1 in packets-per-second
+--------------------------------------------------------------------------+
|+                              +  ++  +                x           x x x  |
|                                                          |______A__M____||
|            |_______________A_____M________|                              |
+--------------------------------------------------------------------------+
    N           Min           Max        Median           Avg        Stddev
x   4      927858.5        983285        971934     963752.88      24606.11
+   5        749042        872241        859294      839484.8     51106.313
Difference at 95.0% confidence
        -124268 +/- 66405
        -12.8942% +/- 6.76603%
        (Student's t, pooled s = 41856.6)

Bigger impact her: -12%

Aug 16 2019, 12:44 PM

Aug 15 2019

D21251: Add phys_avail allocation routines. is now accepted and ready to land.
Aug 15 2019, 12:14 AM

Aug 2 2019

gallatin committed rS350527: MFC r350245.
MFC r350245
Aug 2 2019, 12:13 AM

Jul 24 2019

D21041: net: Update SFF-8024 definitions and strings with values from rev 4.6 is now accepted and ready to land.
Jul 24 2019, 8:51 PM ยท network
D21003: iflib: fix dangling device softc pointer is now accepted and ready to land.
Jul 24 2019, 8:48 PM

Jul 23 2019

gallatin added a comment to D18028: Add support for Intel Speed Shift.

Oh, and in the documentation, it would be handy to note that BIOSes will sometimes disable this functionality and you may need to enable or disable certain common settings in the BIOS.

Jul 23 2019, 8:13 PM
gallatin added a comment to D18028: Add support for Intel Speed Shift.

I just cherry picked this into my tree to try on some servers. As a *USER*, I have the following comments:

Jul 23 2019, 8:11 PM
gallatin committed rS350245: pciconf: report PCI Gen4 speeds.
pciconf: report PCI Gen4 speeds
Jul 23 2019, 4:28 PM