Mark Johnsons Claude code found a duplicate call to rack_check_reorder_ack() in rack.c
Mark's Claude code properly points out an interesting bug case where if a new block is
created from a sack aka
rsm |--------|
sackblk |--------->
Then when the new block is created rack_check_reorder_ack() is called and then called again when
the block is actually ack'ed. Proper thing is to *not* in this case call the function and only call
it at the processing to ACK. You leave the hookery side however since that is just transfering
the existing block pointers.
Differential Revision:https://reviews.freebsd.org/D61159
[SLP]Do not vectorize the same freeze in several nodes
Each vector freeze may produce its own value for an undef or poison
lane, so a freeze vectorized in more than one node is duplicated.
Gather such bundles instead.
Fixes #240001
Assisted-by: Cursor
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/240125
[LV] Respect access type and alignment when speculating loads (#229379)
An unconditional access does not make a wider or more strongly aligned
load at the same pointer safe. Track the maximum fixed access size and
alignment for each pointer, skipping scalable accesses. Implemented with
assistance from OpenAI Codex.
Validate container configuration values when they are saved
## Problem
Several container settings passed create and update but only failed at start, often as a raw IndexError or ValueError: an unparseable or empty init, a cpuset with whitespace or CPUs that are not online, and a memory limit above host RAM. A missing initdir made start report success for a container that exited immediately.
## Solution
- **Save time**: init must parse to at least one token; cpuset must be well formed and online, and memory within host RAM. The cpuset and memory checks only run when the value changes, so a host that has since lost CPUs or memory does not block unrelated edits.
- **Start time**: initdir must resolve to a directory inside the container root.
- **Migration**: an incus CPU count, or a CPU set or memory limit this host can't satisfy, is dropped with a job log line instead of failing the container.
- An invalid pinned VM cpuset is a validation error instead of an unhandled ValueError, and autostart failures are logged with a traceback. Accepting `0-0` relies on the matching truenas_pylibvirt parser change.
[SPARC] Add LEON5 scheduling model (#237853)
Based on timing information from the GRLIB IP Core User's Manual and
from measurements.
Assisted-by: Claude
[SCEV] Use isImpliedByMatchingCmp in SCEVComparePredicate::implies. (#240053)
If both predicates have matching LHS and RHS, check if one implies the
other via isImpliedByMatchingCmp. This handles a few more cases and
fixes a miscompile where previously we did not check the predicate of N.
PR: https://github.com/llvm/llvm-project/pull/240053
[VPlan] Factor out VPSCEVExpander::expandAddOps (NFC). (#240062)
Move the expansion of an add's operands to a helper, so follow-ups can
expand sums of subsets of an add's operands.
Validate container configuration values when they are saved
## Problem
Several container settings passed create and update but only failed at start, often as a raw IndexError or ValueError: an unparseable or empty init, a cpuset with whitespace or CPUs that are not online, and a memory limit above host RAM. A missing initdir made start report success for a container that exited immediately.
## Solution
- **Save time**: init must parse to at least one token; cpuset must be well formed and online, and memory within host RAM. The cpuset and memory checks only run when the value changes, so a host that has since lost CPUs or memory does not block unrelated edits.
- **Start time**: initdir must resolve to a directory inside the container root.
- **Migration**: an incus CPU count, or a CPU set or memory limit this host can't satisfy, is dropped with a job log line instead of failing the container.
- An invalid pinned VM cpuset is a validation error instead of an unhandled ValueError, and autostart failures are logged with a traceback. Accepting `0-0` relies on the matching truenas_pylibvirt parser change.