Fix parsing / flush of legacy share acl format
Between TrueNAS 13 and SCALE we altered the format for SMB share
ACLs that is written to our sqlite3 database from a basic
security descriptor string as formatted by the sharesec utility
to the actual secuirty descriptor bytes that are stored in the
share_info.tdb file. This commit fixes handling for cases where
user has the old format written to the DB and adds tests.
qat: Export missing symbols in qat_common
Some symbols required by dependent modules were missing from
qat_common.ko and qat_api.ko, causing load failures when local symbol
resolution is disabled.
PR: 291271
Reviewed by: zlei, markj
Differential Revision: https://reviews.freebsd.org/D54107
[InstCombine] Drop range metadata when simplifying `fshl` with demanded bits (#173864)
InstCombine may rewrite `llvm.fshl` operands when simplifying based on
demanded bits, which can invalidate previously attached return value
constraints. Except from range attribute, `!range` metadata could also
be not dropped after operand rewriting, leading to stale
poison-generating metadata and potential miscompilations.
This patch drops poison-generating annotations when `fshl` operands are
simplified, ensuring that `!range` metadata is cleared consistently with
return attributes.
Alive2 proof: https://alive2.llvm.org/ce/z/EVUvY6
Fixes #173793
NAS-139089 / 25.10.2 / Use CSafeLoader for YAML Loading... (by essinghigh) (#17912)
... to avoid holding the GIL
I've been raising a lot of PRs lately, had some time off work, so
apologies for the spam :)
### Problem
Users running apps have been reporting high `asyncio_loop` CPU% util
since around 25.04.
See:
https://forums.truenas.com/t/asyncio-loop-over-100-cpu-middlewared-gui-slow-seems-docker-ghcr-custom-app-related/49461
Through profiling middleware with py-spy, I found that YAML parsing
accounts for approximately 50% of the stack traces during high
utilization periods. PyYAML's pure Python implementation is CPU
intensive and, more importantly, holds the GIL, blocking the asyncio
loop.
### Solution
[19 lines not shown]
NAS-139089 / 26.04 / Use CSafeLoader for YAML Loading... (#17906)
... to avoid holding the GIL
I've been raising a lot of PRs lately, had some time off work, so
apologies for the spam :)
### Problem
Users running apps have been reporting high `asyncio_loop` CPU% util
since around 25.04.
See:
https://forums.truenas.com/t/asyncio-loop-over-100-cpu-middlewared-gui-slow-seems-docker-ghcr-custom-app-related/49461
Through profiling middleware with py-spy, I found that YAML parsing
accounts for approximately 50% of the stack traces during high
utilization periods. PyYAML's pure Python implementation is CPU
intensive and, more importantly, holds the GIL, blocking the asyncio
loop.
### Solution
[15 lines not shown]
interfaces: prepare for #7647 by clustering the id-assoc blocks
This way we can retroactively render the full sections in the configuration.
Some research still needed for how dhcp6c tracks these numbers (also across
interfaces worst case).
The old $id logic with the increment doesn't make much sense at first glance
given the example config in the ticket.
InstCombine: Handle exp/exp2/exp10 in SimplifyDemandedFPClass (#173432)
I'm working on optimizing out the tail sequences in the
implementations of the 4 different flavors of pow. These
include chains of selects on the various edge cases.
Related to #64870
bhyve: Use a blocking socket in the helper process
The send_packet callback does not handle EAGAIN, and on the recv side we
already use poll() and MSG_DONTWAIT to implement a non-blocking loop.
PR: 291616
Tested by: novel
Fixes: 0e62ebd20172 ("bhyve: Move the slirp backend out into a separate process")
Differential Revision: https://reviews.freebsd.org/D54340
InstCombine: Handle exp/exp2/exp10 in SimplifyDemandedFPClass
I'm working on optimizing out the tail sequences in the
implementations of the 4 different flavors of pow. These
include chains of selects on the various edge cases.
Related to #64870