[Support] Optimize parallel `TaskGroup` (#189196)
Two improvements to reduce `TaskGroup::spawn()` overhead:
1. Replace mutex-based `Latch::inc()` with atomic `fetch_add`. `dec()`
retains the mutex to prevent a race where `sync()` observes Count==0
and destroys the Latch while `dec()` is still running.
2. Pass `Latch&` through `Executor::add()` so the worker calls `dec()`
directly, eliminating the wrapper lambda that previously captured
both the user's callable and the Latch reference. This avoids one
`std::function` construction and potential heap allocation per spawn.
make ddb output visible when entering ddb from X on amdgpu
add a call to drm_fb_helper_restore_fbdev_mode_unlocked()
to amdgpu_enter_ddb() otherwise ddb output can't be seen
not required on inteldrm or radeondrm
devel/manuals: desktop-file-utils *is* needed
Re-add USES=desktop-file-utils to unbreak build. No PORTREVISION bump
because te build was broken.
Fixes: 9bbc918dbb5e7b795f926e275dbae7070a696aa6
Clean up vmctl, remove use of vmd's log.c.
This reimplements simpler versions of logging functions needed for
linking the qcow and raw disk image code from vmd.
Also cleans up the Makefile a bit, removing atomicio.c which is
unused.
ok mlarkin@
[DA] Check nsw flags for addrecs in gcd MIV test
This patch adds a check to ensure that every addrec have nsw flags
in gcd MIV test. If one of them doesn't have, the analysis bails
out. This check is necessary because the subsequent process in the
gcd MIV test assumes that they don't wrap.
Signed-off-by: Ruoyu Qiu <cabbaken at outlook.com>
vmm: Add an include to vmm_ktr.h for vm_name()
Required when KTR is configured.
Remove the pcpu.h include while here, as it seems to be unneeded.
Reported by: Jenkins
Fixes: 5f13d6b60740 ("vmm: Move common accessors and vm_eventinfo into sys/dev/vmm")
(cherry picked from commit 0aaa95ae02803ba0195c5da695ffbb17a79135bc)
[APINotes][unsafe-buffer-usage] Add [[clang::unsafe_buffer_usage]] support in APINotes
Support the ``[[clang::unsafe_buffer_usage]]`` attribute in APINotes, e.g.,
```
Functions:
- Name: myUnsafeFunction
UnsafeBufferUsage: true
```
rdar://171859135
Support bin-sbin merge on Fedora
Starting with Fedora 42, Fedora has been working on merging /bin and
/sbin directories. See
https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin
To support this, make sure we do not put files into */sbin directories
on these distributions by respecting the distribution set value of
%{_sbindir}.
In addition, explicitly set `mounthelperdir`, which affects the
placement of `mount.zfs`, which does not respect %{_sbindir} by
default. Making it point to %{_sbindir} will allow it to work correctly
on Fedora, while keeping its previous directory of `/sbin` on all other
distributions.
Note that files that used to reside in */sbin directories on Fedora will
stay accessible under these paths, as the distribution maintains
symlinks. No changes are needed to external scripts invoking these
[4 lines not shown]
[Psuedoprobe][MachO] Enable pseudo probes emission for MachO (#185758)
Enable pseudo probes emission for MachO. Due to the 16 character limit
of MachO segment and section, the file sections will be
`__PSEUDO_PROBE,__probes` and `__PSEUDO_PROBE,__probe_descs`.
[SLP] Replace TrackedToOrig DenseMap with parallel SmallVector in reduction
Replace the DenseMap<Value*, Value*> TrackedToOrig with a SmallVector<Value*>
indexed in parallel with Candidates. This avoids hash-table overhead for the
tracked-value-to-original-value mapping in horizontal reduction processing.
Fixes #189686
[VPlan] Stop outerloop vectorization from vectorizing nonvector intrinsics (#185347)
In outer-loop VPlan, avoid emitting vector intrinsic calls for intrinsics
without a vector form. In VPRecipeBuilder, detect missing vector intrinsic
mapping and emit scalar handling instead of a vector call.
Also fix assertion when `llvm.pseudoprobe` in VPlan's native path is being
treated as a `WIDEN-INTRINSIC`.
Reproducer: https://godbolt.org/z/GsPYobvYs
gicv3: Stop using ICC_PMR_EL1 to mask interrupts.
Managing ICC_PMR_EL1 with spl changes is too costly, even with lazy PMR
updates. Let's simplify things. We can still take advantage of interrupt
prioritization for delivery but let's do spl filtering in software.
On Ampere eMAG, iperf3 on the loopback interface sees a ~18% performance
improvement with this change.