misc/py-mmcv: Fix build on Python 3.13 and the runtime dependencies
PR: 299961
setup.py exec()s mmcv/version.py and then reads __version__ back
from locals(), which no longer works on 3.13 (PEP 667): exec into an
explicit namespace instead.
The package also could not be installed or imported on its own: the
extension links against libc10.so from py-pytorch (only a build
dependency so far), and mmcv.image imports cv2 at the top level. Add
both py-pytorch and py-opencv-python-headless to RUN_DEPENDS.
While here, follow the Python Ports Policy, add concurrent to
USE_PYTHON, fix portlint warnings and document the patches.
[llvm-lto] Initialize targets before parseCommandLineOptions (#235523)
Target library options are registered when targets are initialized, so
llvm-lto rejects them as unknown arguments.
Reorder parseCommandLineOptions similar to llvm-lto2.
[ARM] Register the Thumb2ITBlockPass. NFC (#235521)
This was missing from the list of initialized passes, add it so that
print-after and pass options work.
www/chawan: update to 0.5.1
This commit updates the chawan package to version 0.5.1, which fixes the
following issues:
* remove non-functional btoa symlink
* fix broken subnet classification procedure
* fix all history entries being truncated in some cases
* fix crash on invoking functions on detached SelectBuilder
* fix chahash on big-endian platforms
* fix calls to invalidated SelectBuilder crashing the browser
* fix select being incorrectly positioned at the screen's edge
* fix crashed buffers crashing the pager too in some cases
* report invalid match/nc-match regexes in mailcap
For further information, please consult the projects news page:
https://chawan.net/news/chawan-0-5-1.html
abi: update for libspl kthread changes
Sponsored-by: TrueNAS
Reviewed-by: Kamil Monicz <kamil at monicz.dev>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes 19508
libspl: updated "owned" primitives to track curthread
kmutex_t and krwlock_t both have an owner field, tracking the owner.
These can now use a kthread_t* and the curthread pointer like everything
else.
Sponsored-by: TrueNAS
Reviewed-by: Kamil Monicz <kamil at monicz.dev>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes 19508
libspl/thread: rewrite for kthread semantics and to hide pthread
The libspl kthread implementation was previously a simple wrapper around
POSIX threads. This was subtly wrong in a handful of ways, mostly in
that a pthread does not have exactly the same lifetime as a kthread, and
pthread_t neither represents exactly the same thing as kthread_t*, nor
is it guaranteed to be the same size and shape.
This commit properly implements the kthread semantics and API on top of
pthreads, while largely hiding the pthread use inside as an
implementation detail.
Sponsored-by: TrueNAS
Reviewed-by: Kamil Monicz <kamil at monicz.dev>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes 19508
spa: extend HAVE_SPA_THREAD gate to all uses of spa_did
thread_join(spa->spa_did) was always compiled in, which was ok while
thread_join() is either a no-op or takes a type trivially convertible to
a uintptr_t. Next commit will change the latter for userspace, breaking
the build.
Since this is all part of the currently-unused "SPA thread" mechanism,
it should go behind the same compilation gate.
Sponsored-by: TrueNAS
Reviewed-by: Kamil Monicz <kamil at monicz.dev>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes 19508
[LoopInterchange] Add tests for loop control values in the outer preheader (NFC)
Add test cases where it matters whether the loop control values (the
initial and final values of the IVs) are available in the outer loop
preheader. These are corner cases where the work in #235496 changes
what loop-interchange can handle.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
raidz: don't lose the expansion wakeup when a resilver ends early
When a pass of a RAID-Z expansion fails, because a child cannot be
read or its DTL_MISSING is not empty, spa_raidz_expand_thread() waits
for the txgs of that pass to sync, and only then sets
vre_waiting_for_resilver. raidz_dtl_reassessed() resumes the
expansion only if that flag is already set. A DTL reassessment that
lands in between is lost, and the expansion stays paused with every
child healthy, until something else reassesses the DTLs.
This is what happens after "zpool online" of a child that was offline
during an expansion. The online wakes the thread, the next pass fails
again because the child's DTL_MISSING is not empty yet, and the
resilver of a short outage ends, and reassesses the DTLs, while the
thread is still in txg_wait_synced().
Count the reassessments in vre_dtl_gen, and do not set
vre_waiting_for_resilver if the count has moved since the pass
started: the zthr then runs the next pass at once, as a wakeup would
[13 lines not shown]
[GlobalISel] Move extracted constants into matcher bindings (#235510)
Move from successful local optional results in m_ICst and m_ICstOrSplat
instead of copying their values immediately before destruction. Wide
APInts can transfer their storage to the output binding.
Assisted by: GPT-6.1-Sol
[TTI] Remove unused -costmodel-reduxcost (#235517)
Added in cae8735a5465 (2013, "Costmodel: Add support for horizontal
vector reductions")
and removed by https://reviews.llvm.org/D105484
x11/bhotkeys-dwm: New port
Stock dwm chords for bhotkeys. SUPERASMODKEY installs those
rows with Super as Mod, for a dwm built with that option.
Reviewed by: fuz (previous revision), jrm (previous revision)
Differential Revision: https://reviews.freebsd.org/D60934
AMDGPU: Add implicit buffer pointer live-in for compute shaders (#235508)
When setting up the scratch resource for Mesa compute shaders, the
implicit buffer pointer was copied with S_MOV_B64 without being added
as a live-in, so the machine verifier reported a use of an undefined
register. Only the graphics path, which loads through the pointer,
added it. Add the live-in on both paths.
This was exposed by the new test in #235258.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
zarcsummary: handle reset output pipes
A reader closing the output early can raise ConnectionResetError rather
than BrokenPipeError. Handle both with the existing successful exit path
and preserve the handling of other exceptions.
Assisted-by: OpenAI Codex
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: ooonea <35407790+ooonea at users.noreply.github.com>
Closes #19547
Linux: fix zfs_sha256_available() on ARM CPUs that also have SHA-512
ID_AA64ISAR0_EL1.SHA2 is 0b0001 when SHA-256 is implemented and 0b0010
when SHA-256 and SHA-512 both are. zfs_sha256_available() tested bit 0
of the field, so on every CPU that also implements SHA-512, which
includes Apple silicon and recent Cortex and Neoverse cores, it reported
SHA-256 as absent. The sha256 armv8-ce implementation was then never
listed and the slower NEON variant was the fastest available, while
zfs_sha512_impl correctly offered armv8-ce on the same CPU.
Treat any nonzero field value as SHA-256 present, matching the kernel's
HWCAP_SHA2 logic. FreeBSD and userspace use HWCAP and were already
correct.
Reviewed-by: Tino Reichardt <milky-zfs at mcmilk.de>
Reviewed-by: Rob Norris <rob.norris at truenas.com>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Walter McKelvie <walt at mckelvie.org>
Closes #19536
[LLDB] Support transfer in local machine
A trasnfer can also happen in local machine if the src and dest are not
the same. Support local machine transfer for this case. In Linux, we
never hits this as they don't support coredump and will be bailed out
eariler.