FreeBSD/src 44fb29f — sys/dev/ice ice_iov.h ice_iov.c

ice: Make VF queue transitions idempotent

The VF mailbox handler unconditionally submitted queue-disable
commands, including when a VF repeated a request or negotiated after a
PF reset had already destroyed its queues.  Firmware can reject stale
Tx queue metadata, causing a NACK and unnecessary VF recovery.

Track queue configuration and enable state across virtchnl operations,
and clear it at VF and PF reset.  Apply only hardware transitions that
are not already complete while preserving progress after a partial
failure.  Validate queue configurations before mutating hardware so the
state maps remain trustworthy.

FreeBSD configures Tx hardware in CONFIG_VSI_QUEUES rather than
ENABLE_QUEUES, so track Tx configuration separately from Rx
configuration and enable state.  Linux ice similarly tracks per-VF Tx
and Rx queue state and skips redundant transitions.

On an E810-XXV, the prior code emitted AQ_RC_EINVAL while configuring a

    [8 lines not shown]
DeltaFile
+224-62sys/dev/ice/ice_iov.c
+5-0sys/dev/ice/ice_iov.h
+229-622 files

FreeBSD/src d4aba46 — share/man/man4 ice.4, sys/dev/ice ice_iov.h if_ice_iflib.c

ice: Rebuild VF VSIs after PF resets

PF and device resets discard all hardware VSI state.  ice_rebuild()
only recreated the main PF VSI before replaying configuration for every
VSI.  As a result, replay used stale VF VSI handles.  Firmware rejected
it with AQ_RC_EACCES and the failure aborted the entire PF rebuild.

Re-add each VF VSI before replaying its configuration, and do not
publish VFACTIVE until both operations succeed.  Clear the initialized
state so that the VF must negotiate again.  If a VF rebuild fails, leave
it inactive and continue so that one guest cannot prevent the PF or
sibling VFs from recovering.

Mark it initialized only after the resource response is submitted
successfully, so the state follows completion of the mailbox handshake.

Make that failed state authoritative in the mailbox path.  While the
firmware VSI is invalid, permit only VERSION and RESET_VF and reject
operations which require VSI state.  A VFR may complete the hardware

    [45 lines not shown]
DeltaFile
+114-8sys/dev/ice/ice_iov.c
+14-0sys/dev/ice/ice_lib.c
+9-1share/man/man4/ice.4
+4-1sys/dev/ice/ice_iov.h
+5-0sys/dev/ice/if_ice_iflib.c
+146-105 files

FreeBSD/src f8d0a9f — sys/dev/ice ice_lib.c if_ice_iflib.c

ice: Quiesce queues after partial initialization

ice_if_init marks DRIVER_INITIALIZED only after all queue and filter
operations succeed, so ice_if_stop intentionally does nothing after an
initialization failure.  Each failure path must therefore unwind any
hardware queues it may have configured before iflib releases their DMA
mappings.

Tx setup enables firmware scheduler queues one at a time, and Rx enable
similarly processes queues incrementally.  Route failures from both
operations through cleanup paths for both the PF and mirror VSIs.  The
cleanup helpers tolerate queues which were not configured, so they also
cover failures on the first queue.

This leaves failed initialization stopped as required by the
iflib_init_failed contract.

Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D59331

    [2 lines not shown]
DeltaFile
+7-5sys/dev/ice/if_ice_iflib.c
+2-2sys/dev/ice/ice_lib.c
+9-72 files

FreeBSD/src f421341 — sys/dev/enetc if_enetc.c

enetc: Correct transmit queue timeout detection

Test the producer and consumer indices after waiting for transmit
completion. The post-decrement loop leaves timeout at -1 on exhaustion,
so testing timeout == 0 missed the actual timeout and could report one
when the final poll completed successfully.

Leave the hardware shutdown sequence unchanged. This only corrects the
diagnostic; runtime FLR recovery and command-buffer lifetime handling
remain separate work.

Sponsored by:   BBOX.io

(cherry picked from commit 9a1756f831a77ee8292821c9efd38c2125bff88c)
DeltaFile
+1-1sys/dev/enetc/if_enetc.c
+1-11 files

FreeBSD/src f63e6c4 — sys/dev/axgbe if_axgbe_pci.c

axgbe: Propagate hardware and PHY initialization failures

Check hardware initialization instead of discarding its result, and
preserve the original initialization error across cleanup. Report a failed
init to iflib rather than publishing a running datapath. Return normalized
FreeBSD errors from attach_post.  Reuse the existing native reset cleanup
on failure.

Sponsored by:   BBOX.io

(cherry picked from commit b263545980f44c0318afcc26188046ad7e559ceb)
DeltaFile
+24-16sys/dev/axgbe/if_axgbe_pci.c
+24-161 files

FreeBSD/src d34d711 — sys/dev/ixgbe if_ix.c

ixgbe: Report hardware initialization failures to iflib

Check the result of ixgbe_init_hw() before configuring queues. Report
failure through iflib_init_failed() instead of publishing a working
datapath after shared-code initialization failed.

Sponsored by:   BBOX.io

(cherry picked from commit 6a903d9837645a9dbf990b699f50c67ad984c043)
DeltaFile
+8-1sys/dev/ixgbe/if_ix.c
+8-11 files

FreeBSD/src 44bf730 — sys/dev/ixl ixl_pf_iov.c ixl_pf_iflib.c

ixl: Tie statistics baselines to hardware resource epochs

Raw VSI statistics belong to the firmware-assigned counter index and are
reset when firmware recreates the VSI.  Reusing a baseline across either
event makes a counter decrease look like a full width rollover.

Reset the PF and main VSI baselines when rebuilding hardware resources.
Start a new baseline when firmware assigns a different PF counter index
and whenever it allocates a VF VSI.  Ordinary interface reinits which
retain the hardware resources continue to retain their statistics.

This follows the lifecycle used by ice without placing an unconditional
statistics reset in ixl_initialize_vsi(), which also runs during ordinary
iflib initialization.

Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D59337

(cherry picked from commit 444168adbe5217ea9b73773e42c60bf75fb7a6fd)
DeltaFile
+10-1sys/dev/ixl/ixl_pf_iflib.c
+2-0sys/dev/ixl/ixl_pf_iov.c
+12-12 files

FreeBSD/src 12b4420 — sys/dev/ixgbe if_ix.c

ixgbe: Defer flow control programming while admission is closed

Cache a validated flow control setting without touching hardware when
iflib has closed admission.  The queues may still be live pending a
watchdog stop, or the device may already be stopped or suspended.  RX
initialization and link setup replay the cached flow control policy.

For live updates, decide once under the context lock whether to touch
hardware, then mask MDD around SRRCTL writes regardless of a concurrent
watchdog closing admission.  The context lock excludes actual stop and
reinitialization while these writes are in progress.

Sponsored by:   BBOX.io

(cherry picked from commit 5abfd8fe4d1adb74863231f27a9958cf176e3ded)
DeltaFile
+8-6sys/dev/ixgbe/if_ix.c
+8-61 files

FreeBSD/src b138790 — sys/dev/ixgbe if_ix.c

ixgbe: Apply DMAC changes through an if-up reset request

Serialize cached DMA coalescing policy with initialization and schedule
its application through the admin task.  The old running check
preceded if_init() acquiring the context lock, so an intervening down
operation could be followed by an unconditional initialization.

Use the deferred if-up request so restart permission is checked when the
task runs.  Changes made while stopped or suspended remain cached for
the next initialization.  Do not schedule a reset for an unchanged value.

Sponsored by:   BBOX.io

(cherry picked from commit f5dc44c045c6f03a0f1bb2e81b0172e0781faec4)
DeltaFile
+15-8sys/dev/ixgbe/if_ix.c
+15-81 files

FreeBSD/src b5f07a5 — sys/dev/enic if_enic.c

enic: Report device enable failures to iflib

Do not publish a running interface after vnic_dev_enable_wait() fails.
Run the existing stop cleanup for the queues configured before the enable
request, then report initialization failure to iflib.

Mark those queues as needing cleanup before submitting the enable request
so the stopped-state shortcut cannot skip the unwind.

Sponsored by:   BBOX.io

(cherry picked from commit 24f8c4e852d69189a1de1ff51c351ae8ee603dfa)
DeltaFile
+11-4sys/dev/enic/if_enic.c
+11-41 files

FreeBSD/src 7c3f532 — sys/dev/enic if_enic.c

enic: Clean the completion ring matching each queue

The transmit stop loop cleaned the receive completion ring, and the
receive stop loop cleaned the transmit completion ring.  Use enic_cq_wq()
for transmit queues and enic_cq_rq() for receive queues, matching the
queue indices used by the remaining ring bookkeeping.

Sponsored by:   BBOX.io

(cherry picked from commit be36ceea1b8f75f7f537e77dddb75666671fef8f)
DeltaFile
+2-2sys/dev/enic/if_enic.c
+2-21 files

FreeBSD/src bf9f511 — sys/dev/ice ice_iflib_txrx.c

ice: Honor iflib transmit completion batching

ice marked every transmitted packet RS and recorded every last
descriptor in its report-status queue.  Hardware therefore wrote
descriptor status for every packet, and the driver traversed every
packet while reclaiming completed descriptors.

iflib marks selected packets with IPI_TX_INTR as completion
checkpoints.  It forces a checkpoint as deferred work or ring pressure
grows.  Retain EOP on every packet, but set RS and record the descriptor
only at those checkpoints.

DPDK uses the same sparse-RS design and defaults tx_rs_thresh to 32.
Let iflib choose the adaptive interval for FreeBSD.  This reduces PCIe
and memory traffic while preserving bounded descriptor reclamation.

Validated on an E810-XXV in an A-B-A test with five matched
four-stream, TSO-disabled transmit runs per phase.  Median throughput
was 9.413, 9.413, and 9.414 Gbps.  Median whole-system CPU was 21.54%,

    [12 lines not shown]
DeltaFile
+12-7sys/dev/ice/ice_iflib_txrx.c
+12-71 files

FreeBSD/src 63f9f13 — sys/dev/ice ice_lib.h ice_strings.c

ice: Defer RDMA critical error notifications

ice_msix_admin() runs as an interrupt filter inside a critical section.
ice_rdma_notify_pe_intr() acquires the global RDMA sx and invokes the
client event handler, both of which require sleepable thread context.  A
PE or HMC critical error could therefore panic under WITNESS or sleep
from interrupt context.

Accumulate OICR causes atomically in the interrupt filter and mark them
pending in the driver state.  Deliver the notification from the iflib
admin task before processing reset events.  This preserves the existing
ordering, lets an iRDMA-requested reset run in the same admin pass, and
coalesces causes from multiple interrupts.

Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D59340

(cherry picked from commit aae5b168820a9c39e39c6dff2f31df0522f91901)
DeltaFile
+28-1sys/dev/ice/if_ice_iflib.c
+3-0sys/dev/ice/ice_iflib.h
+2-0sys/dev/ice/ice_strings.c
+1-0sys/dev/ice/ice_lib.h
+34-14 files

LLVM/project c90a1a8 — lldb/source/API SBProcess.cpp, lldb/source/Plugins/Process/Windows/Common ProcessWindows.cpp

[lldb] ThreadList tid_t to lldb::tid_t (#232608)

Changing tid_t to lldb::tid_t to fix build conflicts
DeltaFile
+2-2lldb/source/Target/ThreadList.cpp
+2-2lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
+2-2lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
+1-1lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
+1-1lldb/source/API/SBProcess.cpp
+8-85 files

FreeBSD/src a571b56 — sys/dev/ena ena_rss.h ena_rss.c

ena: use newly exposed RSS hash key API rather than ad-hoc hashing

Differential Revision:  https://reviews.freebsd.org/D53100
Reviewed by: akiyano_amazon.com

(cherry picked from commit 96cde0b9e6068cd4c3aaebd86764b34afec1b624)
DeltaFile
+0-4sys/dev/ena/ena_datapath.c
+0-2sys/dev/ena/ena_rss.h
+0-2sys/dev/ena/ena_rss.c
+0-83 files

FreeBSD/src 7906fac — sys/dev/igc igc_txrx.c if_igc.c

igc: use newly exposed RSS hash key API rather than ad-hoc hashing

Differential Revision:  https://reviews.freebsd.org/D53103
Reviewed by: markj
Sponsored by: Netflix

(cherry picked from commit cfad68c5c6b9c1a203b3c3777e252048df92281d)
DeltaFile
+1-6sys/dev/igc/if_igc.c
+0-2sys/dev/igc/igc_txrx.c
+1-82 files

FreeBSD/src 9d364b9 — sys/dev/cxgbe t4_main.c

cxgbe(4): Fix compile warning for !RSS kernels

.../sys/dev/cxgbe/t4_main.c:7197:1: warning: unused function 'hashen_to_hashconfig' [-Wunused-function]
 7197 | hashen_to_hashconfig(int hashen)
      | ^~~~~~~~~~~~~~~~~~~~
1 warning generated.

Reported by:    bz
Fixes:  d381a6b4a552 cxgbe: use newly exposed RSS hash key API rather than ad-hoc hashing

(cherry picked from commit a303b1455fb5f76b193e10b0a96fabe4e93e9f40)
DeltaFile
+2-4sys/dev/cxgbe/t4_main.c
+2-41 files

FreeBSD/src 4628395 — sys/dev/hyperv/netvsc if_hn.c

hn: use newly exposed RSS hash key API rather than ad-hoc hashing

Differential Revision:  https://reviews.freebsd.org/D53099
Sponsored by: Netflix

(cherry picked from commit 2ae6227ddfb85965d9d2a3719583d8fddad02ba1)
DeltaFile
+0-17sys/dev/hyperv/netvsc/if_hn.c
+0-171 files

FreeBSD/src 2f786c5 — sys/dev/ice ice_lib.c

ice(4): Remove unused function

rss_getkey function is now available even if kernel RSS option
is disabled. This makes ice_get_default_rss_key no longer needed.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka at intel.com>

Reviewed by:    gallatin
Approved by:    kbowling (mentor)
Fixes:          012ecdde3a810 ("ice: use newly exposed RSS hash key API rather than ad-hoc hashing")
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D54281

(cherry picked from commit ca10598b10bc906938195af2268256ae08647039)
DeltaFile
+4-32sys/dev/ice/ice_lib.c
+4-321 files

FreeBSD/src f5201a3 — sys/dev/sfxge sfxge.c sfxge_rx.c

sfxge: use newly exposed RSS hash key API rather than ad-hoc hashing

Differential Revision:  https://reviews.freebsd.org/D53102
Reviewed by: arybchik, zlei
Sponsored by: Netflix

(cherry picked from commit 99b3c9adbc4152ceae234d21b6d0d19e2d0ea7d9)
DeltaFile
+0-14sys/dev/sfxge/sfxge_rx.c
+0-2sys/dev/sfxge/sfxge.c
+0-162 files

FreeBSD/src 1cc913a — sys/dev/liquidio lio_network.h lio_rss.h

lio: use newly exposed RSS hash key API rather than ad-hoc hashing

Differential Revision:  https://reviews.freebsd.org/D53101
Reviewed by: zlei
Sponsored by: Netflix

(cherry picked from commit 5a94c2e89f6a4fbdea49d6c3a51b5fe0154d2495)
DeltaFile
+4-4sys/dev/liquidio/lio_rss.c
+0-5sys/dev/liquidio/lio_main.c
+0-4sys/dev/liquidio/lio_rss.h
+0-2sys/dev/liquidio/lio_network.h
+4-154 files

FreeBSD/ports dd31e00 — french/wordpress distinfo, german/wordpress distinfo

{www,french,german,japanese,russian}/wordpress: update to 7.1.4

chinese/wordpress-zh_{CN,TW} remain IGNOREd as the 7.1.4 localized
distfiles are not yet available upstream.
DeltaFile
+3-3www/wordpress/distinfo
+3-3russian/wordpress/distinfo
+3-3japanese/wordpress/distinfo
+3-3german/wordpress/distinfo
+3-3french/wordpress/distinfo
+1-1www/wordpress/Makefile
+16-163 files not shown
+16-199 files

FreeBSD/src adabaa0 — sys/dev/e1000 igb_txrx.c if_em.h

e1000: use newly exposed RSS hash key API rather than ad-hoc hashing

Differential Revision:  https://reviews.freebsd.org/D53097
Reviewed by: kbowling
Sponsored by: Netflix

(cherry picked from commit e07b4a2e9bc4f6b2e129f3a101dfce2027694bd3)
DeltaFile
+0-4sys/dev/e1000/if_em.c
+0-2sys/dev/e1000/igb_txrx.c
+0-2sys/dev/e1000/if_em.h
+0-2sys/dev/e1000/em_txrx.c
+0-104 files

FreeBSD/src 33a7386 — sys/dev/vmware/vmxnet3 if_vmx.c

vmxnet3: use newly exposed RSS hash key API rather than ad-hoc hashing

Differential Revision:  https://reviews.freebsd.org/D53098
Reviewed by: tuexen
Sponsored by: Netflix

(cherry picked from commit e10e0c63f0e40043c589e00cdeef6c5574c72858)
DeltaFile
+8-21sys/dev/vmware/vmxnet3/if_vmx.c
+8-211 files

FreeBSD/src 1fd03ce — sys/dev/ice ice_rss.h

ice: use newly exposed RSS hash key API rather than ad-hoc hashing

Differential Revision:  https://reviews.freebsd.org/D53096
Sponsored by: Netflix

(cherry picked from commit 012ecdde3a810c52cc2f68a22afa1a1b7d699bff)
DeltaFile
+4-24sys/dev/ice/ice_rss.h
+4-241 files

LLVM/project 39a19f7 — clang-tools-extra/clangd CodeComplete.cpp, clang-tools-extra/clangd/index SymbolCollector.cpp

[clangd] Index symbols declared inside export declarations (#234755)

SymbolCollector::shouldCollectSymbol only accepts symbols whose semantic
parent is a translation unit, namespace, linkage spec, enum, record or
one of a few ObjC containers. ExportDecl is a DeclContext and is
returned by getDeclContext(), so every entity declared with `export` or
inside an `export { ... }` block was dropped from the index. Members of
exported classes were still indexed, since their parent is the record.

In C++20 modules code this hides most of the exported interface from the
index: Go to Definition on an exported function stops at the declaration
in the module interface instead of reaching the definition in the
implementation unit, and workspace/symbol does not find it. Rename uses
the same check, so it rejects exported symbols as "not eligible for
indexing" (reported in clangd/clangd#2569).

Use getNonTransparentDeclContext() instead, so declarations inside
transparent contexts (export, extern "C", unscoped enums) are judged by
their enclosing context. Do the same in isIndexedForCodeCompletion, so

    [4 lines not shown]
DeltaFile
+73-0clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
+40-0clang-tools-extra/clangd/unittests/RenameTests.cpp
+18-0clang/test/Index/USR/export.cpp
+3-4clang-tools-extra/clangd/index/SymbolCollector.cpp
+1-2clang-tools-extra/clangd/CodeComplete.cpp
+1-1clang/lib/UnifiedSymbolResolution/USRGeneration.cpp
+136-76 files

FreeBSD/ports 0e6d14d — www/deno Makefile Makefile.crates, www/deno/files patch-cargo-crates_deno__panic-0.2.1_src_libunwind.rs

www/deno: Update 2.9.7 => 2.9.8

- Enable LTO again, as upstream does for release builds.  It was
  disabled without a stated reason in 2.2.5; it now builds fine and
  makes deno about 11% smaller (122 MB -> 109 MB) and denort and
  libdenort.so about 7% smaller, at the cost of a longer, mostly
  single-threaded final link.
- Link with --icf=safe like upstream release builds to fold identical
  functions.
- Remove the deno_panic patch: the crate is only used by the optional
  panic-trace feature, which is not enabled.

Changelog:      https://github.com/denoland/deno/releases/tag/v2.9.8
DeltaFile
+27-23www/deno/distinfo
+12-10www/deno/Makefile.crates
+0-20www/deno/files/patch-cargo-crates_deno__panic-0.2.1_src_libunwind.rs
+3-5www/deno/Makefile
+42-584 files

FreeBSD/src 912c6b7 — sys/dev/cxgbe t4_main.c

cxgbe: use newly exposed RSS hash key API rather than ad-hoc hashing

Differential Revision:  https://reviews.freebsd.org/D53092
Reviewed by: np (outside of differential)
Sponsored by: Netflix

(cherry picked from commit d381a6b4a552305de48027c51919a7cf28d52d02)
DeltaFile
+2-13sys/dev/cxgbe/t4_main.c
+2-131 files

FreeBSD/src cd2ad1b — sys/dev/ixl ixl.h ixl_pf_main.c

ixl: Initialize the extended RSS key

Zero the complete 52-byte RSS key buffer before fetching the common
40-byte key.  Both the X722 AdminQ path and the register path consume all
52 bytes; the trailing extended-key bytes must not come from uninitialized
stack storage.  This matches the zero padding already used by iavf and ice.

Remove the unused driver-default key helper and its declaration.  Keep
the standard key, hash selections, and indirection policy unchanged.

Reviewed by:    gallatin
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D59791

(cherry picked from commit 0f7bdeadaf9d8101993dd39abee3a6a2ef4e2950)
DeltaFile
+0-17sys/dev/ixl/ixl_txrx.c
+1-1sys/dev/ixl/ixl_pf_main.c
+0-1sys/dev/ixl/ixl.h
+1-193 files

FreeBSD/src 0677e65 — sys/dev/ixl ixl.h ixl_pf_main.c

ixl: use newly exposed RSS hash key API rather than ad-hoc hashing

Differential Revision:  https://reviews.freebsd.org/D53094
Sponsored by: Netflix

(cherry picked from commit dd615b57df62e2fa858569d66164dcd1ef840c94)
DeltaFile
+2-13sys/dev/ixl/ixl_pf_main.c
+0-2sys/dev/ixl/ixl.h
+2-152 files