Page MenuHomeFreeBSD

gallatin (Andrew Gallatin)
User

Projects

User Details

User Since
Jun 22 2015, 5:21 PM (584 w, 6 d)

Recent Activity

Thu, Sep 3

gallatin committed rGa5bb0fde6722: iflib: update rs_pending based on descriptors consumed by isc_txd_encap (authored by gallatin).
iflib: update rs_pending based on descriptors consumed by isc_txd_encap
Thu, Sep 3, 2:46 PM
gallatin closed D59321: iflib: update rs_pending based on descriptors consumed by isc_txd_encap.
Thu, Sep 3, 2:46 PM
gallatin added inline comments to D59328: iflib: Track queue datapath lifecycle.
Thu, Sep 3, 2:22 PM
gallatin added inline comments to D59329: iflib: Own queue quiescence during power transitions.
Thu, Sep 3, 2:06 PM
gallatin accepted D59330: iflib: Reject media changes during suspend.
Thu, Sep 3, 1:58 PM
gallatin accepted D58638: iflib: Plumb per-packet RX hardware timestamps from drivers to mbufs.
Thu, Sep 3, 12:29 AM

Wed, Sep 2

gallatin requested review of D59321: iflib: update rs_pending based on descriptors consumed by isc_txd_encap.
Wed, Sep 2, 1:02 PM
gallatin accepted D59294: iflib: Do not hold the ifnet lock across registration.
Wed, Sep 2, 12:09 PM

Tue, Sep 1

gallatin added a comment to D59204: iflib: Require sustained demand for TX watchdog.

The patchset is now running on the host which needs the watchdog to trigger from time to time. It needs a while to run into the issue.

Tue, Sep 1, 9:44 PM
gallatin added a comment to D59294: iflib: Do not hold the ifnet lock across registration.

Limit this change to the fe00ca2f8871 regression

Tue, Sep 1, 2:11 PM

Mon, Aug 31

gallatin closed D54096: iflib: don't update the admin status in if_media_status.
Mon, Aug 31, 9:19 PM
gallatin committed rGebb93ce6d86e: iflib: don't update the admin status in if_media_status() (authored by gallatin).
iflib: don't update the admin status in if_media_status()
Mon, Aug 31, 9:19 PM
gallatin accepted D59204: iflib: Require sustained demand for TX watchdog.
Mon, Aug 31, 3:06 PM

Fri, Aug 28

gallatin closed D21797: Add IFCAP_NOMAP to iflib.

Whoops.. this was accidentally committed as part of 6554362c664073f963300598abc4e8ae2be6d915 in 2019. Closing

Fri, Aug 28, 7:24 PM
gallatin accepted D59229: hwpmc(4): stop overwalking past _start on amd64 user callchains.
Fri, Aug 28, 7:18 PM
gallatin added a reviewer for D59229: hwpmc(4): stop overwalking past _start on amd64 user callchains: mhorne.
Fri, Aug 28, 7:18 PM

Tue, Aug 25

gallatin added a comment to D58603: if_bnxt: add MPC (Mid-Path Channel) ring infrastructure.

You never seem to use txr->tx_lock. Eg, you init it, and destroy it, but its not used to serialize access to the txr. And you seem to update txr->prod without any protection. Seems like you need to take the lock in bnxt_start_xmit_mpc, or get rid of it and assert whatever mutex protects things.

Tue, Aug 25, 3:57 PM

Fri, Aug 21

gallatin added a comment to D58638: iflib: Plumb per-packet RX hardware timestamps from drivers to mbufs.

iflibtxrx(9) needs updating for this feature.

Fri, Aug 21, 11:19 PM
gallatin accepted D58602: if_ bnxt: Fix interrupt storm on Thor2.
Fri, Aug 21, 2:09 PM
gallatin accepted D58599: if_bnxt: add HW-based TX completion coalescing.
Fri, Aug 21, 2:08 PM

Thu, Aug 20

gallatin accepted D58940: ice: Add a failure injection facility.
Thu, Aug 20, 12:45 PM

Wed, Aug 19

gallatin accepted D58598: if_bnxt: add CAGR interrupt coalescing tick-resolution support.
Wed, Aug 19, 9:22 PM
gallatin added inline comments to D58596: if_bnxt: add RX timestamping support.
Wed, Aug 19, 9:10 PM
gallatin accepted D58995: if_bnxt: consolidate readl_fbsd/writel_fbsd and fix BAR mapping.

Thank you!

Wed, Aug 19, 7:28 PM
gallatin added inline comments to D58940: ice: Add a failure injection facility.
Wed, Aug 19, 1:47 PM

Tue, Aug 18

gallatin added a reviewer for D58914: iflib: wire up the RSS ioctls: adrian.
Tue, Aug 18, 6:22 PM
gallatin added a comment to D58914: iflib: wire up the RSS ioctls.

Is there another patch which implements the set iotcls? Eg SIOCSIFRSSHASH & SIOCSIFRSSKEY ? How does a per-NIC settable key interact with the global rss hashing config in sys/net/rss_config.c ?

Tue, Aug 18, 6:21 PM
gallatin accepted D58910: ice: Honor iflib transmit completion batching.
Tue, Aug 18, 1:40 PM

Mon, Aug 17

gallatin updated the summary of D58901: iflib: implement drbr for simple_tx..
Mon, Aug 17, 11:06 PM
gallatin added a comment to D58901: iflib: implement drbr for simple_tx..
Mon, Aug 17, 11:05 PM
gallatin requested review of D58901: iflib: implement drbr for simple_tx..
Mon, Aug 17, 11:02 PM

Fri, Aug 14

gallatin committed rG06aaca43fe05: iflib: actually disable simple_tx when ALTQ is in use (authored by gallatin).
iflib: actually disable simple_tx when ALTQ is in use
Fri, Aug 14, 10:57 PM
gallatin committed rG73cceb046cd8: iflib: Fix several memory handling issues around iflib_encap() (authored by gallatin).
iflib: Fix several memory handling issues around iflib_encap()
Fri, Aug 14, 7:45 PM
gallatin closed D58843: iflib: Fix several memory handling issues around iflib_encap().
Fri, Aug 14, 7:45 PM
gallatin added inline comments to D58843: iflib: Fix several memory handling issues around iflib_encap().
Fri, Aug 14, 5:28 PM
gallatin added a comment to D58843: iflib: Fix several memory handling issues around iflib_encap().

@sumit.saxena_broadcom.com This fixes a bug around ktls handling with mp_ring.
@imp this fixes the bnxt panic you reported to me a few weeks ago

Fri, Aug 14, 12:55 PM
gallatin added reviewers for D58843: iflib: Fix several memory handling issues around iflib_encap(): kbowling, sumit.saxena_broadcom.com, imp.
Fri, Aug 14, 12:53 PM
gallatin requested review of D58843: iflib: Fix several memory handling issues around iflib_encap().
Fri, Aug 14, 12:53 PM

Wed, Aug 12

gallatin accepted D58776: rtnetlink: Add native SR-IOV VF status.

LGTM, but please wait for somebody to review the netlink part, which I did not do.

Wed, Aug 12, 9:35 PM
gallatin added a comment to D58810: bnxt: Add led(4) identification support.

LGTM, but holding back approval as I don't feel like I own this driver..

Wed, Aug 12, 9:29 PM
gallatin accepted D58722: iflib: Add registration failure injection points.
Wed, Aug 12, 9:26 PM
gallatin added inline comments to D58722: iflib: Add registration failure injection points.
Wed, Aug 12, 4:53 PM
gallatin accepted D58721: iflib: Complete registration failure cleanup.
Wed, Aug 12, 4:45 PM
gallatin added inline comments to D58776: rtnetlink: Add native SR-IOV VF status.
Wed, Aug 12, 4:32 PM

Tue, Aug 11

gallatin added a comment to D58452: iflib: drain the admin task before detaching the interface.

I'm confused.. patch looks like its still using taskqueue_drain rather than taskqueue_drain_all

Tue, Aug 11, 2:16 PM
gallatin accepted D58720: iflib: Add an admin task detach fail point.

This is really cool. I had never know about fail(9)

Tue, Aug 11, 2:14 PM

Aug 5 2026

gallatin accepted D58545: tests/kern: Skip Capsicum procdesc tests when capability mode is unavailable.
Aug 5 2026, 5:23 PM

Aug 4 2026

gallatin added inline comments to D58621: if_bnxt: rework interrupt coalescing onto the AGGINT_QCAPS scheme.
Aug 4 2026, 8:45 PM
gallatin accepted D58619: if_bnxt: drop redundant PCI disable in bnxt_fw_reset_close().
Aug 4 2026, 8:33 PM
gallatin accepted D58617: if_bnxt: fix HWRM failures/timeouts after repeated FW resets.
Aug 4 2026, 8:33 PM
gallatin accepted D58600: if_bnxt: add host-based TX completion coalescing.
Aug 4 2026, 8:30 PM
gallatin accepted D58616: if_bnxt: Never ARM Tx CQ as they are not interrupt-driven.
Aug 4 2026, 8:27 PM
gallatin accepted D58615: if_bnxt: avoid FTQM/STQM pg_info alias on reset.
Aug 4 2026, 8:26 PM
gallatin accepted D58614: if_bnxt: add support for HW generic stats.

Nice! These stats look really interesting.

Aug 4 2026, 8:26 PM
gallatin accepted D58618: if_bnxt: support more Tx rings than Rx rings on P5+.
Aug 4 2026, 8:24 PM
gallatin accepted D58613: if_bnxt: Restore Rx CQ doorbell skip-when-idle optimization on P5.
Aug 4 2026, 8:23 PM
gallatin accepted D58612: if_bnxt: ktls: Reject new kTLS sessions once driver is detaching.
Aug 4 2026, 8:21 PM
gallatin added inline comments to D58611: bnxt_re: Fix witness reported calltrace while unloading driver.
Aug 4 2026, 8:20 PM
gallatin accepted D58610: if_bnxt: Collect hw stats every 250 milliseconds.
Aug 4 2026, 8:12 PM
gallatin accepted D58609: if_bnxt: Pass HWRM cmd response to apps even if FW fails it.
Aug 4 2026, 8:11 PM
gallatin accepted D58608: if_bnxt: honor firmware min wait before VER_GET on reset.
Aug 4 2026, 8:10 PM
gallatin accepted D58607: if_bnxt: Fix HWRM mailbox/DMA teardown race on detach.
Aug 4 2026, 8:08 PM
gallatin requested changes to D58638: iflib: Plumb per-packet RX hardware timestamps from drivers to mbufs.
Aug 4 2026, 8:04 PM
gallatin accepted D58620: if_bnxt: drop epoch_arr[] to detect EPOCH bit toggle.
Aug 4 2026, 7:43 PM
gallatin added a comment to D58606: if_bnxt: add kTLS (kernel TLS) TX offload.

Also, bnxt_ktls_pre_xmit() and bnxt_ktls_submit_mbuf() both write BDs and advance txr->prod directly, and neither

compares against the consumer.  Is that safe?
Aug 4 2026, 4:04 PM

Aug 3 2026

gallatin added a comment to D58602: if_ bnxt: Fix interrupt storm on Thor2.

Why is the if needed? UINT32_MAX +1 == 0

Aug 3 2026, 11:29 PM
gallatin requested changes to D58605: if_bnxt: add bitmap search/test-and-set helpers.

Can't most these just be implemented in terms of the already existing primitives in sys/bitstring.h? Eg, bnxt_find_first_zero_bit -> bit_ffc bnxt_find_next_zero_bit -> bit_ffc_at bnxt_find_next_bit > bit_ffs_

Aug 3 2026, 11:25 PM
gallatin accepted D58604: if_bnxt: add bnxt_compat.h version-compat shim.
Aug 3 2026, 11:00 PM
gallatin added a comment to D58603: if_bnxt: add MPC (Mid-Path Channel) ring infrastructure.

I think every mpc allocation is leaked on detach. Eg, frees are done from bnxt_queues_free(). iflib runs bnxt_detach(), which sets mpc_info = NULL. And then runs bnxt_queues_free(), which gates freeing on if (!mpc) return;

Aug 3 2026, 10:58 PM
gallatin accepted D58601: if_bnxt: Support backing store v2 for Thor if FW supports it.
Aug 3 2026, 9:01 PM
gallatin added inline comments to D58599: if_bnxt: add HW-based TX completion coalescing.
Aug 3 2026, 8:54 PM
gallatin added a comment to D58598: if_bnxt: add CAGR interrupt coalescing tick-resolution support.

Does something need to re-apply this after reset?

Aug 3 2026, 8:15 PM
gallatin added a comment to D58596: if_bnxt: add RX timestamping support.
  • In addition to the inline comments, please make the code conform to style(9)
  • There do not seem to be licenses on the new files
Aug 3 2026, 7:56 PM
gallatin added a comment to D58452: iflib: drain the admin task before detaching the interface.

I spent a while looking at this, and I think maybe we should do a taskqueue_drain_all() here instead. Some drivers (bnxt) use their own tasks registered via iflib_config_task_init that deal with link events and might be subject to the same issue.

Aug 3 2026, 6:25 PM
gallatin accepted D58282: iflib: remove the unused TX queue state machine.
Aug 3 2026, 6:07 PM
gallatin committed rG3a6bf8a72d49: ifconfig: Improve CMIS parsing of breakout configs (authored by gallatin).
ifconfig: Improve CMIS parsing of breakout configs
Aug 3 2026, 4:55 PM
gallatin closed D58263: ifconfig: Improve CMIS parsing of breakout configs.
Aug 3 2026, 4:54 PM
gallatin accepted D58376: iflib: clean up correctly when device attach fails.
Aug 3 2026, 4:50 PM · iflib, network

Jul 16 2026

gallatin added a comment to D58266: iflib: restore TX watchdog functionality.

This fires too often, maybe some false positives. I will rework.

Jul 16 2026, 12:57 PM

Jul 15 2026

gallatin added a comment to D58266: iflib: restore TX watchdog functionality.

The whole watchdog thing, like mp_ring, is absurdly over-complicated for no real reason. Just do it the mxge way: if we have pending transmits (eg, producer != consumer) *AND* the nic has not consumed any packets since the last time the watchdog callout ran, then reset. I get dizzy every time i look at the iflib queue-state stuff. Its just extra complexity that adds nothing.

Jul 15 2026, 8:12 PM
gallatin added a comment to D58263: ifconfig: Improve CMIS parsing of breakout configs.

Before and after:

Jul 15 2026, 6:24 PM
gallatin requested review of D58263: ifconfig: Improve CMIS parsing of breakout configs.
Jul 15 2026, 5:56 PM

Jul 14 2026

gallatin accepted D58189: mbuf: make m_unshare() allow unmapped mbufs.
Jul 14 2026, 5:09 PM

Jul 13 2026

gallatin added a comment to D58189: mbuf: make m_unshare() allow unmapped mbufs.

I'd write this as 'mcopydata(m,off, len, mtod(..));

Jul 13 2026, 5:54 PM

Jul 8 2026

gallatin committed rG1cce5ef05d7b: lagg: re-check port caps after bringing up a port (authored by gallatin).
lagg: re-check port caps after bringing up a port
Jul 8 2026, 12:29 PM
gallatin closed D58062: lagg: re-check port caps after bringing up a port.
Jul 8 2026, 12:28 PM
gallatin added inline comments to D58062: lagg: re-check port caps after bringing up a port.
Jul 8 2026, 12:23 PM

Jul 6 2026

gallatin requested review of D58062: lagg: re-check port caps after bringing up a port.
Jul 6 2026, 6:55 PM

Jul 3 2026

gallatin accepted D58025: acpi_einj: Support for ACPI error injection.
Jul 3 2026, 5:30 PM
gallatin accepted D58024: acpi: Add a pseudo-bus for APEI devices to manage resources.
Jul 3 2026, 4:49 PM
gallatin accepted D58026: einj: Tool to manage APEI error injection.
Jul 3 2026, 4:45 PM

Jun 30 2026

gallatin accepted D57974: ktls: Add a tunable to disable TLS receive.
Jun 30 2026, 10:17 PM
gallatin accepted D57973: ktls: Centralize the check for CBC ciphers.
Jun 30 2026, 10:16 PM

Jun 26 2026

gallatin accepted D57557: ktls: Propagate EPG_FLAG_ANON to mapped mbufs.

I agree that its unfortunate to burn a flag on this, but in the near term, I think this fixes a real bug and should be committed.

Jun 26 2026, 8:51 PM

Jun 23 2026

gallatin committed rGfdca6b70aa7e: bnxt: Report actual link speed, rather than hard-coded 100Gbs (authored by gallatin).
bnxt: Report actual link speed, rather than hard-coded 100Gbs
Jun 23 2026, 5:02 PM
gallatin committed rG074ff8746388: iflib: handle transient errors from isc_txd_encap() (authored by gallatin).
iflib: handle transient errors from isc_txd_encap()
Jun 23 2026, 5:02 PM
gallatin closed D57550: iflib: handle transient errors from isc_txd_encap().
Jun 23 2026, 5:02 PM

Jun 17 2026

gallatin added a comment to D57537: iflib: Fix mbufs leaked by 0 len packets emitted from the if driver.
In D57537#1321127, @kp wrote:

It took me a while, but I think your patch is correct.

@gallatin Do you want to commit this, or should I? (Reid doesn't have a bit, so someone else needs to.)

Jun 17 2026, 6:10 PM · network
gallatin added a reviewer for D57550: iflib: handle transient errors from isc_txd_encap(): kp.
Jun 17 2026, 6:09 PM

Jun 15 2026

gallatin accepted D57558: socket: remove tautological condition in so_unsplice().
Jun 15 2026, 2:14 PM