FreeBSD/src a6847basys/kern subr_taskqueue.c

taskqueue: Move wakeup() out of tq_mutex

taskqueue KPI require wakeup() to be called for each completed
task.  With everything else there heavily optimized over the years,
even when doing nothing this wakeup()'s lock/unlock is significant.
Since no external taskqueue consumer can depend on the tq_mutex,
we can move the wakeup() out of it.  It creates some complications
for internal waiters, but those should be much more rare, and can
be handled with separate locked wakeups on demand.

My tests of taskqueue-intensive ZFS RAIDZ writes on 64-core system
show performance improvement from this change ~4%, while same time
reducing CPU usage by several percent due to lower lock contention,
confirmed by CPU profiler.
DeltaFile
+27-4sys/kern/subr_taskqueue.c
+27-41 files

FreeBSD/src c8f3863. ObsoleteFiles.inc, tests/sys/netinet6/frag6 Makefile frag6_01.py

tests/netinet6: remove test that uses Jumbo Payload Option

This test was already marked as always skipped.

Fixes:  069a67374ed9641ff1ada2aecaac1cc61a560649
Reviewed by:            pouria
Differential Revision:  https://reviews.freebsd.org/D58114
DeltaFile
+0-232tests/sys/netinet6/frag6/frag6_01.sh
+0-116tests/sys/netinet6/frag6/frag6_01.py
+4-0ObsoleteFiles.inc
+0-3tests/sys/netinet6/frag6/Makefile
+4-3514 files

LLVM/project dd601a4lldb/include/lldb/Symbol SymbolLocator.h, lldb/source/Core DynamicLoader.cpp

[lldb] Search for a corefile's images before loading any of them

A userland or kernel corefile can list hundreds of images, and searching for
one can shell out to a symbol server or fetch over the network. Searching for
them one at a time is where loading such a corefile spends its time.

Add a batch form of SymbolLocator::Locate that runs the searches on the
debugger's thread pool, gated on target.parallel-module-load. Results come
back in the order the requests were given, since that order decides the
Target's module order. Only the results are ordered, and anything a search
reports to the user arrives in whatever order the searches finish in.

Only the plugin searches run concurrently, so a platform hook does not have to
be thread safe to take part, and reading a binary's UUID out of memory stays
on the calling thread.

Setting up a platform binary can replace the Target's platform and dynamic
loader, and now happens for every image before any of them is searched for, so
the platform a corefile asks for is the one all of its images are searched

    [4 lines not shown]
DeltaFile
+83-63lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+142-4lldb/unittests/Symbol/SymbolLocatorTest.cpp
+82-11lldb/source/Symbol/SymbolLocator.cpp
+43-19lldb/source/Core/DynamicLoader.cpp
+30-0lldb/include/lldb/Symbol/SymbolLocator.h
+25-0lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
+405-976 files

LLVM/project 1683451lldb/include/lldb/Symbol SymbolLocator.h, lldb/include/lldb/Target Platform.h

[lldb] Consult the platform before the symbol locator plugins (NFC)

A symbol locator plugin has no Platform to consult, so a platform that knows
where its binaries live cannot take part in a search. The only way to reach
one is Platform::GetSharedModule, which also creates the module and registers
it, so the lookup cannot be reused by a caller that wants to search for many
binaries before creating any.

Add a hook that only answers where the files are. An answer ends the search,
so an override owns what the plugins would otherwise have been asked for.

No platform overrides it yet. A follow-up moves PlatformDarwinKernel's kext
and kernel index lookups behind it.

Assisted-by: Claude
DeltaFile
+70-0lldb/unittests/Symbol/SymbolLocatorTest.cpp
+18-0lldb/include/lldb/Target/Platform.h
+10-0lldb/source/Symbol/SymbolLocator.cpp
+4-0lldb/include/lldb/Symbol/SymbolLocator.h
+1-0lldb/source/Core/DynamicLoader.cpp
+103-05 files

LLVM/project af80aadlldb/include/lldb/Symbol SymbolLocator.h, lldb/source/Core DynamicLoader.cpp

[lldb] Add a unified entry point for locating a binary and its symbols

The three-plugin composition that finds a binary and its symbol file is open
coded in several places. Give it one home, as a pure function of a module
spec, so that a caller holding several binaries can search for all of them
before creating any.

Nothing on this path takes a lock, where ModuleList::GetSharedModule holds the
shared module list's lock across the plugin search. That is what will make
searching for several binaries at once worth doing.

A miss that nothing could explain gets its own error type rather than an error
code, because a Status carrying an errno converts to the same llvm::ECError,
and a caller composing its own message for a plain miss must not swallow a
failure to reach a symbol server.

DynamicLoader's search no longer runs twice for a binary that is not already
known, and a module created from a located binary is now registered in the
shared module list, so a second Target asking for the same binary reuses it.

    [2 lines not shown]
DeltaFile
+199-0lldb/unittests/Symbol/SymbolLocatorTest.cpp
+44-36lldb/source/Core/DynamicLoader.cpp
+58-0lldb/include/lldb/Symbol/SymbolLocator.h
+49-0lldb/source/Symbol/SymbolLocator.cpp
+1-0lldb/unittests/Symbol/CMakeLists.txt
+351-365 files

LLVM/project f527e7allvm/lib/Target/RISCV RISCVInstrInfo.td RISCVInstrInfoZclsd.td, llvm/test/MC/RISCV rv32c-invalid.s

[RISC-V] Use an optional offset for C/Zc* extension instruction

Add uimm*_optional via OptionalMemOffsetAsmOperand and use it for the
instructions to allow dropping the "(${rs1})" zero-offset aliases.

This commit was prepared with the help of AI.

Reviewed By: topperc

Pull Request: https://github.com/llvm/llvm-project/pull/211674
DeltaFile
+30-60llvm/lib/Target/RISCV/RISCVInstrInfoC.td
+11-34llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
+7-17llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
+4-19llvm/lib/Target/RISCV/RISCVInstrInfoZclsd.td
+15-1llvm/lib/Target/RISCV/RISCVInstrInfo.td
+4-8llvm/test/MC/RISCV/rv32c-invalid.s
+71-1394 files not shown
+83-14810 files

FreeNAS/freenas f166de8src/middlewared/middlewared/common/license_reconcile __init__.py, src/middlewared/middlewared/plugins failover.py

Reconcile license derived config when the license changes

This commit adds changes to converge every subsystem whose configuration is derived from the license once that license changes. `truenas.license.upload` regenerated exactly one etc group and then fired `system.post_license_update` detached. That was survivable while gates asked `is_enterprise`, which expanded to `is_ha_capable OR (licence AND model AND not freenas)` -- on appliance hardware the first limb was already true before any license was installed, so those gates did not change their answer when one arrived and never re-rendering them cost nothing. Now that they are feature key checks they do change their answer, and a spread of etc groups were left silently stale until something unrelated regenerated them or the box rebooted. The plainest case is sudoers, where sudo command auditing simply did not turn on when an appliance was licensed.

Each affected subsystem now registers a LicenseReconcileDelegate from its own setup, naming the etc groups it owns and what should happen once they have been re-rendered, and a runner walks the eight of them on the hook. Doing this per plugin rather than centrally in etc matters because the right action genuinely differs between them: the block target delegates render without touching a live target and skip entirely when their service is stopped, the ones backing a running daemon reload it so that it picks the new config up, and ctdb gets a restart because the presence of its config file is what decides whether the daemon can start at all. Registration refuses a duplicate name or a group another delegate already claims, so two plugins cannot quietly both own one.

The hook is still fired detached, so the upload itself does not wait on the pass. What the runner does add is that it declines to do anything at all when the license reads as absent, because an unreachable license daemon is indistinguishable from an unlicensed system and re-rendering everything toward unlicensed over a transient socket failure would be far worse than leaving it alone -- one of those groups deletes its config file outright, and that file decides whether ctdb starts. failover.status is dropped from its cache ahead of the pass since half the groups read it while rendering, and truesearch is registered async so that waiting on its service job cannot hold the other consumers up behind it.

The cron template also goes back to rendering unless failover.status is definitively BACKUP. Keying it on SINGLE or MASTER instead, which is where it had drifted to, meant a transient ELECTING, IMPORTING or ERROR read emptied the whole schedule -- every user cronjob, rsync task, cloud sync, scrub and update check -- with nothing to put it back until the group happened to be regenerated again.
DeltaFile
+396-0src/middlewared/middlewared/pytest/unit/plugins/truenas/test_license_reconcile.py
+155-0src/middlewared/middlewared/plugins/truenas/license_reconcile.py
+79-0src/middlewared/middlewared/common/license_reconcile/__init__.py
+47-4src/middlewared/middlewared/plugins/failover.py
+41-0src/middlewared/middlewared/plugins/iscsi_/iscsi_global.py
+30-0src/middlewared/middlewared/pytest/unit/middleware.py
+748-411 files not shown
+842-817 files

LLVM/project 1069de7llvm/test/CodeGen/AArch64 arm64-saddlp1d-uaddlp1d.mir, llvm/test/CodeGen/AArch64/GlobalISel inline-memcpy.mir arm64-saddlp1d-uaddlp1d.mir

[AArch64][GlobalISel] Change the remaining tests to concrete types. NFC (#215383)
DeltaFile
+202-202llvm/test/CodeGen/AArch64/GlobalISel/localizer.mir
+42-42llvm/test/CodeGen/AArch64/GlobalISel/localizer-propagate-debug-loc.mir
+41-41llvm/test/CodeGen/AArch64/GlobalISel/inline-memset.mir
+0-50llvm/test/CodeGen/AArch64/arm64-saddlp1d-uaddlp1d.mir
+50-0llvm/test/CodeGen/AArch64/GlobalISel/arm64-saddlp1d-uaddlp1d.mir
+16-16llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy.mir
+351-3515 files not shown
+376-37711 files

LLVM/project 3ff3c15llvm/lib/Target/AArch64 AArch64PointerAuth.cpp, llvm/test/CodeGen/AArch64 ptrauth-tail-call-stackadjust.ll

[llvm][AArch64] Fix callee-pops epilogue AUT (#211889)

When we combine local frame teardown with callee popped argument
cleanup, we need to pay special attention to what the SP was on entry so
that it can be used as the discriminator when AUT-ing a saved LR.
Refactors AArch64PointerAuthImpl::authenticateLR a bit to clean up the
logic that detects when we can either fold the AUT into the terminator
forming a RETA[AB][PC], or when we can hard-code the SP discriminator
into the AUT as in AUTI[AB]SP[PC].
DeltaFile
+145-116llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
+70-0llvm/test/CodeGen/AArch64/ptrauth-tail-call-stackadjust.ll
+215-1162 files

LLVM/project f3d0df9clang/include/clang/CIR/Dialect/Analysis CIRAliasAnalysis.h CIRBasicAliasAnalysis.h, clang/lib/CIR/Dialect/Analysis CIRBasicAliasAnalysis.cpp

[CIR] Add alias analysis skeleton (#214357)

This change adds the skeleton of MLIR alias analysis for CIR and
implements a very basic AA handler. More thorough AA implementations for
things like TBAA and restrict keyword handling will be added in the
future. This change is intended only to put the basic framework in
place.

Assisted-by: Claude / Sonnet-4.6
DeltaFile
+157-0clang/lib/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.cpp
+72-0clang/test/CIR/lib/Analysis/TestCIRAliasAnalysis.cpp
+65-0clang/test/CIR/Analysis/alias-analysis.cir
+60-0clang/include/clang/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.h
+56-0clang/test/CIR/Analysis/alias-analysis-modref.cir
+34-0clang/include/clang/CIR/Dialect/Analysis/CIRAliasAnalysis.h
+444-09 files not shown
+512-015 files

LLVM/project 68897dallvm/docs ContentAddressableStorage.md, llvm/include/llvm/CAS OnDiskGraphDB.h ObjectStore.h

address review feedback.

Created using spr 1.3.7
DeltaFile
+20-15llvm/lib/CAS/OnDiskGraphDB.cpp
+4-3llvm/include/llvm/CAS/OnDiskGraphDB.h
+5-2llvm/include/llvm/CAS/ObjectStore.h
+2-2llvm/docs/ContentAddressableStorage.md
+31-224 files

LLVM/project 025458bclang/include/clang/CIR/Dialect/IR CIROps.td, clang/test/CIR/IR fenv.cir

[CIR] Add cir.fmuladd op lowering to llvm.fmuladd (#215329)

Adds a new `cir.fmuladd` operation to the CIR dialect, modeling the
contractable fused multiply-add — `(a * b) + c` where the backend may
fuse into a single rounding step or not, at its discretion.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
DeltaFile
+29-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+19-0clang/test/CIR/Lowering/fenv.cir
+16-1clang/test/CIR/IR/fenv.cir
+64-13 files

LLVM/project 3e9b219llvm/include/llvm/CAS OnDiskGraphDB.h ObjectStore.h, llvm/lib/CAS OnDiskCAS.cpp ObjectStore.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+150-0llvm/unittests/CAS/ObjectStoreTest.cpp
+83-0llvm/lib/CAS/OnDiskGraphDB.cpp
+33-4llvm/include/llvm/CAS/ObjectStore.h
+19-0llvm/lib/CAS/ObjectStore.cpp
+15-0llvm/include/llvm/CAS/OnDiskGraphDB.h
+12-0llvm/lib/CAS/OnDiskCAS.cpp
+312-42 files not shown
+328-48 files

LLVM/project 9b6a71fllvm/utils/gn/secondary/clang/unittests/Analysis BUILD.gn, llvm/utils/gn/secondary/lldb/source/Utility BUILD.gn

[gn build] Port commits (#215377)
DeltaFile
+2-1llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
+0-2llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
+1-0llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/JITLink/BUILD.gn
+1-0llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/JITLink/BUILD.gn
+1-0llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn
+1-0llvm/utils/gn/secondary/clang/unittests/Analysis/BUILD.gn
+6-36 files

FreeBSD/ports d66f424www/firefox Makefile distinfo

www/firefox: update tp 153.0.4 (rc1)

Release Notes (soon):
  https://www.firefox.com/en-US/firefox/153.0.4/releasenotes/

(cherry picked from commit bbde112fa4bc5d3b4d24effc880cec59a5a12ede)
DeltaFile
+3-3www/firefox/distinfo
+1-1www/firefox/Makefile
+4-42 files

FreeBSD/ports bbde112www/firefox Makefile distinfo

www/firefox: update tp 153.0.4 (rc1)

Release Notes (soon):
  https://www.firefox.com/en-US/firefox/153.0.4/releasenotes/
DeltaFile
+3-3www/firefox/distinfo
+1-1www/firefox/Makefile
+4-42 files

LLVM/project 4f55220clang/docs ReleaseNotes.md

Update based on reviewer comment.
DeltaFile
+1-1clang/docs/ReleaseNotes.md
+1-11 files

LLVM/project c4e392aclang/docs ReleaseNotes.md

Update clang/docs/ReleaseNotes.md

Co-authored-by: Dickson Chau <61763724+dicksonchau at users.noreply.github.com>
DeltaFile
+1-1clang/docs/ReleaseNotes.md
+1-11 files

LLVM/project 1fc79b7clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CIR/CodeGen call-conv-lowering-x86_64-member-ptr.cpp

[CIR] Use dialect attr-name accessors and pin the coerce guard

Review feedback on #215117.  The LLVM-dialect attribute names in
updateArgAttrs were spelled as string literals where mlir::LLVM::LLVMDialect
provides an accessor for each one and CIRGenCall.cpp already uses them.

Add a test for a pointer to member function, the case where the coercion type
already matches the original but the coercion is still needed.

Assisted-by: Cursor / claude-opus-5
DeltaFile
+28-0clang/test/CIR/CodeGen/call-conv-lowering-x86_64-member-ptr.cpp
+12-10clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+40-102 files

LLVM/project b35466fclang/lib/Sema SemaExprCXX.cpp, flang/test/Fir/MIF coarray-alloc.mlir

drop compresspat diff

Created using spr 1.3.8-beta.1-arichardson
DeltaFile
+1,036-238llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv.ll
+372-372llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
+344-262mlir/lib/Target/Wasm/TranslateFromWasm.cpp
+296-206clang/lib/Sema/SemaExprCXX.cpp
+259-237flang/test/Fir/MIF/coarray-alloc.mlir
+438-0llvm/test/CodeGen/NVPTX/tcgen05-commit-sm107.ll
+2,745-1,315619 files not shown
+17,558-8,221625 files

LLVM/project c39edc2clang/lib/Sema SemaExprCXX.cpp, flang/test/Fir/MIF coarray-alloc.mlir

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.8-beta.1-arichardson

[skip ci]
DeltaFile
+1,036-238llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv.ll
+372-372llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
+344-262mlir/lib/Target/Wasm/TranslateFromWasm.cpp
+296-206clang/lib/Sema/SemaExprCXX.cpp
+259-237flang/test/Fir/MIF/coarray-alloc.mlir
+438-0llvm/test/CodeGen/NVPTX/tcgen05-commit-sm107.ll
+2,745-1,315615 files not shown
+17,481-8,147621 files

OpenBSD/ports TdKFooidevel/p5-Module-Pluggable distinfo Makefile, devel/p5-Module-Pluggable/patches patch-MANIFEST patch-Makefile_PL

   update p5-Module-Pluggable to 6.4
VersionDeltaFile
1.3+25-12devel/p5-Module-Pluggable/patches/patch-Makefile_PL
1.1+35-0devel/p5-Module-Pluggable/patches/patch-MANIFEST
1.18+14-5devel/p5-Module-Pluggable/Makefile
1.10+2-2devel/p5-Module-Pluggable/distinfo
1.5+0-1devel/p5-Module-Pluggable/pkg/PLIST
+76-205 files

LLVM/project a925549clang/docs ReleaseNotes.md

[SystemZ][ReleaseNotes] clang release notes for SystemZ

Adds more content to the release notes.
DeltaFile
+4-0clang/docs/ReleaseNotes.md
+4-01 files

LLVM/project 2918799llvm/test/CodeGen/AMDGPU/GlobalISel mul-known-bits.i128.ll

Apply suggestion from @chinmaydd
DeltaFile
+1-1llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i128.ll
+1-11 files

LLVM/project 60c0c5dclang/lib/CodeGen CGOpenMPRuntimeGPU.cpp, clang/test/OpenMP target_reduction_debug_codegen.c

tighten comment and test
DeltaFile
+3-8clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
+2-2clang/test/OpenMP/target_reduction_debug_codegen.c
+5-102 files

LLVM/project 7d08e9dlldb/source/Utility DataExtractor.cpp, lldb/unittests/Utility DataExtractorTest.cpp

[lldb] Fix misaligned pointer UB in DataExtractor::GetU16/U32/U64 array reads (#213038)

The multi-value overloads
`DataExtractor::GetU16`/`GetU32`/`GetU64(offset_ptr, dst, count)` extract `count` consecutive integers from the buffer. When the
data byte order differs from the host, they walked the source and destination
through typed pointers (`const uint16_t *`/`uint32_t *`/`uint64_t *`).

`GetData()` hands back a pointer to an arbitrary byte offset within the
underlying buffer, and the caller's destination is an arbitrary `void*`, so
neither is guaranteed to be aligned for the wider integer type. Casting
such a byte-offset pointer to a wider typed pointer, advancing it, and loading or
storing through it is undefined behavior even when the individual accesses go
through `memcpy`-based helpers, because the typed pointer itself is required to be aligned.

Compiling with UBSan's alignment check (`-fsanitize=alignment`) turns this UB
into a runtime diagnostic, for example:

```
runtime error: store to misaligned address 0x... for type 'uint16_t',

    [9 lines not shown]
DeltaFile
+46-126lldb/source/Utility/DataExtractor.cpp
+167-0lldb/unittests/Utility/DataExtractorTest.cpp
+213-1262 files

OpenBSD/ports p8eHvmzlang/deno crates.inc distinfo, lang/deno/patches patch-cli_Cargo_toml patch-modcargo-crates_v8-0_68_0_v8_BUILD_gn

   lang/deno: Update to 2.9.5
VersionDeltaFile
1.24+48-63lang/deno/patches/patch-modcargo-crates_v8-0_68_0_build_config_compiler_BUILD_gn
1.1+108-0lang/deno/patches/patch-modcargo-crates_v8-150_4_0_build_config_compiler_cpu_abi_gn
1.54+46-32lang/deno/distinfo
1.54+22-15lang/deno/crates.inc
1.23+9-18lang/deno/patches/patch-modcargo-crates_v8-0_68_0_v8_BUILD_gn
1.20+11-8lang/deno/patches/patch-cli_Cargo_toml
+244-13649 files not shown
+419-28855 files

FreeBSD/src 0053a4bsys/netinet tcp_var.h

tcp: fix TF_BITS

Add missing TF_DISCONNECTED bit.

Reported by:    Hannes Elfert
Fixes:          40dbb06fa73c ("inpcb: retire INP_DROPPED and in_pcbdrop()")
DeltaFile
+1-1sys/netinet/tcp_var.h
+1-11 files

LLVM/project 18b8812clang/test/CodeGen/LoongArch/lasx builtin.c builtin-alias.c, llvm/test/CodeGen/AArch64 fixed-deinterleave-intrinsics.ll sve-interleaved-accesses.ll

Rebase, address comments

Created using spr 1.3.7
DeltaFile
+2,728-2,728clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
+2,724-2,724clang/test/CodeGen/LoongArch/lasx/builtin.c
+3,049-0llvm/test/CodeGen/AArch64/interleaved-accesses.ll
+1,956-0llvm/test/CodeGen/AArch64/sve-interleaved-accesses.ll
+166-1,134llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv.ll
+1,091-0llvm/test/CodeGen/AArch64/fixed-deinterleave-intrinsics.ll
+11,714-6,586295 files not shown
+17,330-12,428301 files

LLVM/project 75a2936llvm/unittests/CAS ObjectStoreTest.cpp

fix linux and windows test failures

Created using spr 1.3.7
DeltaFile
+9-7llvm/unittests/CAS/ObjectStoreTest.cpp
+9-71 files