aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* genassym: Remove stale *if.h dependsWarner Losh4 days2-6/+0
| | | | | | | | | | Since we no longer need to include intr.h, which depends on sys/bus.h, in genassym, we no longer need to include it in the Makefile depends. PR: 283041 Sponsored by: Netflix Reviewed by: ehem_freebsd_m5p.com, mmel, andrew Differential Revision: https://reviews.freebsd.org/D47848
* arm: Use constants from sys/intr.h, not genassymWarner Losh4 days5-11/+2
| | | | | | | | | | We can now include sys/intr.h to get these constants rather than using genassym. Opt for this simpler method. PR: 283041 Sponsored by: Netflix Reviewed by: mmel, andrew Differential Revision: https://reviews.freebsd.org/D47847
* sys/intr.h: Make it safe to include from assemblerWarner Losh4 days4-8/+16
Sometimes we need defines from this file in assembler code. Today we do the heavyweight approach of using genassym for that. However, they are just #defines, so in the future we want to include sys/intr.h to pick up the needed constants in exception.S. PR: 283041 Sponsored by: Netflix Reviewed by: mmel, andrew Differential Revision: https://reviews.freebsd.org/D47846
* checkstyle9.pl: Better C++ filename matchingWarner Losh5 days1-7/+7
We have .cc, .hh, .cpp, and .hpp files in the tree. Update the regexp to match. Remove matching perl, python and non-preprocessed .s files from checking. Sponsored by: Netflix
* jemalloc: bootstramp vendor/jemalloc branchWarner Losh10 days0-0/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using the just created vendor/jemalloc (details on its creation there), create a subtree merge commit to boostrap (thanks emaste for the recipe for another bootstrap): % git merge -s subtree -Xsubtree=contrib/jemalloc -Xours vendor/jemalloc --allow-unrelated-histories Now, cleanup the imported sources: % cd contrib/jemalloc % cat FREEBSD-Xlist | xargs git rm -rf % git commit --amend % git diff freebsd/main main # shows only FREEBSD-Xlist cleanups as diffs No changes intended. Sponsored by: Netflix
| * jemalloc: Import version 5.2.1vendor/jemallocWarner Losh10 days351-0/+127309
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a new vendor branch for jemalloc, using the following for future reference: % git worktree add --orphan -b vendor/jemalloc ../vendors/jemalloc % cd ../vendors/jemalloc % git checkout -b vendor/jemalloc % cd ../../upstreams % git clone git@github.com:jemalloc/jemalloc.git % cd jemalloc % git checkout 5.2.1 # hash ea6b3e973b477b8061e0076bb257dbd7f3faa756 % cp -r * ../../vendors/jemalloc % cd ../../vendors/jemalloc % autoconf % ./configure --enable-autoconf --with-version=5.2.1-0-gea6b3e973b477b8061e0076bb257dbd7f3faa756 % git add * % git commit -m<this message> % git tag -a vendor/jemalloc/5.2.1 % git push --follow --set-upstream freebsd vendor/jemalloc Note: This purposely doesn't thin the vendor branch. That will be done in the next step to create the merge commit that boostraps future imports. Sponsored by: Netflix
* jemalloc: Remove obsolete files from the exclusion listWarner Losh10 days1-10/+0
These files are not present upstream, nor in the tree after autoconf/configure. Remove the FREEBSD-* from the exclusion list. This likely breaks FREEBSD-upgrade, but that needs to be rewritten for being used with a vendor branch (or just scaled back to be just a how-to, no the full script). Remove the dot files, since the upgrade process doesn't create them. Sponsored by: Netflix
* setsockopt.2: Clarify SO_SPLICE actionKevin Bowling2024-11-251-2/+7
Reviewed by: gallatin, markj MFC after: 3 days Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D47720 Co-authored-by: Mark Johnston <markj@FreeBSD.org>
* gicv3: Use the correct maskWarner Losh2024-11-221-1/+1
Mask off the bits we'll be setting, rather than retaining only those bits. Sponsored by: Netflix
* igc: sysctl for TCP flag handling during TSOKevin Bowling2024-11-212-0/+61
| | | | | | | | | | | | Add tso_tcp_flags_mask_first_segment, tso_tcp_flags_mask_middle_segment, and tso_tcp_flags_mask_last_segment sysctl-variables to control the handling of TCP flags during TSO. This allows to change the masks appropriate for classical ECN and to configure appropriate masks for accurate ECN. MFC after: 3 days Sponsored by: Netflix
* e1000: sysctl for TCP flag handling during TSOMichael Tuexen2024-11-211-0/+56
Add tso_tcp_flags_mask_first_segment, tso_tcp_flags_mask_middle_segment, and tso_tcp_flags_mask_last_segment sysctl-variables to control the handling of TCP flags during TSO. This allows to change the masks appropriate for classical ECN and to configure appropriate masks for accurate ECN. Reviewed by: rrs MFC after: 3 days Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44259
* ixgbe: sysctl for TCP flag handling during TSOMichael Tuexen2024-11-211-0/+56
Add tso_tcp_flags_mask_first_segment, tso_tcp_flags_mask_middle_segment, and tso_tcp_flags_mask_last_segment sysctl-variables to control the handling of TCP flags during TSO. This allows to fix the masks appropriate for classical ECN and to configure appropriate masks for accurate ECN. Michael notes emperically 82599 has an unexpected middle mask: Chip First Middle Last 82599 0xFF6 0xFF6 0xF7F which should be fixed up to 0xF76 (RFC 3168) in a future commit. Reviewed by: rrs, rscheff MFC after: 3 days Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44258
* rtsw: Break out as soon as we find we're doing the inversion workaroundWarner Losh2024-11-201-0/+1
| | | | | | | | | Once we set that we're doing the inversion workaround, there's no sense continuing to search for the inversion workaround. Sponsored by: Netflix Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D47686
* cdefs: Document what we do when _XOPEN_SOURCE is an empty stringWarner Losh2024-11-201-1/+5
X/Open originally had _XOPEN_SOURCE defined to signify conformance with the Single Unix Specification, starting with its third iteration. There it defined _XOPEN_SOURCE being defined as the same thing as _POSIC_C_SOURCE=2, though the different versions of the spec had slight variances as to what's defined and wheter or not _XOPEN_SOURCE_EXTENSION needed to be defined. Document that we don't do anything in this case. It turns out that enabling the proper strict environment breaks at least some old software, so for the moment it's a nop until that can be sorted out (though that is a very low proprity task). Sponsored by: Netflix
* stand: drop inttypes.h from safe listWarner Losh2024-11-202-2/+2
Nothing uses it anymore, so drop it from the 'safe' list. Also, move stand/efi/loader/main.c to using machine/_inttypes.h which is all it really needs. Sponsored by: Netflix
* stand: unistd.h is no longer safeWarner Losh2024-11-201-2/+2
| | | | | | | | unistd.h includes too much extra stuff for the boot loader. This creates a fair amount of namespace pollution and it's best to just make it an alias for stand.h like the other include files already are. Sponsored by: Netflix
* stand: Don't need sys/select.hWarner Losh2024-11-202-0/+4
| | | | | | | The boot loader doesn't need the types and prototypes defined in sys/select.h, so don't indirectly include it. Sponsored by: Netflix
* stand: Narrow the 'signal emulation' we provideWarner Losh2024-11-201-2/+7
| | | | | | | | | | We only need to provide sig_atomic_t in emulation. However, including machine/signal.h brings in too much namespace pollution related to signals. Instead, define sig_atomic_t as long. Setting long is async atomic on all platforms (though powerpc64 defines it to an int), though that doesn't matter since the boot loader doesn't use signals. Sponsored by: Netflix
* stand: We don't want signal definitions in the boot loaderWarner Losh2024-11-201-3/+1
| | | | | | | We don't support signals in the boot loader, so we don't need to include sys/signal.h there. It pollutes the namespace. Sponsored by: Netflix
* sys/conf.h: Make more self-containedWarner Losh2024-11-201-0/+1
struct cdev has members of type struct timespec. Include sys/_timespec.h to so we don't need to rely on namespace pollution to define it. Sponsored by: Netflix
* cdefs.h: Fix bad versionWarner Losh2024-11-171-1/+1
| | | | | | | It's -isoC-2024 not -isoC2023. Fix it Noticed by: gperciva@tarsnap.com Sponsored by: Netflix
* tcp: define tcp_lro_log() only when TCP_BLACKBOX is definedMichael Tuexen2024-11-171-0/+16
Reviewed by: rrs, Peter Lei MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D47401
* aio: remove write-only jobid & kernelinfoAndrew Gallatin2024-11-152-42/+2
The jobid (which was stored in kernelinfo) was used to look up jobs until 1ce9182407f6, where it became essentially write only. Remove it to simplify the code and pave the way for future work to make aio scale better. Note this has been slated for removal "soon" for 18 years. Suggested by: jhb Reviewed by: kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D47583
* cdefs.h: Document the _XOPEN_SOURCE - 0 constructWarner Losh2024-11-151-1/+12
| | | | | | | | | | | | | | | | | | | | | Various System V Interface Definition editions, as well as the X/Open group portability guide issue 4, recommend defining _XOPEN_SOURCE and broadly intimating it means the same thing as _POSIX_SOURCE == 2. Starting in X/Open issue 5 (1995), _XOPEN_SOURCE needs to be defined to be 500 to bring in the newer interfaces. However, it is still common hat sources define _XOPEN_SOURCE to be blank. To deal with that, we subtract 0 from _XOPEN_SOURCE to make the other expressions well formed. While here, document that we should define _POSIX_C_SOURCE to be 199209 based on the SVID, the first version of the Single Unix Specification, and X/Open CAE issue 4, version 2. Also document that historically this has been a NOP. Any value of _XOPEN_SOURCE < 500 (including it being blank) was not viewed as a request for a restricted namespace. Reviewed by: brooks (earlier version) Differential Revision: https://reviews.freebsd.org/D47584 Sponsored by: Netflix
* cdefs: update for C23 and POSIX24Warner Losh2024-11-151-12/+24
| | | | | | | Also tweak a few placs where we can now use macros for C23 and POSIX24. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D47580
* cdefs: Bump the defaults for 'all'Warner Losh2024-11-151-3/+3
| | | | | | | | Bump default to POSIX at 202405, C at 2023 and xopen at 800... Sponsored by: Netflix Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D47578
* cdefs: Add FreeBSD _C23_SOURCE extensionWarner Losh2024-11-151-0/+6
| | | | | | | | | Add _C23_SOURCE extension to mirror the _C11_SOURCE define. Unsure how useful this is. Sponsored by: Netflix Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D47577
* cdefs: Support _ISOC23_SOURCE and --std=c23Warner Losh2024-11-151-6/+13
| | | | | | | | | | | | | | | If either _ISOC23_SOURCE is defined or --std=c23 (or higher) is specified, then default to the making the ISO C visibility to 2023. This mirrors what glibc does, so update the comment for this change to _ISOCxx_SOURCE values. We currently implement xx = 11 or 23. C17 added no new defines or symbols, so we follow glibc's lead and ommit it. However, we don't implement the C95, C99 or C2y versions. These are non-standard and the first two don't seem to be relevant, and the latter is also experimental. Sponsored by: Netflix Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D47576
* cdesf: Support _POSIX_C_SOURCE 202405 for POSIX 2024Warner Losh2024-11-151-1/+4
| | | | | | | | | | Allow applications to request a strict POSIX 2024 by setting _POSIX_C_SOURCE to 202405 or higher. The rest of the system needs tweaks to be compliant, so this is a work in progress. Sponsored by: Netflix Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D47575
* cdefs: Allow _XOPEN_SOURCE >= 800Warner Losh2024-11-151-1/+5
When the user asks for XOPEN_SOURCE >= 800, set __XSI_VISIBLE to 800 for POSIX 2024. Sponsored by: Netflix Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D47574
* loader: Don't need the arch listWarner Losh2024-11-131-2/+0
MK_LOADER_KBOOT is already marked broken for these architectures, so I don't need an if too. Sponsored by: Netflix
* Use the correct idle routine on recent AMD EPYC serversAndrew Gallatin2024-11-083-2/+10
We have been incorrectly choosing the "hlt" idle method on modern AMD EPYC servers for C1 idle. This is because AMD also uses the Functional Fixed Hardware interface. Due to not parsing the table properly for AMD, and due to a weird quirk where the mwait latency for C1 is mis-interpreted as the latency for hlt, we wind up choosing hlt for c1, which has a far higher wake up latency (similar to IO) of roughly 400us on my test system (AMD 7502P). This patch fixes this by: - Looking for AMD in addition to Intel in the FFH (Note the vendor id of "2" for AMD is not publically documented, but AMD has confirmed they are using "2" and has promised to document it.) - Using mwait on AMD when specified in the table, and when CPUid says its supported - Fixing a weird issue where we copy the contents of cx_ptr for C1 and when moving to C2, we do not reinitialize cx_ptr. This leads to mwait being selected, and ignoring the specified i/o halt method unless we clear mwait before looking at the table for C2. Differential Revision: https://reviews.freebsd.org/D47444 Reviewed by: dab, kib, vangyzen Sponsored by: Netflix
* da: Add quirk for ADATA USB DriveWarner Losh2024-11-081-0/+5
| | | | | | | | ADATA USB Drive lies about the RC16, so add a quirk to ignore it. MFC After: 3 days PR: 188999 Sponsored by: Netflix
* loader.kboot: Build on amd64Warner Losh2024-11-073-3/+9
But comment out FDT stuff for amd64 built inside kboot. This also restricts a bit the powerpc platforms we build on to powerpc64. Sponsored by: Netflix
* tcp: fix the initial CWND when a SYN retransmission happenedMichael Tuexen2024-11-051-1/+3
According to RFC 3390 the CWND should be set to one MSS if the SYN or SYN-ACK has been retransmitted. This is handled in the code by setting CWND to 1 and cc_conn_init() translates this to MSS. Unfortunately, cc_cong_signal() was overwriting the special value of 1 in case of a lost SYN, and therefore the initial CWND was not as it was supposed to be. Fix this by not overwriting the special value of 1. Reviewed by: cc, rscheff MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D47439
* loader: Fix boot menu on BIOSWarner Losh2024-11-022-5/+36
Only the gfx-enabled boot loader supports unicode. Otherwise, we have to use the old cons25 / ibmpc upper code page drawing characters. Check to see if we have the gfx.term_drawbox function. If we do, we support the unicode drawing characters. If we don't, then we have an older loader that doesn't support it *OR* we have the reduced function, text-only boot loader. In either of those cases, we need to use the old graphics characters. Abstract all those details into core.hasUnicode function. PR: 282465 MFC After: 2 day Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D47403
* cam: report sct/sc in that orderWarner Losh2024-11-021-3/+3
This should have no effect on scripting, but when reading it, sct/sc is the natural order of things (and the order we print them in elsewhere). Report them in that order. Sponsored by: Netflix
* nvme: Clarify a commentWarner Losh2024-11-021-1/+2
Expand the comment a little to make it clearer: Once we've restarted, we're out of the resetting phase in our state machine. The controller has actually been out of reset since we started issuing commands to it earlier in the resetting phase. Sponsored by: Netflix
* newbus: Limit units to [0, INT_MAX)Warner Losh2024-11-011-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Limit the number of units a newbus device can have to be a positive number. Reserve and reject the unit INT_MAX so that we can set maxunit to INT_MAX without ill effect and so the normal signed int math works. Add sanity checks to make sure we don't get negative unit numbers from bus routines that can set the unit. Remove now-redundant check for unit >=0 since it must be after an earlier check. This should be largely a nop, since we'll likely run out of memory before we have 2^31 devices. Also, finding unit number is O(n^2) since we do linear searches for the next unit number, which even on very fast machines will grind to a halt well before we reach this limit... Add note to device_find_free_unit that says it can return INT_MAX when all the unit numbers are in use. The one user in the tree (ata_pci_attach) will then add a child with this unit and it will fail and that failure will be handled properly. Hardware limitations, though mean there will never be more than tens of units, let alone billions. Update docs to document that EINVAL can be returned for bogus unit numbers, or when we run out. Sponsored-by: Netflix Reviewed-by: jhb Differential-Revision: https://reviews.freebsd.org/D47359 Co-Authored-by: Elliott Mitchell <ehem+freebsd@m5p.com>
* newbus: Simplify reallocation of devices arrayWarner Losh2024-11-011-16/+6
Simplify the complex expression down to what it is on 64-bit systems. 32-bit kernels would allocate 2 at a time. Replace all that with reallocf which will eliminate a bunch of copies. This should be faster and simpler on both types of kernels. In addition, transition to M_WAITOK since this is a sleepable context. Suggested by: jhb Sponsored by: Netflix Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D47362
* vt: Fix frequency calcuation for bellWarner Losh2024-11-011-1/+1
386BSD provided a MD function sysbeep. This took two arguments (pitch and period). Pitch was jammed into the PIT's divisor directly (which means the argument was expected to sound a tone at '1193182 / pitch' Hz). FreeBSD inherited this interface. In commit e46598588587 (svn 177642, Mar 26 2008), phk changed this function to take a tone to sound in hz. He converted all in-tree instances of 1193182 / hz to just hz (and kept the few misguided folks that passed hz directly unchanged -- this was part of what motivated the change). He converted the places where we pre-computed the 8254 divisor from being pitch to 1193182 / pitch (since that converts the divisor to the frequency and the interfaces that were exposed to userland exposed it in these units in places, continuing the tradition inherited from SCO System V/386 Unix in spots). In 2009, Ed Shouten was contracted by the FreeBSD Foundation to write / finish newcons. This work was done in perforce and was imported into subversion in user/ed/newcons in revision 199072 (https://svnweb.freebsd.org/base?view=revision&revision=199072) which was later imported into FreeBSD by ray@ (Aleksandr Rybalko). From that earliest import into svn import to this date, we ring the bell with: sysbeep(1193182 / VT_BELLPITCH, VT_BELLDURATION); where VT_BELLPITCH was defined to be 800. This results in a bell frequency of 1491Hz, more or less today. This is similar to the frequency that syscons and pcvt used (1493Hz and 1500Hz respectively). This in turn was inherited from 386BSD, it seems, which used the hard coded value 0x31b which is 795 -> 1500Hz. This '800' was intended to be the bell tone (eg 800Hz) and this interface was one that wasn't converted. The most common terminal prior to the rise of PCs was the VT100, which had an approximately 800Hz bell. Ed Shouten has confirmed that the original intent was 800Hz and changing this was overlooked after the change to -current was made. This restors that original intent and makes the bell less obnoxious in the process. Reviewed by: des, adrian Differential Revision: https://reviews.freebsd.org/D32594 Sponsored by: Netflix (cherry picked from commit ba48d52ca6c867559156dd916631f9ac47abe80f) This change was accidentally reverted in 80f21bb039ce.
* camcontrol: Bump timeout to get size of driveWarner Losh2024-10-281-1/+1
When the system is very busy, and the ATA hard disk drives are overloaded due to reading dodgy sectors, it can take several seconds to drain the NCQ set of commands to send this command to the drive. Up the timeout from 5s to 10s out of an abundance of caution, but also to allow monitioring software that uses camcontrol identify to not fail needlessly. Sponsored by: Netflix
* stand: Ugly hack due to default changeWarner Losh2024-10-282-2/+2
So this is a gross hack to fix the 'noclean' build since we changed to text-only loader. We have to fix it in a better way, but for the moment, this will fix non-meta no-clean builds. A better hack is to fix this so we build either vidconsole.c or textvidc.c, but some minor refactoring and variable renaming is needed. Fixes: 23dee252daf2 Sponsored by: Netflix
* loader/loader.mk: add docs for LOADER_*_SUPPORT variablesWarner Losh2024-10-251-1/+27
| | | | | | | | | These are internal to the loader and generally can only be set in a makefile that's compiling some variation of loader. Add caveats since these aren't really user-serviceable parts, though some downstreams will tweak individual makefiles for their own purposes. Sponsored by: Netflix
* loader: Change this BIOS tradeoff: Add back zip and use text onlyWarner Losh2024-10-252-3/+3
After talking with a number of people about the removal of some things to make the loader fit, readjust things a little. Add back GZIP and BZIP2 compression support. Many of the downstream MFC packaging systems depend on this. This adds back 20k to the size of the loader. Make the boot loader text-only by default. This saves 40k in size. Net, we're 20k smaller. The graphics loader for BIOS is less useful than the zip functionality: You can still boot w/a text only one it and you can build a custom one if you really want it. It's also the default we use for dual console. This should be merged back into stable/14 and stable/13 so it's in the next release for each of these. That way we have only one release (13.4) with the other defaults. MFC After: 3 days Sponsored by: Netflix Reviewed by: olce, rgrimes, emaste Differential Revision: https://reviews.freebsd.org/D47203
* mlx5e: Use M_WAITOK when allocating TLS tagsAndrew Gallatin2024-10-231-3/+1
| | | | | | | | Now that it is clear we're in a sleepable context, use M_WAITOK when allocating TLS tags. Suggested by: kib Sponsored by: Netflix
* mlx5e: Immediately initialize TLS send tagsAndrew Gallatin2024-10-231-34/+52
Under massive connection thrashing (web server restarting), we see long periods where the web server blocks when enabling ktls offload when NIC ktls offload is enabled. It turns out the driver uses a single-threaded linux work queue to serialize the commands that must be sent to the nic to allocate and free tls resources. When freeing sessions, this work is handled asynchronously. However, when allocating sessions, the work is handled synchronously and the driver waits for the work to complete before returning. When under massive connection thrashing, the work queue is first filled by TLS sessions closing. Then when new sessions arrive, the web server enables kTLS and blocks while the tens or hundreds of thousands of sessions closes queued up are processed by the NIC. Rather than using the work queue to open a TLS session on the NIC, switch to doing the open directly. This allows use to cut in front of all those sessions that are waiting to close, and minimize the amount of time the web server blocks. The risk is that the NIC may be out of resources because it has not processed all of those session frees. So if we fail to open a session directly, we fall back to using the work queue. Differential Revision: https://reviews.freebsd.org/D47260 Sponsored by: Netflix Reviewed by: kib
* scsi: Make asc/ascq 44/0 fatal with ENXIOWarner Losh2024-10-221-1/+1
| | | | | | | | | | | | | | | | 44/0: INTERNAL TARGET FAILURE Several different HGST/WD hard disks report this during geom tasting. Several vendor manuals indicate this is not recoverable as well, though are a bit coy as to whether it's permanant for all I/O or just for this particular one. An internet search resolves the ambiguity in favor of permanant error more generally, rather than for a specific LBA or LBA range. This has the side effect of speeding up boot for systems that have drives that have failed with this symptom. Sponsored by: Netflix
* da: Add comments about asc/ascq valuesWarner Losh2024-10-221-8/+22
Having had to look some of these up several times, add comments from the latest standard for all the asc/ascq values we test against. In a couple of cases, this is a little redundant with the printf on the following line(s), but makes it clear what the ASC/ASCQ codes are. Sponsored by: Netflix
* freebsd: Use compiler.h from FreeBSD's base's linuxkpiWarner Losh2024-10-163-88/+8
The FreeBSD linux/compiler.h in OpenZFS was copied from a very old version of FreeBSD's linuxkpi's linux/compiler.h. There's no need for this duplication. Use FreeBSD's linuxkpi version instead, and provide zfs_fallthrough to augment it (it's all that's needed). Use #pragma once to avoid naming issues for guard variables. Since this is a complete rewrite, use my copyright here (the original code in FreeBSD still credits everybody). This works back at least to FreeBSD 12.4, which is not out of support, and all newer releases. Remove extra copies of macros that were defined elsewhere, but are now properly defined in LinuxKPI so are redundant. Sponsored-by: Netflix Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Warner Losh <imp@bsdimp.com> Closes #16650