lib/msun amd64: use AVX FMA instructions for fma(3) and fmaf(3) when available
Utilize the ARCHLEVEL framework from libc/amd64/string to provide the
way for runtime selection of the implementation, if wanted.
Reviewed by: fuz, kfv
Discussed with: kargl
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D59462
lib/msun: move the calculation of LIBC_SRCTOP earlier
which makes the variable available for machine/Makefile.inc usage.
Reviewed by: fuz, kfv
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D59462
nvme: limit I/O queue trackers to Identify MAXCMD
MAXCMD is the maximum number of commands the controller processes at
one time for a particular I/O queue. Allocating more trackers than
that only queues commands inside the controller. Controllers
reporting 0 are unaffected.
Approved by: ngie (co-mentor)
Reviewed by: ngie, imp
Differential Revision: https://reviews.freebsd.org/D59154
nvme: name the Create I/O queue cdw11 fields, use Medium QPRIO
The Create I/O queue commands carried magic 0x1/0x3 cdw11 values, and
the implicit QPRIO of zero classifies every I/O queue Urgent the
moment weighted round robin arbitration is enabled. No functional
change with the round robin default.
Approved by: ngie (co-mentor)
Reviewed by: ngie, imp, adrian
Differential Revision: https://reviews.freebsd.org/D59153
bce_vhci: fix duplicate endpoint queue registration, ratelimit failure logging
bce_vhci_endpoint_create() was registering both the IN and OUT
submission queues on every call, regardless of which direction
the endpoint actually needed.
The per-stage firmware registration failures weren't rate-limited,
so a stuck registration will spam the console.
Tested on:
MacBookPro15,2
Macmini8,1
MacBookPro15,3
MacBookPro16,2
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D58831
manpages: Fix author e-mail address formatting
- consistently use Mt request within Aq. This makes author
e-mail addresses clickable in many frontends.
- @freebsd.org -> @FreeBSD.org
- (user at host.tld) -> Aq Mt user at host.tld
Event: Berlin Hackathon 202609
MFC after: 3 days
Reviewed by: ziaee
Differential Revision: https://reviews.freebsd.org/D59410
(cherry picked from commit d1c07141dccf8c719067bd3c30c402e4db9a77b3)
usbdevs: add TP-Link Archer T4U ver 3
USB Vendor:Product 0x2357:0x0115
The data was provided by Pavel Timofeev (timp87 gmail com)
and the device will be supported by rtw88 USB (rtw8822bu.c)
in the future.
MFC after: 3 days
mlx5ib: use the hardware Toeplitz id when creating an RSS TIR
create_rss_raw_qp_tir() wrote MLX5_RX_HASH_FUNC_TOEPLITZ (the
userspace ABI flag, value 1) into tirc.rx_hash_fn. That field takes
the hardware encoding from mlx5_ifc.h, where 1 is INVERTED_XOR8 and
Toeplitz is MLX5_TIRC_RX_HASH_FN_HASH_TOEPLITZ (2).
Reviewed by: kib, slavash
Sponsored by: Nvidia Networking
MFC after: 1 week
linuxkpi: Add `hrtimer_setup()`
`hrtimer_setup()` replaces `hrtimer_init()` in Linux 6.15. The API and
the role are the same, except:
* it takes the `function` callback as argument
* if `function` is NULL, it assigns a default callback
At the same time, we hide `hrtimer_init()` if LINUXKPI_VERSION is
greater than or equal to 61500 because it was dropped in Linux 6.15.
Reviewed by: bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58757
linuxkpi: Add `timer64_to_tm()`
The function converts a number of seconds since Epoch to a `struct tm`.
The implementation was copied from `contrib/tzcode/localtime.c`.
The amdgpu DRM driver started to use it in Linux 6.15.
Reviewed by: bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58758
nfsuserd.c: Fix handling where pw_name/gr_name differ from lookup name
When an NSS backend returns a canonical pw_name or gr_name that differs from
the lookup name supplied by the NFSv4 upcall, nfsuserd stores the successful
mapping in the kernel cache under the canonical name instead of the requested
name.
This causes the retry lookup performed by nfsv4_strtouid() or
nfsv4_strtogid() to miss the newly inserted cache entry, resulting in the
default UID/GID being returned although the NSS lookup itself succeeded.
PR: 296753
Reviewed by: rmacklem
Tested by: Emanuel Helms <emanuel at nfv.cc>
MFC after: 2 weeks
linuxkpi: Fix assertion in `lkpi_vmf_insert_pfn_prot_locked()`
Before this change, the assertion would not catch a page index matching
the end address, even though the end address of a mapping is outside of
that mapping.
While here, add another assertion to catch page indexes outside of the
expected range earlier.
Also, pagefaulting an address outside of the mapping range should return
`VM_FAULT_SIGBUS` instead of panicing.
Reviewed by: bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58194