Page MenuHomeFreeBSD

gallatin (Andrew Gallatin)
User

Projects

User Details

User Since
Jun 22 2015, 5:21 PM (169 w, 3 d)

Recent Activity

Wed, Sep 19

gallatin accepted D17242: Add IFCAP_TSO6 for igb.
Wed, Sep 19, 6:05 PM

Mon, Sep 17

gallatin updated the diff for D16836: Allow empty NUMA domains to support AMD 2990WX.

Added check for empty domains in uma_large_malloc_domain(), and removed added blank line, as pointed out by Mark

Mon, Sep 17, 4:55 PM

Sat, Sep 15

gallatin accepted D17158: Fix capabilities handling for iflib drivers.
Sat, Sep 15, 3:32 PM

Thu, Sep 13

gallatin added a comment to D16836: Allow empty NUMA domains to support AMD 2990WX.

We already have code to renumber NUMA domains to avoid holes in the domain ID space (renumber_domains() in srat.c). Wouldn't it be simpler to apply a similar approach to empty domains, or is there some reason that won't work?

Thu, Sep 13, 1:34 PM

Mon, Sep 10

gallatin accepted D17109: Style fixes for in6_pcblookup_lbgroup()..
Mon, Sep 10, 6:41 PM
gallatin added a comment to D17031: Fix synchronization of lbgroup access..

FWIW, as I mentioned in private email, the testing went fine. I verified that there were no apparent mem leaks, and that in_pcblbgroup_free_deferred() was called when I bounced nginx several times on a heavily loaded (> 90Gb/s) box.

Mon, Sep 10, 6:40 PM

Thu, Sep 6

gallatin accepted D17059: Enable options NUMA on amd64 GENERIC/MINIMAL:.

We've had it in our config at Netflix for so long that I forgot that it was not in GENERIC..

Thu, Sep 6, 1:00 PM · NUMA

Wed, Aug 29

gallatin accepted D16882: Handle case where mbuf == &txq when IFC_QFLUSH is set.

For what it is, Van's birthday might be a better choice. Eg, some non-valid pointer that would cause free or mfree to panic rather than accept it and corrupt data.

Wed, Aug 29, 10:08 AM

Tue, Aug 28

gallatin added a comment to D16882: Handle case where mbuf == &txq when IFC_QFLUSH is set.

Sorry, having the ring pointer in the ring is just so odd.. Can you explain why it is there? Maybe it would be better to just not have the ring pointer in the ring and not have to have all these special cases.

Tue, Aug 28, 10:58 PM
gallatin added a comment to D16882: Handle case where mbuf == &txq when IFC_QFLUSH is set.

What keeps the normal, non-IFC_QFLUSH from hitting this condition? Is the txq pointer included in r->size?

Tue, Aug 28, 6:20 PM

Mon, Aug 27

gallatin committed rS338341: Reject IPv4 SO_REUSEPORT_LB groups when looking up an IPv6 listening socket.
Reject IPv4 SO_REUSEPORT_LB groups when looking up an IPv6 listening socket
Mon, Aug 27, 6:13 PM
gallatin closed D16899: SO_REUSEPORT_LB critical bug fix: avoid IPv4 listen group in IPv6.
Mon, Aug 27, 6:13 PM

Sat, Aug 25

gallatin added inline comments to D16855: Fix temperature reporting on AMD 2990WX.
Sat, Aug 25, 11:10 PM
gallatin updated the diff for D16855: Fix temperature reporting on AMD 2990WX.
Sat, Aug 25, 11:09 PM
gallatin created D16899: SO_REUSEPORT_LB critical bug fix: avoid IPv4 listen group in IPv6.
Sat, Aug 25, 2:43 PM

Thu, Aug 23

gallatin accepted D16875: Possible fix for "desc avail = " dmesg spam and igb breakage.
Thu, Aug 23, 11:57 PM
gallatin added a comment to D16836: Allow empty NUMA domains to support AMD 2990WX.

I haven't had much of a chance to review this yet, but I wanted to test an "options NUMA" kernel on a system with an empty domain (dual socket Haswell xeon with only one DIMM installed at the moment). This patch worked fine for me. Thanks!

Thu, Aug 23, 9:37 PM
gallatin added inline comments to D16836: Allow empty NUMA domains to support AMD 2990WX.
Thu, Aug 23, 6:25 PM
gallatin updated the diff for D16836: Allow empty NUMA domains to support AMD 2990WX.
Thu, Aug 23, 6:23 PM
gallatin added a comment to D16855: Fix temperature reporting on AMD 2990WX.

Thanks for the clarification on the non-offset range!

Thu, Aug 23, 6:19 PM
gallatin updated the diff for D16855: Fix temperature reporting on AMD 2990WX.
Thu, Aug 23, 6:18 PM
gallatin updated the diff for D16855: Fix temperature reporting on AMD 2990WX.
Thu, Aug 23, 2:29 PM
gallatin added a comment to D16855: Fix temperature reporting on AMD 2990WX.

Thank you so much for the pointer to the docs!!! It is much nicer to write from real docs, rather than crib from undocumented changes in another project.

Thu, Aug 23, 2:22 PM
gallatin accepted D16733: iflib sysctl cleanup.
Thu, Aug 23, 12:46 PM
gallatin created D16855: Fix temperature reporting on AMD 2990WX.
Thu, Aug 23, 12:06 AM

Wed, Aug 22

gallatin added inline comments to D16836: Allow empty NUMA domains to support AMD 2990WX.
Wed, Aug 22, 5:45 PM

Aug 21 2018

gallatin created D16836: Allow empty NUMA domains to support AMD 2990WX.
Aug 21 2018, 8:39 PM

Aug 17 2018

gallatin added inline comments to D16429: ixlv(4): Update to use iflib.
Aug 17 2018, 7:35 PM · Intel Networking

Aug 16 2018

gallatin added inline comments to D16733: iflib sysctl cleanup.
Aug 16 2018, 1:03 PM

Aug 15 2018

gallatin added a reviewer for D16731: if_media: Add new 2.5G/5G/25G/40G/50G/100G/200G/400G media types: np.
Aug 15 2018, 7:03 PM

Aug 13 2018

gallatin committed rS337709: lagg: allow lacp to manage the link state.
lagg: allow lacp to manage the link state
Aug 13 2018, 2:13 PM

Aug 10 2018

gallatin accepted D16429: ixlv(4): Update to use iflib.
Aug 10 2018, 3:41 PM · Intel Networking

Jul 30 2018

gallatin added a comment to D16429: ixlv(4): Update to use iflib.

In general, I looked around at ixlv.c, and it looks like there are many functions for the main pf which are identical, or nearly identical for the VF. Can we please work on collapsing them down to common code?

Jul 30 2018, 4:32 PM · Intel Networking

Jul 17 2018

gallatin accepted D16302: Add knob to control tx ring abdication..

Thank for doing this!

Jul 17 2018, 7:10 PM

Jul 5 2018

gallatin committed rS335973: mxge: replace 65536 with IP_MAXPACKET in tso settings..
mxge: replace 65536 with IP_MAXPACKET in tso settings.
Jul 5 2018, 2:43 AM

Jul 4 2018

gallatin committed rS335967: mxge: choose appropriate values for hw tso.
mxge: choose appropriate values for hw tso
Jul 4 2018, 7:29 PM
gallatin committed rS335966: mxge: Add SIOCGI2C support for devices with SFP/XFP cages.
mxge: Add SIOCGI2C support for devices with SFP/XFP cages
Jul 4 2018, 6:54 PM
gallatin committed rS335957: mxge: fix panic at module unload.
mxge: fix panic at module unload
Jul 4 2018, 2:26 PM

Jun 27 2018

gallatin added a comment to D15985: Reduce unnecessary preemption, add a preemption knob for timeshare, fix missing NEEDRESCHED.

I ran this on a Netflix 100g box. I observed no measurable difference in CPU time. So I think this patch is "neutral" for the perspective of our (mostly kernel) workload.

Jun 27 2018, 1:32 PM

Jun 20 2018

gallatin added a comment to D15937: Optimize the TSO and copy paths to use the new tcp_m_copy routine.

I've deployed a variant of this widely at LLNW on the default stack as well. I think you can garbage collect sbsndptr() from the tree.

Jun 20 2018, 9:30 PM
gallatin accepted D15937: Optimize the TSO and copy paths to use the new tcp_m_copy routine.

I added Hans since it is mostly his code we are factoring out.

Jun 20 2018, 8:40 PM
gallatin added a reviewer for D15937: Optimize the TSO and copy paths to use the new tcp_m_copy routine: hselasky.
Jun 20 2018, 8:39 PM

Jun 14 2018

gallatin added a comment to D15686: convert inpcbhash rlock to epoch.

if @jch cannot run his real workload, what about running a synthetic test that creates / tears down many connections per second? Eg, something like many copies of netperf -t TCP_CC ?

Jun 14 2018, 4:23 PM
gallatin accepted D15577: Update ixl(4) to use iflib..
Jun 14 2018, 2:53 AM
gallatin added a comment to D15577: Update ixl(4) to use iflib..

You might want to go for some middle ground here. 1ms is a bit much (even for us).

Jun 14 2018, 2:52 AM

Jun 11 2018

gallatin added inline comments to D15577: Update ixl(4) to use iflib..
Jun 11 2018, 11:41 PM

Jun 4 2018

gallatin accepted D15558: iflib: Record TCP checksum info in iflib for ixl(4).

Sure.. Those checks for TCP in the TSO case should probably turn into asserts eventually..

Jun 4 2018, 8:13 PM · Intel Networking

May 30 2018

gallatin accepted D15526: reduce overhead of entropy collection.

If people want to use ethernet entropy harvesting, can we do something to make it more useful in a separate change? I was going to initially suggest the ether dst addr, but that's not very random either.

May 30 2018, 9:22 PM
gallatin added a reviewer for D15526: reduce overhead of entropy collection: gallatin.
May 30 2018, 9:18 PM

May 29 2018

gallatin added a comment to D15577: Update ixl(4) to use iflib..

This is the sparse detect I'm using. Note how it walks the header, and then the TSO by packet on the wire.

May 29 2018, 9:28 PM
gallatin added a comment to D15577: Update ixl(4) to use iflib..

Somehow my last comment got lost. With real Netflix traffic, the sparse detection logic is not sufficient. When we have kernel TLS, which inserts 13 and 16 byte mbufs around TLS records, we hit MDDs regularly. I think you need to walk the packet stream, not the DMA descriptors, so that you keep the same segmentation used by the hardware. I re-wrote the sparse detection to do this, and our MDDs went away.

May 29 2018, 9:27 PM
gallatin added inline comments to D15577: Update ixl(4) to use iflib..
May 29 2018, 9:25 PM

May 25 2018

gallatin requested changes to D15558: iflib: Record TCP checksum info in iflib for ixl(4).
May 25 2018, 8:27 PM · Intel Networking
gallatin added a comment to D15558: iflib: Record TCP checksum info in iflib for ixl(4).

Was this the patch that we discussed on our call? Does this fix your TX checksum problems on IXL?

Yes and Yes.

Unfortunately, I've now proceeded to the "entire box hangs" portion of the game. Even serial console break-to-debugger is ignored. I'm going to try NMIs next..

May 25 2018, 8:18 PM · Intel Networking
gallatin accepted D15575: iflib: Add new shared flag to iflib: IFLIB_ADMIN_ALWAYS_RUN.
May 25 2018, 8:16 PM
gallatin added inline comments to D15575: iflib: Add new shared flag to iflib: IFLIB_ADMIN_ALWAYS_RUN.
May 25 2018, 6:32 PM

May 24 2018

gallatin added a comment to D15558: iflib: Record TCP checksum info in iflib for ixl(4).

Was this the patch that we discussed on our call? Does this fix your TX checksum problems on IXL?

May 24 2018, 6:20 PM · Intel Networking

May 21 2018

gallatin accepted D15510: Defer inpcb deletion until after a grace period has elapsed.
May 21 2018, 10:04 PM

May 18 2018

gallatin accepted D15409: Protect global ifnet list and short lived ifaddr references with epoch.
May 18 2018, 11:14 PM
gallatin committed rS333793: Teach pmcannotate about $TMPDIR and _PATH_TMP.
Teach pmcannotate about $TMPDIR and _PATH_TMP
May 18 2018, 2:14 PM

May 16 2018

gallatin accepted D15366: Replace if_addr_lock rwlock with epoch + mutex.
May 16 2018, 12:12 AM

May 15 2018

gallatin committed rS333655: Unhook DEBUG_BUFRING from INVARIANTS.
Unhook DEBUG_BUFRING from INVARIANTS
May 15 2018, 11:55 PM

May 13 2018

gallatin accepted D15419: epoch(9) man page.

Looks good for content to me.

May 13 2018, 11:04 PM

May 11 2018

gallatin added a comment to D15366: Replace if_addr_lock rwlock with epoch + mutex.

Under a heavy UDP packet flood this helps quite a bit.

May 11 2018, 6:36 PM

May 10 2018

gallatin committed rS333462: Fix a panic in the IPv6 multicast code..
Fix a panic in the IPv6 multicast code.
May 10 2018, 4:19 PM
gallatin committed rS333459: Fix the build after r333457.
Fix the build after r333457
May 10 2018, 1:19 PM

May 9 2018

gallatin added a reviewer for D15366: Replace if_addr_lock rwlock with epoch + mutex: jtl.
May 9 2018, 3:02 PM
gallatin added a comment to D15366: Replace if_addr_lock rwlock with epoch + mutex.

Looks awesome. My only issue is that I'd strongly prefer that the STAILQ_HEAD / STAILQ_INIT / STAILQ_ENTRY macros be prefixed with CK_ so that readers realize that these lists are used with epochs, and cannot be safely used with the normal STAILQ macros. I tried to point out most of them, but I may have missed a few.

May 9 2018, 3:02 PM
gallatin added inline comments to D15365: simple preempt safe epoch API.
May 9 2018, 1:56 PM
gallatin accepted D15354: MFC iflib bugfixes.
May 9 2018, 1:45 PM

May 8 2018

gallatin added a comment to D15345: Add support for packet batching in ifnet.

It would be nice to have this patch together with at least one example of a caller and one example of a NIC driver implementing the API.

May 8 2018, 2:09 PM
gallatin added a reviewer for D15345: Add support for packet batching in ifnet: hselasky.
May 8 2018, 1:25 PM

May 7 2018

gallatin committed rS333329: Fix an off-by-one error when deciding to request a tx interrupt.
Fix an off-by-one error when deciding to request a tx interrupt
May 7 2018, 6:11 PM
gallatin committed rS333325: Boost thread priority while changing CPU frequency.
Boost thread priority while changing CPU frequency
May 7 2018, 3:24 PM
gallatin closed D15246: Boost thread priority while changing CPU frequency.
May 7 2018, 3:24 PM

May 4 2018

gallatin accepted D15300: iflib: print message when iflib_tx_structures_setup fails.
May 4 2018, 11:33 PM
gallatin added a comment to D15300: iflib: print message when iflib_tx_structures_setup fails.

I'd just update this review.

May 4 2018, 10:14 PM
gallatin accepted D15300: iflib: print message when iflib_tx_structures_setup fails.

As mentioned on the other review, maybe remove the print in the caller, since it is now redundant..

May 4 2018, 7:59 PM
gallatin accepted D15299: iflib: cleanup queues when iflib_device_register fail.
May 4 2018, 7:57 PM
gallatin accepted D15285: iflib: fix invalid free during queue allocation failure.
May 4 2018, 12:35 PM
gallatin accepted D15284: iflib: remove unused brscp pointer from iflib_queues_alloc.
May 4 2018, 12:33 PM

May 2 2018

gallatin updated the diff for D15246: Boost thread priority while changing CPU frequency.

Change to using sched_prio() rather than sched_lend_prio, as suggested by @kib

May 2 2018, 3:05 PM

May 1 2018

gallatin added a comment to D15246: Boost thread priority while changing CPU frequency.
In D15246#321533, @jhb wrote:

Adding kib@.

It's not clear to me why to prefer PI_NET - 1 over, say, PRI_MIN in this case. There's nothing about powerd that is network specific.

May 1 2018, 8:26 PM
gallatin updated the diff for D15246: Boost thread priority while changing CPU frequency.

I've replaced the arbitrary PI_NET - 1 to PRI_MIN, as suggested by John

May 1 2018, 8:25 PM
gallatin committed rS333141: Optionally panic when cxgbe encounters a fatal error.
Optionally panic when cxgbe encounters a fatal error
May 1 2018, 3:33 PM

Apr 30 2018

gallatin committed rS333131: Fix iflib_encap() EFBIG handling bugs.
Fix iflib_encap() EFBIG handling bugs
Apr 30 2018, 11:53 PM
gallatin created D15246: Boost thread priority while changing CPU frequency.
Apr 30 2018, 11:31 PM

Apr 25 2018

gallatin added inline comments to D15199: Add possibility to disable or reduce amount of UMA debugging with INVARIANTS.
Apr 25 2018, 7:50 PM

Apr 17 2018

gallatin committed rS332653: Restore SIOCGI2C functionality to ixgbe.
Restore SIOCGI2C functionality to ixgbe
Apr 17 2018, 4:51 PM
gallatin committed rS332645: Make lagg creation more fault tolerant.
Make lagg creation more fault tolerant
Apr 17 2018, 12:55 PM
gallatin closed D15046: Make lagg creation more fault tolerant.
Apr 17 2018, 12:55 PM

Apr 11 2018

gallatin created D15046: Make lagg creation more fault tolerant.
Apr 11 2018, 5:49 PM

Apr 9 2018

gallatin accepted D14967: split out flag manipulation from general context manipulation in iflib.
Apr 9 2018, 7:40 PM

Apr 6 2018

gallatin accepted D14967: split out flag manipulation from general context manipulation in iflib.
Apr 6 2018, 11:30 PM

Apr 3 2018

gallatin accepted D14937: Fix LRO window comparison.
Apr 3 2018, 12:44 PM

Mar 8 2018

gallatin accepted D14540: Several LRO fixes.
Mar 8 2018, 7:11 PM · transport

Feb 22 2018

gallatin accepted D14470: Do not return out of bound pointers from intr_lookup_source()..
Feb 22 2018, 2:01 PM

Feb 16 2018

gallatin added a reviewer for D14402: PID Controlled page daemon: imp.
Feb 16 2018, 8:57 PM
gallatin added a comment to D14381: mxge(4) should pass unhandled ioctls to ether_ioctl().

Well thats embarrassing. Thanks for the fix.

Feb 16 2018, 2:27 AM

Feb 5 2018

gallatin accepted D14210: Rationalize license test on Linuxolator files.
Feb 5 2018, 11:09 PM