[LV] Update test to not have trivially simplify-able/dead instrs (NFC) (#195136)
Make a few tests more robust w.r.t. simplifications/DCE by adding users
and adjust a trivially simplify-able AND.
dmesg(8): Add -t and -f options for converting timestamps
Kernel timestamps are relative to kern.boottime.
With -t, kern.boottime is added and converted to either
a default format or the one specified using the -f option.
Signed-off-by: Andre Albsmeier <mail at ghub.e4m.org>
Reviewed by: kib, pouria
Discussed with: imp
Pull-Request: https://github.com/freebsd/freebsd-src/pull/1985
graphics/crucible: switch to upstream source
Fetch source from gitlab.freedesktop.org/mesa/crucible (upstream) and apply
FreeBSD-specific patches via PATCH_SITES/PATCHFILES.
Reported by: diizzy
[lldb] Centralize the pexpect timeout to make it easy to override (#195131)
When debugging PExpect tests, the 60 second timeout can make that
process rather tedious. For TestStatusline, I used a class variable to
easily override it while iterating but the idea is applicable more
generally.
NAS-140838 / 27.0.0-BETA.1 / remove gpu isolation from initrd script (#18842)
## What
Move PCI passthrough (vfio) wiring out of `truenas-initrd.py` and into
middlewared.
- `system.advanced.write_vfio_pci_ids` writes a flat newline-separated
PCI slot list to `/data/subsystems/initramfs/truenas_vfio_pci_ids` on
isolation changes and on boot validation.
- An initramfs-tools hook copies that file into the initrd at
`/etc/truenas_vfio_pci_ids`; `init-top/truenas_bind_vfio` reads it and
binds each slot to vfio-pci before any host driver can attach.
- The five files previously *generated* by the upgrade script
(`/etc/modprobe.d/{kvm,nvidia}.conf`, `/etc/modules`,
`/etc/initramfs-tools/modules`, and the init-top binder) now ship as
static package files.
## Why
[13 lines not shown]
[DWARFLinker] Make ODR uniquing deterministic (#194777)
The parallel DWARF linker deduplicates types across compile units using
a shared TypePool. When multiple CUs define the same type,
allocateTypeDie uses compare_exchange_strong to race for setting the
canonical DIE. The first thread to succeed stores the DIE and clones its
attributes, while subsequent threads use it the canonical one. Which
thread wins depends on OS thread scheduling, making the output
non-deterministic.
This PR fixes the non-determinism by assigning each CompileUnit a
priority based on its position in the link order (object file index, CU
index within the file). When a CU wants to mark DIE as canonical, it
acquires the spinlock, and only stores its DIE if its priority is
strictly lower than the current canonical DIE. This ensures that the
canonical DIE is always the lowest-priority (i.e. first) CU that defines
that type. The replaced DIE is leaked into the bump allocator and the
existing DebugTypeDeclFilePatch and accelerator record filters skips the
orphaned DIEs via getFinalDie() checks.
[2 lines not shown]
[lldb] Remove commented-out code in DWARFExpression (NFC) (#195138)
`DW_OP_addr_sect_offset4` is not a real DWARF opcode; it was a
proprietary LLDB proposal that was never adopted (and has no llvm::dwarf
constant). The same shared-library sliding problem is handled today by
evaluating DW_OP_addr as a FileAddress and converting via
Value::ConvertToLoadAddress.
[libc++][NFC] Simplify the mersenne_twister_engine implementation a bit (#194893)
This replaces some SFINAE and function overloading with `if
_LIBCPP_CONSTEXPR` to simplify the code a bit.
chroot.2: "filedescriptors" => "file descriptors"
"filedescriptors" is the odd one out when looking at other manual pages.
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 4c6d8aa069f2ac22f801fa69add61085631b3356)
netstat(1): '-w': Banners to appear before a new statistics line, not after
Recurring banners except the first are printed just after the latest
interval's statistics line, giving the false impression that the latter
are omitted. It is also better to print a new banner only if it is
going to be followed by a new line of statistics, in case netstat(1) is
interrupted or we have reached the number of iterations specified by
'-q'.
Fix this by pushing printing these banners inside the loop producing
statistics lines, after having waited for the next interval.
The first banner is printed before the loop, as we want it to be printed
immediately at launch, even if at this point we do not have statistics
to display (we have to wait for an interval to compute these, as they
are based on a difference).
While here, remove the 'goto' spaghetti by putting banner printing into
its own private function and using a proper infinite loop in
[21 lines not shown]
vfs: Simplify vfs_write_resume()/vn_start_write_refed()
The call to vn_start_write_refed() from vfs_write_resume() with
'mplocked' set to 'true' exactly boils down to doing an increment of
'mnt_writeopcount', albeit with lots of unnecessary verifications.
Replace it with an inline incrementation. As the original call was the
last with 'mplocked' with 'true', remove the 'mplocked' parameter from
vfs_write_resume(), simplifying its code accordingly ('mplocked' always
false).
While here, in vfs_write_resume(), initialize 'error' out of the mount
lock.
Reviewed by: kib
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56108
(cherry picked from commit 4deb934c1a1051d7ef41e9309d066742722ce180)
style.9: Encourage style changes when doing significant modifications
The rule of allowing style changes when about half or more of a file (or
group of files), coupled with the advice of avoiding stylistic changes,
could be interpreted as forbidding most style changes, even in heavily
modified functions.
In order to rule out that interpretation and ease transition towards our
prescribed style:
1. Clarify that avoiding stylistic changes concerns only "standalone"
ones.
2. Actually encourage changing the style, and extend the cases where it
is explicitly allowed to do so to any single logical unit as little
as a function, keeping the existing "about half" of modified code as
a rule of thumb.
When point 2 above applies, encourage to commit pure style changes
separately, and to add style-only commits to '.git-blame-ignore-revs'.
[17 lines not shown]
Bump __FreeBSD_version to 1600018 after linuxkpi changes for DRM 6.12.84
As of this commit, all changes to linuxkpi required by the DRM drivers
from Linux 6.12.84 were committed.
Sponsored by: The FreeBSD Foundation