Page MenuHomeFreeBSD

gallatin (Andrew Gallatin)
User

Projects

User Details

User Since
Jun 22 2015, 5:21 PM (539 w, 22 h)

Recent Activity

Yesterday

gallatin added a comment to D53176: audit: convert audit event class lookup to lockless.
In D53176#1214928, @mjg wrote:

Do you have stats how many classes can be realistically present? maybe this would be way faster single-threaded by iterating an array?

Mon, Oct 20, 5:08 PM

Fri, Oct 17

gallatin added a comment to D53100: ena: use newly exposed RSS hash key API rather than ad-hoc hashing.

I built and installed the latest kernel with this patchset in AWS and ran a network sanity check with iperf and all looks good.

turned on net.inet.tcp.input_verify_hash with sysctl net.inet.tcp.input_verify_hash=1

ran traffic

lookede at

sysctl net.inet.tcp.input_nohash
sysctl net.inet.tcp.input_badhash

and both were 0

no prints to dmesg

commit lgtm.

Fri, Oct 17, 8:46 PM
gallatin added a comment to D53101: lio: use newly exposed RSS hash key API rather than ad-hoc hashing.

I'm not getting this change. The kernel build option RSS is not enabled by default. Is this change want to enable a variant RSS when RSS is not enabled in the kernel ?

Ahh, I missed D53089 .

Fri, Oct 17, 7:39 PM
gallatin added a comment to D53091: mlx5: use newly exposed RSS hash key API rather than ad-hoc hashing.
In D53091#1214239, @kib wrote:
In D53091#1213605, @kib wrote:

Sorry, I do not understand the change.
The compilation of both in_rss.c and rss_config.c is gated by the RSS option, and this seems to not change for the whole time these files existed.

In other words, if the 'options RSS' is not included into the kernel config, would the driver even compile?

Sorry, I wish I was better at reviews of patch series. This is one of many patches, starting with https://reviews.freebsd.org/D53089 and ending with https://reviews.freebsd.org/D53104
The goal is to achieve consistent hashing for TCP ingress/egress by exposing the hashing parts of RSS to drivers, so that all NICs use the same hash key and algo.

I do not know how to list of the patches in your series. You could add 'related objects' to your review, then it will be visible to everybody.

That said, I have no objections against this change after D53089 goes in.

We (Nvidia) might request that the commit of this revision might be postponed until D53089 is committed, so that Nvidia' verification could do the scrutiny before driver changes.
Or you might provide us the minimal set of reviews we could apply and run verification on, to ensure that your commit is fine for mlx5.

Fri, Oct 17, 7:16 PM
gallatin requested review of D53176: audit: convert audit event class lookup to lockless.
Fri, Oct 17, 6:36 PM

Thu, Oct 16

gallatin updated the diff for D53100: ena: use newly exposed RSS hash key API rather than ad-hoc hashing.

Update patch to unifdef check for adapter using toeplitz hashing

Thu, Oct 16, 12:58 PM
gallatin added a comment to D53100: ena: use newly exposed RSS hash key API rather than ad-hoc hashing.

Hi,

Thank you for submitting this patch.
Can you please provide a commit message that explains this change.
For example questions that immediately arise:

  1. What "newly exposed RSS hash key API" you are talking about (link to the commits that added this API)?
  2. Why it is ok to remove the #ifdef RSS?
  3. Why do you also remove the #ifdef RSS in ena_datapath.c?
  4. How did you test the change?

Thanks!

Thu, Oct 16, 12:56 PM
gallatin added a comment to D53091: mlx5: use newly exposed RSS hash key API rather than ad-hoc hashing.
In D53091#1213605, @kib wrote:

Sorry, I do not understand the change.
The compilation of both in_rss.c and rss_config.c is gated by the RSS option, and this seems to not change for the whole time these files existed.

In other words, if the 'options RSS' is not included into the kernel config, would the driver even compile?

Thu, Oct 16, 12:37 PM

Wed, Oct 15

gallatin added reviewers for D53104: tcp: Enable symmetric hashing by setting hash on outgoing conns: adrian, zlei.
Wed, Oct 15, 7:04 PM
gallatin added a reviewer for D53089: rss: Enable portions of RSS globally to enable symmetric hashing: zlei.
Wed, Oct 15, 7:03 PM
gallatin added a reviewer for D53090: loopback: Clear hash unconditionally.: zlei.
Wed, Oct 15, 7:02 PM
gallatin added reviewers for D53103: igc: use newly exposed RSS hash key API rather than ad-hoc hashing: markj, erj.
Wed, Oct 15, 6:57 PM
gallatin added reviewers for D53102: sfxge: use newly exposed RSS hash key API rather than ad-hoc hashing: zlei, arybchik.
Wed, Oct 15, 6:57 PM
gallatin added a reviewer for D53101: lio: use newly exposed RSS hash key API rather than ad-hoc hashing: zlei.
Wed, Oct 15, 6:55 PM
gallatin added reviewers for D53100: ena: use newly exposed RSS hash key API rather than ad-hoc hashing: akiyano_amazon.com, zlei, osamaabb_amazon.com.
Wed, Oct 15, 6:54 PM
gallatin added reviewers for D53099: hn: use newly exposed RSS hash key API rather than ad-hoc hashing: whu, sepherosa_gmail.com, mp.
Wed, Oct 15, 6:52 PM
gallatin added reviewers for D53098: vmxnet3: use newly exposed RSS hash key API rather than ad-hoc hashing: vangyzen, kp, tuexen.
Wed, Oct 15, 6:50 PM
gallatin added reviewers for D53092: cxgbe: use newly exposed RSS hash key API rather than ad-hoc hashing: np, jhb.
Wed, Oct 15, 6:46 PM
gallatin added reviewers for D53091: mlx5: use newly exposed RSS hash key API rather than ad-hoc hashing: kib, vangyzen.
Wed, Oct 15, 6:45 PM
gallatin added inline comments to D53105: tcp: debugging checks of hashing.
Wed, Oct 15, 3:38 PM
gallatin added a comment to D53088: tcp: debugging checks of hashing.

Why do we have D53088 and D53105?

Wed, Oct 15, 3:32 PM

Tue, Oct 14

gallatin added reviewers for D53089: rss: Enable portions of RSS globally to enable symmetric hashing: adrian, np, jhb.
Tue, Oct 14, 7:50 PM
gallatin requested review of D53105: tcp: debugging checks of hashing.
Tue, Oct 14, 7:47 PM
gallatin requested review of D53104: tcp: Enable symmetric hashing by setting hash on outgoing conns.
Tue, Oct 14, 7:47 PM
gallatin requested review of D53103: igc: use newly exposed RSS hash key API rather than ad-hoc hashing.
Tue, Oct 14, 7:47 PM
gallatin requested review of D53102: sfxge: use newly exposed RSS hash key API rather than ad-hoc hashing.
Tue, Oct 14, 7:47 PM
gallatin requested review of D53101: lio: use newly exposed RSS hash key API rather than ad-hoc hashing.
Tue, Oct 14, 7:47 PM
gallatin requested review of D53100: ena: use newly exposed RSS hash key API rather than ad-hoc hashing.
Tue, Oct 14, 7:47 PM
gallatin requested review of D53099: hn: use newly exposed RSS hash key API rather than ad-hoc hashing.
Tue, Oct 14, 7:47 PM
gallatin requested review of D53097: e1000: use newly exposed RSS hash key API rather than ad-hoc hashing.
Tue, Oct 14, 7:47 PM
gallatin requested review of D53098: vmxnet3: use newly exposed RSS hash key API rather than ad-hoc hashing.
Tue, Oct 14, 7:47 PM
gallatin requested review of D53096: ice: use newly exposed RSS hash key API rather than ad-hoc hashing.
Tue, Oct 14, 7:47 PM
gallatin requested review of D53095: iavf: use newly exposed RSS hash key API rather than ad-hoc hashing.
Tue, Oct 14, 7:47 PM
gallatin requested review of D53094: ixl: use newly exposed RSS hash key API rather than ad-hoc hashing.
Tue, Oct 14, 7:47 PM
gallatin requested review of D53093: ixgbe: Use newly exposed RSS hash API rather than ad-hoc hashing.
Tue, Oct 14, 7:46 PM
gallatin requested review of D53092: cxgbe: use newly exposed RSS hash key API rather than ad-hoc hashing.
Tue, Oct 14, 7:46 PM
gallatin requested review of D53091: mlx5: use newly exposed RSS hash key API rather than ad-hoc hashing.
Tue, Oct 14, 7:46 PM
gallatin requested review of D53090: loopback: Clear hash unconditionally..
Tue, Oct 14, 7:46 PM
gallatin requested review of D53089: rss: Enable portions of RSS globally to enable symmetric hashing.
Tue, Oct 14, 7:46 PM
gallatin requested review of D53088: tcp: debugging checks of hashing.
Tue, Oct 14, 7:46 PM

Thu, Oct 9

gallatin added a comment to D52989: tcp lro: use flowid only when it has hash properties.

Also, this needs to be MFC'ed to 15 for the release..

Thu, Oct 9, 12:28 PM
gallatin accepted D52989: tcp lro: use flowid only when it has hash properties.

To be clear, igc worked fine when configured with multiple queues. I had configured it with a single rx queue in order to debug something else, and it took the somewhat reasonable approach of returning garbage as the hash since it didn't need to hash packets to multiple queues. Thank you for coming up with this... it is much cleaner than my solution, and should ensure that any other non-iflib drivers avoid this behavior as well.

Thu, Oct 9, 12:27 PM

Tue, Oct 7

gallatin added inline comments to D52959: kernel: MK_REPRODUCIBLE_PATHS for full paths vs /usr/src.
Tue, Oct 7, 5:43 PM

Wed, Oct 1

gallatin committed rG213170eb956f: iflib: Implement tx desc reclaim threshold (authored by gallatin).
iflib: Implement tx desc reclaim threshold
Wed, Oct 1, 10:57 PM
gallatin closed D52561: iflib: Implement tx desc reclaim threshold.
Wed, Oct 1, 10:57 PM

Wed, Sep 24

gallatin updated the diff for D52561: iflib: Implement tx desc reclaim threshold.

Update patch to address @markj 's feedback, and to properly fix the bug I encountered where doorbells were withheld when using the mp_ring transmit method.

Wed, Sep 24, 10:36 PM

Mon, Sep 22

gallatin added a comment to D52561: iflib: Implement tx desc reclaim threshold.

@markj I've marked things as done as I've done them in my local tree. I'll update the patch once I do some more research into the doorbell issue. thank you for the reveiw!

Mon, Sep 22, 11:16 PM
gallatin accepted D52683: tcp lro: remove redundant check.
Mon, Sep 22, 10:18 PM

Sep 18 2025

gallatin requested changes to D52088: bnxt_en: Fix Rx CQ consumer index on Thor2 to prevent interrupt storm.
Sep 18 2025, 2:17 PM
gallatin accepted D52087: bnxt_en: Decode and log "current fault" module events.
Sep 18 2025, 2:13 PM
gallatin accepted D52086: bnxt_en: Fix kernel panic by avoiding softirq reallocation in FW crash recovery.
Sep 18 2025, 2:11 PM
gallatin added inline comments to D52085: bnxt_en: Periodically synchronize host time with firmware.
Sep 18 2025, 2:10 PM
gallatin accepted D52084: bnxt_re: Prevent load on unsupported Thor2 controllers.
Sep 18 2025, 2:06 PM

Sep 16 2025

gallatin added inline comments to D52561: iflib: Implement tx desc reclaim threshold.
Sep 16 2025, 8:14 PM
gallatin added a reviewer for D52561: iflib: Implement tx desc reclaim threshold: glebius.
Sep 16 2025, 8:11 PM

Sep 15 2025

gallatin requested review of D52561: iflib: Implement tx desc reclaim threshold.
Sep 15 2025, 9:51 PM

Sep 11 2025

gallatin closed D52369: iflib: report output drops and handle ENOBUFS properly.
Sep 11 2025, 12:23 AM

Sep 10 2025

gallatin committed rG6577e32ea2c7: iflib: report output drops and handle ENOBUFS properly (authored by gallatin).
iflib: report output drops and handle ENOBUFS properly
Sep 10 2025, 2:01 PM

Sep 8 2025

gallatin updated the diff for D52369: iflib: report output drops and handle ENOBUFS properly.
  • remove extra space in iflib_if_get_counter as pointed out by @kbowling
Sep 8 2025, 7:49 PM
gallatin added a comment to D52369: iflib: report output drops and handle ENOBUFS properly.

Instead of making each driver report 0 if it doesn't collect a drop counter from the MAC, and treating these counters as a special case in iflib_if_get_counter(), wouldn't it be simpler and cleaner to make them all drivers return the value from if_get_counter_default()?

Sep 8 2025, 7:45 PM
gallatin updated the diff for D52369: iflib: report output drops and handle ENOBUFS properly.

reversed logic and made the driver responsible to query the generic counters for odrop/oerr rather than iflib.

Sep 8 2025, 7:31 PM

Sep 5 2025

gallatin added inline comments to D52369: iflib: report output drops and handle ENOBUFS properly.
Sep 5 2025, 3:27 PM
gallatin added inline comments to D52369: iflib: report output drops and handle ENOBUFS properly.
Sep 5 2025, 1:08 PM
gallatin updated the diff for D52369: iflib: report output drops and handle ENOBUFS properly.

Updated drivers that were getting generic counters using if_get_counter_default() as part of their ifdi_get_counter method to avoid getting generic counters for output drops and output errors, as suggested by @markj .

Sep 5 2025, 1:08 PM

Sep 4 2025

gallatin updated the diff for D52369: iflib: report output drops and handle ENOBUFS properly.
  • Call iflib_remove_mbuf() to unmap and remove the mbuf from list of mbufs to be freed when we free an mbuf due to ENOBUFS
Sep 4 2025, 12:23 AM

Sep 3 2025

gallatin requested review of D52369: iflib: report output drops and handle ENOBUFS properly.
Sep 3 2025, 8:49 PM

Aug 20 2025

gallatin committed rG84f8ca1bd11d: iflib: add a simple transmit routine (authored by gallatin).
iflib: add a simple transmit routine
Aug 20 2025, 4:51 PM
gallatin closed D51905: iflib: add a simple transmit routine.
Aug 20 2025, 4:51 PM

Aug 14 2025

gallatin added a reviewer for D51905: iflib: add a simple transmit routine: olivier.
Aug 14 2025, 9:33 PM
gallatin requested review of D51905: iflib: add a simple transmit routine.
Aug 14 2025, 9:31 PM

Aug 12 2025

gallatin committed rGe69573bc2bee: iflib: simplify lro & use tcp_lro_queue_mbuf() (authored by gallatin).
iflib: simplify lro & use tcp_lro_queue_mbuf()
Aug 12 2025, 6:03 PM
gallatin closed D51772: iflib: simplify lro & use lro_queue_mbuf().
Aug 12 2025, 6:02 PM
gallatin updated the diff for D51772: iflib: simplify lro & use lro_queue_mbuf().
Aug 12 2025, 5:41 PM
gallatin added a comment to D51772: iflib: simplify lro & use lro_queue_mbuf().

removing forwarding checks ... LRO already does this

But LRO only checks the forwarding configuration when it actually comes time to process packets. With this patch, if forwarding is enabled, we'll do a bunch of needless sorting.

Aug 12 2025, 5:39 PM

Aug 9 2025

gallatin edited P664 (An Untitled Masterwork).
Aug 9 2025, 4:49 PM
gallatin created P664 (An Untitled Masterwork).
Aug 9 2025, 4:48 PM

Aug 7 2025

gallatin committed rGc224b2ce7de0: iflib: don't pullup UDP payloads to the TCP header size (authored by gallatin).
iflib: don't pullup UDP payloads to the TCP header size
Aug 7 2025, 3:07 PM
gallatin closed D51748: iflib: don't pullup UDP payloads to the TCP header size.
Aug 7 2025, 3:07 PM

Aug 6 2025

gallatin requested review of D51772: iflib: simplify lro & use lro_queue_mbuf().
Aug 6 2025, 9:11 PM

Aug 5 2025

gallatin updated the diff for D51748: iflib: don't pullup UDP payloads to the TCP header size.

Address Eric's style(9) nits and remove space in front of parans in sizeof

Aug 5 2025, 7:30 PM
gallatin added inline comments to D51748: iflib: don't pullup UDP payloads to the TCP header size.
Aug 5 2025, 6:27 PM
gallatin updated the diff for D51748: iflib: don't pullup UDP payloads to the TCP header size.

Update diff to address Gleb's feedback

Aug 5 2025, 6:26 PM
gallatin added a reviewer for D51748: iflib: don't pullup UDP payloads to the TCP header size: glebius.
Aug 5 2025, 6:09 PM
gallatin requested review of D51748: iflib: don't pullup UDP payloads to the TCP header size.
Aug 5 2025, 6:05 PM

Jul 26 2025

gallatin committed rG83a352bcac0a: lagg: Fix if_hw_tsomax_update() not being called (authored by gallatin).
lagg: Fix if_hw_tsomax_update() not being called
Jul 26 2025, 8:42 PM

Jul 12 2025

gallatin committed rG78bdaa57cfba: lagg: Fix if_hw_tsomax_update() not being called (authored by gallatin).
lagg: Fix if_hw_tsomax_update() not being called
Jul 12 2025, 10:40 PM

Jun 29 2025

gallatin committed rG20e15e905c58: mlx5: Decrease FW init timeout from 120 seconds to 5 seconds (authored by gallatin).
mlx5: Decrease FW init timeout from 120 seconds to 5 seconds
Jun 29 2025, 8:53 PM

Jun 24 2025

gallatin accepted D51000: sysctl net.inet.tcp.ktlslist: do not rely on global generation for ktls sessions.

Thank you for moving to this solution, away from a global atomic.

Jun 24 2025, 1:30 PM
gallatin added inline comments to D50653: Add sysctl net.inet.tcp.ktlslist.
Jun 24 2025, 2:31 AM
gallatin added inline comments to D50653: Add sysctl net.inet.tcp.ktlslist.
Jun 24 2025, 1:16 AM

Jun 9 2025

gallatin added inline comments to D50546: hwpmc: Support an older application running the old ABI.
Jun 9 2025, 5:24 PM

May 28 2025

gallatin added a comment to D50546: hwpmc: Support an older application running the old ABI.

This generally seems fine to me, but I'm not familiar with the original change and wonder why the compat shims are so coupled to the one application.

May 28 2025, 8:48 PM
gallatin added a comment to D50546: hwpmc: Support an older application running the old ABI.

Should we put the sysctl in the manual?

May 28 2025, 6:39 PM

May 27 2025

gallatin requested review of D50546: hwpmc: Support an older application running the old ABI.
May 27 2025, 4:40 PM

Apr 22 2025

gallatin accepted D49920: so_splice: Disallow splicing with KTLS-enabled sockets.
Apr 22 2025, 11:56 AM

Apr 15 2025

gallatin committed rGb836c229aa5a: ip6: leave room for link headers in UDP (authored by gallatin).
ip6: leave room for link headers in UDP
Apr 15 2025, 11:46 PM
gallatin closed D49840: ipv6: leave room for link headers in UDP.
Apr 15 2025, 11:46 PM
gallatin updated the diff for D49840: ipv6: leave room for link headers in UDP.

Update to use hlen, which already holds the size of the ip6 hdr, as suggested by glebius

Apr 15 2025, 7:15 PM
gallatin requested review of D49840: ipv6: leave room for link headers in UDP.
Apr 15 2025, 5:38 PM

Apr 14 2025

gallatin accepted D49814: so_splice: Synchronize so_unsplice() with so_splice().
Apr 14 2025, 10:29 PM