Page MenuHomeFreeBSD

gallatin (Andrew Gallatin)
User

Projects

User Details

User Since
Jun 22 2015, 5:21 PM (548 w, 4 d)

Recent Activity

Wed, Dec 24

gallatin added a comment to D54356: iflib: Drop tx lock when freeing mbufs using simple_transmit.

Have you tried chaining mbufs instead of having an array? Does that have negative cache effect?

Wed, Dec 24, 3:33 AM

Tue, Dec 23

gallatin added a comment to D54356: iflib: Drop tx lock when freeing mbufs using simple_transmit.

I've only been able to test this on amd64, and I'm pretty bad at atomic acq/rel semantics. If somebody could review that, I'd appreciate it.

Tue, Dec 23, 10:23 PM
gallatin requested review of D54356: iflib: Drop tx lock when freeing mbufs using simple_transmit.
Tue, Dec 23, 10:21 PM

Sun, Dec 21

gallatin closed D54274: iflib: support for transmit side nic KTLS offload.
Sun, Dec 21, 2:47 PM
gallatin committed rG43d7ee540efe: iflib: support for transmit side nic KTLS offload (authored by gallatin).
iflib: support for transmit side nic KTLS offload
Sun, Dec 21, 2:47 PM
gallatin committed rG4d692068f685: ktls: Capture initial tls seqno at time offload is initiated (authored by gallatin).
ktls: Capture initial tls seqno at time offload is initiated
Sun, Dec 21, 2:47 PM
gallatin closed D54275: ktls: Capture initial tls seqno at time offload is initiated.
Sun, Dec 21, 2:47 PM

Fri, Dec 19

gallatin added inline comments to D54274: iflib: support for transmit side nic KTLS offload.
Fri, Dec 19, 8:40 PM

Thu, Dec 18

gallatin added a comment to D54275: ktls: Capture initial tls seqno at time offload is initiated.
In D54275#1240636, @jhb wrote:

Maybe to make it clearer we can change the struct to use a union of next_seqno and initial_seqno which won't change the ABI but will let us document it in the header and be more clear about the intent?

Thu, Dec 18, 6:31 PM
gallatin updated the diff for D54275: ktls: Capture initial tls seqno at time offload is initiated.

added union for next_seqno / initial offload seqno to provide a better description & preserve ABI, as suggested by @jhb

Thu, Dec 18, 6:31 PM
gallatin accepted D54281: ice(4): Remove unused function.
Thu, Dec 18, 6:23 PM

Wed, Dec 17

gallatin requested review of D54275: ktls: Capture initial tls seqno at time offload is initiated.
Wed, Dec 17, 8:00 PM
gallatin retitled D54274: iflib: support for transmit side nic KTLS offload from iflib: support fo transmit side nic KTLS offload to iflib: support for transmit side nic KTLS offload.
Wed, Dec 17, 7:55 PM
gallatin requested review of D54274: iflib: support for transmit side nic KTLS offload.
Wed, Dec 17, 7:55 PM

Mon, Dec 15

gallatin committed rG7ff3b13f12d9: lacp: Sort port map by interface index (authored by gallatin).
lacp: Sort port map by interface index
Mon, Dec 15, 5:10 PM
gallatin closed D54053: lacp: Sort port map by interface index.
Mon, Dec 15, 5:10 PM

Fri, Dec 12

gallatin committed rGf14ca373dde5: splice: Fix leaks that can happen when initiating a splice (authored by gallatin).
splice: Fix leaks that can happen when initiating a splice
Fri, Dec 12, 12:50 PM

Tue, Dec 9

gallatin committed rGa837d1fe49e0: splice: Fix leaks that can happen when initiating a splice (authored by gallatin).
splice: Fix leaks that can happen when initiating a splice
Tue, Dec 9, 10:21 PM
gallatin closed D54157: splice: Fix leaks that can happen when initiating a splice.
Tue, Dec 9, 10:20 PM
gallatin updated the diff for D54157: splice: Fix leaks that can happen when initiating a splice.
  • realized that so_unsplice can be called with an so2 that's already been recycled when its called via so_splice(), since we don't hold a reference. So ensure we null out sp_dest and deal with a NULL so2 in so_unsplice
Tue, Dec 9, 10:05 PM
gallatin updated the diff for D54157: splice: Fix leaks that can happen when initiating a splice.

Remove changes to the so_unsplice() path on SPLICE_INIT splices.. @markj correctly pointed out that codepath is not a problem.

Tue, Dec 9, 8:41 PM
gallatin requested review of D54157: splice: Fix leaks that can happen when initiating a splice.
Tue, Dec 9, 8:32 PM

Sat, Dec 6

gallatin requested review of D54096: iflib: don't update the admin status in if_media_status.
Sat, Dec 6, 2:13 AM

Fri, Dec 5

gallatin accepted D54089: net: attach IPv4 and IPv6 stacks to an interface with EVENTHANDLER(9).
Fri, Dec 5, 6:38 PM

Wed, Dec 3

gallatin added a comment to D54053: lacp: Sort port map by interface index.

My understanding. First, qsort() itself never passes NULL pointer. Second, could a map[] entry within p->pm_count be NULL or not? The new code assumes it can't be. Then we also have a case with lacp_port that has NULL lp_ifp, which is covered.

Wed, Dec 3, 9:19 PM
gallatin updated the diff for D54053: lacp: Sort port map by interface index.

Remove more defensive debug code

Wed, Dec 3, 9:13 PM
gallatin added inline comments to D54053: lacp: Sort port map by interface index.
Wed, Dec 3, 6:30 PM
gallatin updated the diff for D54053: lacp: Sort port map by interface index.

update based on Gleb's feedback

Wed, Dec 3, 6:28 PM
gallatin requested review of D54053: lacp: Sort port map by interface index.
Wed, Dec 3, 5:04 PM
gallatin accepted D54045: iflib: Add support for SIOCGIFDOWNREASON IOCtl.
Wed, Dec 3, 3:34 PM

Nov 24 2025

gallatin abandoned D53088: tcp: debugging checks of hashing.
Nov 24 2025, 3:45 PM
gallatin abandoned D53105: tcp: debugging checks of hashing.
Nov 24 2025, 3:44 PM
gallatin committed rG8f94088bc5d3: mlx5: use newly exposed RSS hash key API rather than ad-hoc hashing (authored by gallatin).
mlx5: use newly exposed RSS hash key API rather than ad-hoc hashing
Nov 24 2025, 3:38 PM
gallatin committed rG2fe37927d419: loopback: Clear hash unconditionally. (authored by gallatin).
loopback: Clear hash unconditionally.
Nov 24 2025, 3:38 PM
gallatin closed D53091: mlx5: use newly exposed RSS hash key API rather than ad-hoc hashing.
Nov 24 2025, 3:37 PM
gallatin closed D53090: loopback: Clear hash unconditionally..
Nov 24 2025, 3:37 PM
gallatin accepted D53886: tcp: don't set flowid in tcp_input().
Nov 24 2025, 12:55 AM
gallatin accepted D51792: tcp: store flowid info in syncache.
Nov 24 2025, 12:53 AM

Nov 22 2025

gallatin committed rGdd0e6bb996dc: tcp: Enable symmetric hashing by setting hash on outgoing conns (authored by gallatin).
tcp: Enable symmetric hashing by setting hash on outgoing conns
Nov 22 2025, 2:32 PM
gallatin committed rG99b3c9adbc41: sfxge: use newly exposed RSS hash key API rather than ad-hoc hashing (authored by gallatin).
sfxge: use newly exposed RSS hash key API rather than ad-hoc hashing
Nov 22 2025, 2:32 PM
gallatin committed rGcfad68c5c6b9: igc: use newly exposed RSS hash key API rather than ad-hoc hashing (authored by gallatin).
igc: use newly exposed RSS hash key API rather than ad-hoc hashing
Nov 22 2025, 2:32 PM
gallatin committed rG2ae6227ddfb8: hn: use newly exposed RSS hash key API rather than ad-hoc hashing (authored by gallatin).
hn: use newly exposed RSS hash key API rather than ad-hoc hashing
Nov 22 2025, 2:31 PM
gallatin committed rG5a94c2e89f6a: lio: use newly exposed RSS hash key API rather than ad-hoc hashing (authored by gallatin).
lio: use newly exposed RSS hash key API rather than ad-hoc hashing
Nov 22 2025, 2:31 PM
gallatin committed rG96cde0b9e606: ena: use newly exposed RSS hash key API rather than ad-hoc hashing (authored by gallatin).
ena: use newly exposed RSS hash key API rather than ad-hoc hashing
Nov 22 2025, 2:31 PM
gallatin committed rGe10e0c63f0e4: vmxnet3: use newly exposed RSS hash key API rather than ad-hoc hashing (authored by gallatin).
vmxnet3: use newly exposed RSS hash key API rather than ad-hoc hashing
Nov 22 2025, 2:31 PM
gallatin committed rGe07b4a2e9bc4: e1000: use newly exposed RSS hash key API rather than ad-hoc hashing (authored by gallatin).
e1000: use newly exposed RSS hash key API rather than ad-hoc hashing
Nov 22 2025, 2:31 PM
gallatin committed rG012ecdde3a81: ice: use newly exposed RSS hash key API rather than ad-hoc hashing (authored by gallatin).
ice: use newly exposed RSS hash key API rather than ad-hoc hashing
Nov 22 2025, 2:31 PM
gallatin committed rGd2790dc77ef6: iavf: use newly exposed RSS hash key API rather than ad-hoc hashing (authored by gallatin).
iavf: use newly exposed RSS hash key API rather than ad-hoc hashing
Nov 22 2025, 2:31 PM
gallatin closed D53104: tcp: Enable symmetric hashing by setting hash on outgoing conns.
Nov 22 2025, 2:31 PM
gallatin closed D53102: sfxge: use newly exposed RSS hash key API rather than ad-hoc hashing.
Nov 22 2025, 2:31 PM
gallatin committed rGdd615b57df62: ixl: use newly exposed RSS hash key API rather than ad-hoc hashing (authored by gallatin).
ixl: use newly exposed RSS hash key API rather than ad-hoc hashing
Nov 22 2025, 2:31 PM
gallatin closed D53103: igc: use newly exposed RSS hash key API rather than ad-hoc hashing.
Nov 22 2025, 2:31 PM
gallatin closed D53101: lio: use newly exposed RSS hash key API rather than ad-hoc hashing.
Nov 22 2025, 2:31 PM
gallatin closed D53100: ena: use newly exposed RSS hash key API rather than ad-hoc hashing.
Nov 22 2025, 2:31 PM
gallatin closed D53099: hn: use newly exposed RSS hash key API rather than ad-hoc hashing.
Nov 22 2025, 2:31 PM
gallatin committed rG5a14756a1363: ixgbe: Use newly exposed RSS hash API rather than ad-hoc hashing (authored by gallatin).
ixgbe: Use newly exposed RSS hash API rather than ad-hoc hashing
Nov 22 2025, 2:31 PM
gallatin closed D53098: vmxnet3: use newly exposed RSS hash key API rather than ad-hoc hashing.
Nov 22 2025, 2:31 PM
gallatin committed rGd381a6b4a552: cxgbe: use newly exposed RSS hash key API rather than ad-hoc hashing (authored by gallatin).
cxgbe: use newly exposed RSS hash key API rather than ad-hoc hashing
Nov 22 2025, 2:31 PM
gallatin closed D53097: e1000: use newly exposed RSS hash key API rather than ad-hoc hashing.
Nov 22 2025, 2:31 PM
gallatin closed D53096: ice: use newly exposed RSS hash key API rather than ad-hoc hashing.
Nov 22 2025, 2:31 PM
gallatin committed rGd9c55b2e8cd6: rss: Enable portions of RSS globally to enable symmetric hashing (authored by gallatin).
rss: Enable portions of RSS globally to enable symmetric hashing
Nov 22 2025, 2:31 PM
gallatin closed D53095: iavf: use newly exposed RSS hash key API rather than ad-hoc hashing.
Nov 22 2025, 2:31 PM
gallatin closed D53094: ixl: use newly exposed RSS hash key API rather than ad-hoc hashing.
Nov 22 2025, 2:31 PM
gallatin closed D53093: ixgbe: Use newly exposed RSS hash API rather than ad-hoc hashing.
Nov 22 2025, 2:31 PM
gallatin closed D53092: cxgbe: use newly exposed RSS hash key API rather than ad-hoc hashing.
Nov 22 2025, 2:31 PM
gallatin closed D53089: rss: Enable portions of RSS globally to enable symmetric hashing.
Nov 22 2025, 2:31 PM

Nov 21 2025

gallatin created P679 (An Untitled Masterwork).
Nov 21 2025, 3:54 PM

Nov 20 2025

gallatin committed rG896dc30bc9bc: iflib: fix iflib_simple_transmit() when interface is down (authored by gallatin).
iflib: fix iflib_simple_transmit() when interface is down
Nov 20 2025, 12:55 AM

Nov 13 2025

gallatin committed rGc56a26643467: mlx5: Fix compilation error when not building with KERN_TLS (authored by gallatin).
mlx5: Fix compilation error when not building with KERN_TLS
Nov 13 2025, 9:59 PM

Nov 11 2025

gallatin created P678 mbufq xmit hack.
Nov 11 2025, 6:40 PM
gallatin committed rGc9e4643da132: iflib: remove transmit prefetching (authored by gallatin).
iflib: remove transmit prefetching
Nov 11 2025, 5:01 PM
gallatin closed D53674: iflib: remove transmit prefetching.
Nov 11 2025, 5:01 PM
gallatin accepted D53633: acpi: add counters for cumulative time spent in each sleep state..
Nov 11 2025, 4:44 PM
gallatin added inline comments to D53674: iflib: remove transmit prefetching.
Nov 11 2025, 2:45 PM

Nov 10 2025

gallatin added a comment to D53674: iflib: remove transmit prefetching.
In D53674#1225349, @mjg wrote:

these also need to go:

sys/net/iflib.c:#define IFC_PREFETCH            0x040
sys/net/iflib.c:        if (rxq->ifr_ctx->ifc_flags & IFC_PREFETCH)
sys/net/iflib.c:        do_prefetch = (ctx->ifc_flags & IFC_PREFETCH);
sys/net/iflib.c:                ctx->ifc_flags |= IFC_PREFETCH;
Nov 10 2025, 8:17 PM
gallatin added a comment to D53674: iflib: remove transmit prefetching.
In D53674#1225304, @mjg wrote:

This looks legitimate.

The kernel does not have infra for static branches, so a tunable would not look good anyway. However, instead of just removing it I would propose just ifdefing the code for the time being, maybe start the file with:

/*
 * Uncomment to enable prefetching. Measurements in https://reviews.freebsd.org/D53674 show it hurts performance.
 */
//#define IFLIB_PREFETCH

Then interested parties can experiment should the choose to.

If mere existence of this code is making other work harder, then by all means remove it.

Nov 10 2025, 7:17 PM
gallatin added reviewers for D53674: iflib: remove transmit prefetching: glebius, markj, mjg, ae, melifaro.
Nov 10 2025, 6:24 PM
gallatin requested review of D53674: iflib: remove transmit prefetching.
Nov 10 2025, 6:21 PM

Nov 6 2025

gallatin committed rG9349214a2815: mlx5: Preallocate ktls tags asynchronously (authored by gallatin).
mlx5: Preallocate ktls tags asynchronously
Nov 6 2025, 12:01 AM
gallatin closed D53570: mlx5: Preallocate ktls tags asynchronously.
Nov 6 2025, 12:00 AM

Nov 5 2025

gallatin added inline comments to D53570: mlx5: Preallocate ktls tags asynchronously.
Nov 5 2025, 5:01 PM
gallatin added inline comments to D53570: mlx5: Preallocate ktls tags asynchronously.
Nov 5 2025, 12:46 PM
gallatin updated the diff for D53570: mlx5: Preallocate ktls tags asynchronously.
  • tried to address kib's concerns
Nov 5 2025, 12:40 PM
gallatin added inline comments to D53570: mlx5: Preallocate ktls tags asynchronously.
Nov 5 2025, 12:37 AM

Nov 4 2025

gallatin added inline comments to D53570: mlx5: Preallocate ktls tags asynchronously.
Nov 4 2025, 1:59 PM
gallatin updated the diff for D53570: mlx5: Preallocate ktls tags asynchronously.
  • added comment regarding allocation failure behavior, as suggested by markj
Nov 4 2025, 1:57 PM
gallatin requested review of D53570: mlx5: Preallocate ktls tags asynchronously.
Nov 4 2025, 12:02 AM

Oct 31 2025

gallatin added a comment to D53424: ufs: support unmapped bufs for indirect blocks in bmap.

Is there any concern that this new use will add pressure to the sf_buf system on non-direct map platforms?

Oct 31 2025, 6:11 PM

Oct 30 2025

gallatin updated the diff for D53089: rss: Enable portions of RSS globally to enable symmetric hashing.
  • Made rss_config.c standard. This is needed because most

drivers do not check to see if INET/INET6 is enabled before
setting up RSS. This fixes compilation errors in most
drivers with LINT-NOIP

Oct 30 2025, 7:03 PM

Oct 27 2025

gallatin committed rG23b46b2bbf0a: audit: convert audit event class lookup to lockless (authored by gallatin).
audit: convert audit event class lookup to lockless
Oct 27 2025, 2:15 PM
gallatin closed D53176: audit: convert audit event class lookup to lockless.
Oct 27 2025, 2:15 PM
gallatin added inline comments to D53176: audit: convert audit event class lookup to lockless.
Oct 27 2025, 2:07 PM

Oct 20 2025

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?

Oct 20 2025, 5:08 PM

Oct 17 2025

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.

Oct 17 2025, 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 .

Oct 17 2025, 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.

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

Oct 16 2025

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

Oct 16 2025, 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!

Oct 16 2025, 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?

Oct 16 2025, 12:37 PM