hn: Handle unavailable VF RSS configuration
Treat unsupported RSS queries and RSS_FUNC_NONE as normal reasons to
suppress synthetic receive hash metadata. Keep diagnostics for other
errors and invalid configurations. Also suppress hash metadata when
reconfiguring synthetic RSS fails, since the VF and synthetic settings
cannot then be assumed to agree. Correct the hash-query diagnostic name.
MFC after: 2 weeks
Sponsored by: BBOX.io
Differential Revision: https://reviews.freebsd.org/D59691
iflib: Add optional RSS configuration queries
Dispatch SIOCGIFRSSKEY and SIOCGIFRSSHASH through typed get_rss_key and
get_rss_hash methods under the context lock. Drivers can report their
programmed key and hash selections. The default methods return EOPNOTSUPP.
The common RSS key does not describe which hash selections a particular
device actually programs. hn(4) needs the effective VF configuration when
synchronizing RSS between its synthetic and VF receive paths.
Reviewed by: iflib (gallatin)
MFC after: 2 weeks
Sponsored by: BBOX.io
Differential Revision: https://reviews.freebsd.org/D59691
[compiler-rt] Fix the use of COMPILER_RT_BUILTINS_LIBRARY (#224681)
When `COMPILER_RT_BUILTINS_LIBRARY` is set and a path to the builtins
library is being provided, it is still not being used, causing an
error in the COMPILER_RT_TARGET_HAS_ATOMICS test:
```
ld.lld: error: undefined symbol: __aarch64_cas8_acq_rel
>>> referenced by src.cxx
>>> CMakeFiles/cmTC_7f91d.dir/src.cxx.o:(main)
ld.lld: error: undefined symbol: __aarch64_ldadd8_acq_rel
>>> referenced by src.cxx
>>> CMakeFiles/cmTC_7f91d.dir/src.cxx.o:(main)
>>> referenced by src.cxx
>>> CMakeFiles/cmTC_7f91d.dir/src.cxx.o:(main)
clang++: error: linker command failed with exit code 1
```
Although it is visible in the
[5 lines not shown]
[NFC][LowerTypeTests] Update CFI jump table summary tests (#224761)
Update CHECK lines to match the new jump table layout in
* https://github.com/llvm/llvm-project/pull/221046
Implementation will not recognize `critical`.
Assisted-by: Gemini
[LLDB] Convert the remaining test launches to lldbutil (NFC) (#224416)
Replace the CreateTarget + breakpoint + LaunchSimple + stop-assert
boilerplate with the matching lldbutil.run_to_*_breakpoint helper.
Besides being shorter, the helpers check that the breakpoint resolved to
at least one location and that the process stopped at that specific
breakpoint, which most of the original code did not do.
It also improves and unifies the error reporting when the launch fails.
Note for reviewers: These did not follow the common pattern and had to
be converted by hand, so they are worth a closer look than the earlier
batches:
- Five of them called get_threads_stopped_at_breakpoint() and indexed
the resulting list. The helper already returns the single stopped
thread, so the list, its length assertions and the [0] subscript all
collapse into it.
[7 lines not shown]
[LLDB] Convert multi-threaded test launches to lldbutil (NFC) (#224415)
Replace the CreateTarget + breakpoint + LaunchSimple + stop-assert
boilerplate with the matching lldbutil.run_to_*_breakpoint helper at 7
call sites.
Besides being shorter, the helpers check that the breakpoint resolved to
at least one location and that the process stopped at that specific
breakpoint, which most of the original code did not do.
It also improves and unifies the error reporting when the launch fails.
Note for reviewers: These inferiors are multi-threaded and the original
code used get_stopped_thread(), which tolerates several threads stopping
at once. The helpers require exactly one by default, so every call here
passes only_one_thread=False to preserve the previous behavior. Without
it TestLLDBIterator fails with "Expected 1 thread to stop at breakpoint,
3 did" - but only under load, which makes this easy to miss when running
a single test.
Assisted-by: Claude
[LLDB] Convert test launches with extra arguments to lldbutil (NFC) (#224412)
Replace the CreateTarget + breakpoint + LaunchSimple + stop-assert
boilerplate with the matching lldbutil.run_to_*_breakpoint helper at 19
call sites.
Besides being shorter, the helpers check that the breakpoint resolved to
at least one location and that the process stopped at that specific
breakpoint, which most of the original code did not do.
It also improves and unifies the error reporting when the launch fails.
Note for reviewers: In this patch, all invocations passed additional
arguments that needed to be carried over to the lldbutil replacement.
Assisted-by: Claude
The MR_DCMD_LD_GET_LIST command doesn't return any data on SAS39xx
controllers. Luckily everything we need is also available through
MR_DCMD_CONF_GET, so we can just rework everything to use that instead.
To enable this, we need to retrieve the configuration during attach.
This gets bioctl, sensors and AEN processing working on SAS39xx.
tested on SAS3108 and SAS3508 by me, on SAS39xx by daharmasterkor at gmail
ok dlg@
[LLDB] Convert straightforward test launches to lldbutil (NFC) (#224404)
Replace the CreateTarget + breakpoint + LaunchSimple + stop-assert
boilerplate with the matching lldbutil.run_to_*_breakpoint helper at 35
call sites where the translation needs no extra arguments.
Besides being shorter, the helpers check that the breakpoint resolved to
at least one location and that the process stopped at that specific
breakpoint, which most of the original code did not do.
It also improves und unifies the error reporting when the launch fails.
Assisted-by: Claude
tcp: turn on TCP hostcache for socket buffer sizes
The code has been there since introduction of the TCP hostcache
in 97d8d152c28bb in 2003, but was turned off.
Reviewed by: tuexen, cc
Differential Revision: https://reviews.freebsd.org/D59452
[BOLT] Zero all stale bytes in reused file region (#222515)
`--use-old-text` reuses an input file region for new content. We have
only zeroed the padding that followed each newly written section in
#202375, which may leave stale bytes from input in front of the new
content. This could happen if the region is not on the new alignment
boundary, or when `--hot-functions-at-end` is used.
Replace the section name based forward scan with an interval coverage
over the region - collect the file extents of sections that contain
output bytes and then zero all the remaining holes.
Assisted-by: opus
[lldb] Skip TestFrameVarDILExprComparison with DWARF < 4 (#224755)
The test relies on scoped enum types, which need DW_AT_enum_class and
thus DWARF 4 or newer.
Keep our own copy of the certificates sent by the peer.
SSL_get_peer_cert_chain() includes the peer certificate for a client but
not for a server. Build a STACK_OF(X509) owned by libtls that always
starts with the peer certificate, and convert it to PEM with a helper
that takes any STACK_OF(X509).
ok jsing@ tb@
buf_ring: use counter(9) for drops
If a buffer ring experiences drops, then system is definitely starving in
CPU resources. Having an extra cache miss on a racy shared variable
increment doesn't help.
Reviewed by: gallatin
Differential Revision: https://reviews.freebsd.org/D59495
Redesign shutdown of vmd processes and use SIGTERM for hanging vm's.
In preparation for some bigger changes in vmm(4)/vmd(8), improve the
shutdown paths for vmd vm's. For vmd vm processes, the objective is to
make it through cleanup routines (such as sev_shutdown()) in any
conditions where it's safe to continue executing the program. From the
vmd "vmm" process, still use the current VMM_IOC_TERM to signal that
the vcpu's should be terminating, but also fall back to SIGTERM to the
vm process if it doesn't get the hint.
The timeouts may need to be adjusted in the future, but those can be
optimized after the bigger changes land.
Go for it, mlarkin@.