[HLSL][NFC] Update test check to be more specific (#207232)
If the repo path contains "main", the test was matching it against the
ModuleID in the output because it contains a path to the test file, and
the follow-up checks were failing.
Based on feedback in
https://github.com/llvm/llvm-project/pull/206596#discussion_r3510725223.
Gate ZFS deduplication on pool creation
This commit adds changes to extend the ZFS deduplication license gate to pool creation, which previously let a pool's root dataset be created with dedup enabled on a system that is not entitled to it. The check is factored into a shared validate_dedup_license helper so pool.create and the dataset create/update path enforce it identically and stay in sync.
18194 test-runner default output directory doesn't work
Reviewed by: Toomas Soome <tsoome at me.com>
Reviewed by: Robert Mustacchi <rm at fingolfin.org>
Approved by: Dan McDonald <danmcd at edgecast.io>
[clang] fix crash-on-invalid with deduction guides
Fix crash when a template template parameter specialization is used as a deduced type.
This is a regression since Clang 22, and this will be backported, so no release
notes.
Fixes #203261
devel/jujutsu: update to version 0.43.0
This update adds the "jj run" command and contains a number of new
features and a few bug fixes.
For the complete list of changes see:
https://github.com/jj-vcs/jj/releases/tag/v0.43.0
Fix inflated CPU temperature aggregate on consecutive-SMT CPUs
## Problem
The dashboard CPU Temp aggregate over-reported by roughly 1.5x, and the error scaled with load, on CPUs whose kernel enumerates SMT siblings consecutively (modern Intel client parts and AMD APUs). The legacy `get_cpu_temperatures` mirror loop copied each physical-core temperature onto its SMT sibling and added it to the running total twice, then divided by `len(data)`; under consecutive enumeration `ht_map` only held the even primaries, so the even physical cores were double-counted while the upper logical CPUs were never populated. The whole `ht_map` scheme assumed interleaved enumeration (cpu0 paired with cpuN/2), which is no longer how modern firmware lays things out.
## Solution
Reworked the pipeline to attribute temperatures at the physical-core level from kernel topology and take the aggregate as the mean over physical cores, so SMT enumeration order and asymmetric SMT no longer bias it. `cpu_info` now reads `core_id`, `physical_package_id` and `die_id` and builds `logical_to_phys` / `phys_to_package` / `phys_to_die` / `phys_to_core_id`; `ht_map` is gone. Each chip's readings are mapped per package — Intel by `core_id`, AMD by `die_id` with a Tdie/Tctl/temp1 fallback, and generic single-sensor by package broadcast — then projected onto every online logical CPU. libsensors stays the source; package identity comes from the coretemp `Package id N` label with an alphabetical fallback for multi-socket AMD (libsensors does not surface `numa_node`).
Added a multi-architecture unit-test matrix (consecutive/interleaved Intel, dual-socket, hybrid P+E, AMD single/multi/asymmetric CCD, prefer-Tdie, multi-socket, ARM 4-way SMT, zero-degree and no-sensors), plus fake-sysfs coverage for the topology parser and the package-resolution layer, which previously had none.
Gate ZFS deduplication on pool creation
This commit adds changes to extend the ZFS deduplication license gate to pool creation, which previously let a pool's root dataset be created with dedup enabled on a system that is not entitled to it. The check is factored into a shared validate_dedup_license helper so pool.create and the dataset create/update path enforce it identically and stay in sync.
18186 bhyve/virtio-scsi changes from FreeBSD
Reviewed by: Toomas Soome <tsoome at me.com>
Reviewed by: Gordon Ross <gordon.w.ross at gmail.com>
Approved by: Dan McDonald <danmcd at edgecast.io>
Put TextEncoding class in clang namespace to prevent naming conflicts (#207247)
Put TextEncoding class in the clang namespace to prevent naming conflicts
[flang][OpenMP] Semantic checks for metadirective loop nests
A loop-associated metadirective variant (`do`, `simd`, ...) is only
resolved during lowering, so it is never checked as a loop construct
during semantic analysis. A malformed or non-canonical associated nest
therefore reaches lowering, which assumes a canonical nest.
This patch validates the nest that follows such a variant (the next
executable construct) during semantics, reusing the diagnostics of a real
loop-associated construct. Each applicable variant is checked against it:
* Canonical loop: the affected loop must be a canonical DO loop, so a
`DO WHILE`, a pre-6.0 `DO CONCURRENT`, or a `DO` without loop control
is rejected.
* Nest depth: `collapse(n)` and `ordered(n)` must not exceed the depth
of the associated loop nest.
* Rectangularity: loops that must be rectangular (e.g. under `tile`) may
not have bounds that depend on an outer loop's variable.
[13 lines not shown]
ZTS: cover key unload when a child's mountpoint sorts before its root
zfs_unmount_unload_keys.ksh only exercised hierarchy-aligned
mountpoints. The changelist unmounts in reverse alphabetical order of
mountpoint, so a nested child always sorted after and unmounted before
its encryption root, and the case where the root unmounts first was
never covered. Add a case whose child mountpoint sorts before its
root's, so the root is unmounted while the child still holds the
inherited key, and assert "zfs unmount -u" still unloads the key and
unmounts the whole subtree.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Ameer Hamza <ahamza at ixsystems.com>
Closes #18713
libzfs: defer encryption key unload until the subtree is unmounted
"zfs unmount -u" unloads a dataset's encryption key right after
unmounting it. changelist_prefix() unmounts the subtree in mountpoint
order and passes MS_CRYPT to zfs_unmount() for every node, so each key
is unloaded inline during the walk. A wrapping key is shared by an
encryption root and the children that inherit it, and can only be
unloaded once all of them are unmounted. Because the walk is ordered by
mountpoint rather than by hierarchy, an encryption root can be unmounted
before a child that still holds its key; unloading the key there fails
with EBUSY, aborting the unmount. This breaks "zfs unmount -u <encroot>"
whenever a key-sharing child is still mounted.
Strip MS_CRYPT in the unmount pass so no key is unloaded inline and the
whole subtree is torn down first. With everything unmounted, unload the
encryption-root keys in a second pass, stopping at the first failure.
If an unload fails because a dataset using the key is genuinely in use
(for example a bind or second mount), re-mount the subtree to undo the
unmount before returning the error. With one encryption root, the
[5 lines not shown]
libzfs: fix MS_CRYPT/MS_OVERLAY collision with umount2(2) flags
MS_CRYPT and MS_OVERLAY are libzfs-internal mount flags, but their
values (0x8 and 0x4) aliased the umount2(2) flags UMOUNT_NOFOLLOW and
MNT_EXPIRE. A consumer that legitimately set UMOUNT_NOFOLLOW therefore
had that bit read as MS_CRYPT, so libzfs unloaded the dataset's
encryption key as a side effect.
Move both flags to high bits unused by umount2(2) and strip them before
the unmount syscall in do_unmount() (umount2(2) on Linux, unmount(2) on
FreeBSD) and in cmd/zfs. MS_CRYPT is a compile-time macro, so consumers
that set it (for example truenas_pylibzfs) must be rebuilt against the
new header.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Ameer Hamza <ahamza at ixsystems.com>
Closes #18713
[InstCombine] Sink instructions across assumes (#205314)
Not sinking across assumes causes InstCombine to not reach a fixpoint
when assumes can be dropped due to the load (usually nonnull assumes).
Sinking the instructions causes the assume to not be dropped anymore,
but I don't think that's a big problem.
databases/cego: 2.54.29 -> 2.54.38, devel/lfcbase: 1.23.5 -> 1.23.6
lfcbase:
- compiler warnings fixed for class Chain::toUpper and toLower
( dynamic wText allocation )
cego:
- procedure cache
- Added admin command set maxpagedelete to set up maximum number
of pages marked for delete before forcing a checkpoint.
- CegoQueryManager: _authUser has to be stored locally,
otherwise setUser method looses user information, if auth was not enabled
- new admin command object usage to show usage of tableset objects
to detect any usage leaks and to get an overview of objects in
use by running database threads
- backupManager: indicate number of logs to recover up to crash
for the corresponding backup id.
- Fix added in CegoRecoveryManager::recoverCurrentTransactionLog
- Added list transaction command
[5 lines not shown]
[clang] accept member specializations declared in class scope
Explicit specializations are not restricted to namespace scope since CWG727 was
accepted as a DR.
Also fixes a crash upon error recovery in this case which was a recent
unreleased regression.
Fixes #206866