freebsd-dev/sys/sys
Hans Petter Selasky 9ca874cf74 Add TCP LRO support for VLAN and VxLAN.
This change makes the TCP LRO code more generic and flexible with regards
to supporting multiple different TCP encapsulation protocols and in general
lays the ground for broader TCP LRO support. The main job of the TCP LRO code is
to merge TCP packets for the same flow, to reduce the number of calls to upper
layers. This reduces CPU and increases performance, due to being able to send
larger TSO offloaded data chunks at a time. Basically the TCP LRO makes it
possible to avoid per-packet interaction by the host CPU.

Because the current TCP LRO code was tightly bound and optimized for TCP/IP
over ethernet only, several larger changes were needed. Also a minor bug was
fixed in the flushing mechanism for inactive entries, where the expire time,
"le->mtime" was not always properly set.

To avoid having to re-run time consuming regression tests for every change,
it was chosen to squash the following list of changes into a single commit:
- Refactor parsing of all address information into the "lro_parser" structure.
  This easily allows to reuse parsing code for inner headers.
- Speedup header data comparison. Don't compare field by field, but
  instead use an unsigned long array, where the fields get packed.
- Refactor the IPv4/TCP/UDP checksum computations, so that they may be computed
  recursivly, only applying deltas as the result of updating payload data.
- Make smaller inline functions doing one operation at a time instead of
  big functions having repeated code.
- Refactor the TCP ACK compression code to only execute once
  per TCP LRO flush. This gives a minor performance improvement and
  keeps the code simple.
- Use sbintime() for all time-keeping. This change also fixes flushing
  of inactive entries.
- Try to shrink the size of the LRO entry, because it is frequently zeroed.
- Removed unused TCP LRO macros.
- Cleanup unused TCP LRO statistics counters while at it.
- Try to use __predict_true() and predict_false() to optimise CPU branch
  predictions.

Bump the __FreeBSD_version due to changing the "lro_ctrl" structure.

Tested by:	Netflix
Reviewed by:	rrs (transport)
Differential Revision:	https://reviews.freebsd.org/D29564
MFC after:	2 week
Sponsored by:	Mellanox Technologies // NVIDIA Networking
2021-04-20 13:36:22 +02:00
..
disk gpart(8): Recognize apple-zfs and solaris-reserved partition ids 2020-08-17 17:07:05 +00:00
_atomic64e.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
_atomic_subword.h Expand generic subword atomic primitives 2020-03-25 23:12:43 +00:00
_bitset.h Implement several enhancements to NUMA policies. 2018-03-29 02:54:50 +00:00
_blockcount.h Add a blocking counter KPI. 2020-02-28 16:05:18 +00:00
_bus_dma.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_callout.h Add a callout_func_t typedef for functions used with callout_*(). 2019-12-10 21:58:30 +00:00
_cpuset.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_domainset.h Refactor domainset iterators for use by malloc(9) and UMA. 2018-10-23 16:35:58 +00:00
_endian.h Consolidate machine/endian.h definitions 2021-03-26 19:00:22 -03:00
_eventhandler.h Remove duplicated content from _eventhandler.h 2020-07-25 07:48:20 +00:00
_ffcounter.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_iovec.h
_lock.h Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
_lockmgr.h lockmgr: shrink struct lock by 8 bytes on LP64 2021-02-15 13:57:25 +00:00
_mutex.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_null.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_pctrie.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_pthreadtypes.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_rangeset.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
_rmlock.h rms: several cleanups + debug read lockers handling 2020-11-07 16:57:53 +00:00
_rwlock.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
_semaphore.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_seqc.h seqc: add a sleepable variant and convert some routines to macros 2020-07-25 10:29:48 +00:00
_sigset.h Fix undefined behavior: left-shifting into the sign bit. 2019-12-23 20:18:05 +00:00
_smr.h Move SMR pointer type definition and access macros to smr_types.h. 2020-03-07 00:55:46 +00:00
_sockaddr_storage.h
_stack.h stack(9): Drop unused API mode and comment that referenced it 2019-03-15 22:39:55 +00:00
_stdarg.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
_stdint.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_sx.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_task.h Add flag to struct task to mark the task as requiring network epoch. 2020-02-11 18:48:07 +00:00
_termios.h termios: add more speeds 2021-03-18 10:44:01 +00:00
_timespec.h
_timeval.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_types.h Reduce namespace pollution from r349233 2019-06-21 21:50:14 +00:00
_ucontext.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
_uio.h Move uio enums to sys/_uio.h. 2018-03-27 15:20:03 +00:00
_umtx.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_unrhdr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_winsize.h Add tcgetwinsize(3) and tcsetwinsize(3) to termios 2020-12-25 20:43:09 +02:00
aac_ioctl.h Fix FSACTL_GET_NEXT_ADAPTER_FIB under 32-bit compat. 2018-03-14 21:11:41 +00:00
abi_compat.h Centralize compatability translation macros. 2020-04-14 20:30:48 +00:00
acct.h
acl.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
agpio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
aio.h aio: micro-optimize the lio_opcode assignments 2021-01-20 09:02:25 -07:00
alq.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
apm.h
arb.h Add copyrights that I forgot to add when splitting arb.h off from tree.h. 2019-10-15 19:44:43 +00:00
asan.h execve: Mark exec argument buffers 2021-04-13 17:42:21 -04:00
assym.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
ata.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
atomic_common.h atomic: add atomic_interrupt_fence() 2021-02-24 22:45:24 +02:00
atomic_san.h Generalize bus_space(9) and atomic(9) sanitizer interceptors 2021-03-22 22:21:53 -04:00
auxv.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
backlight.h Add backlight subsystem 2020-10-02 18:18:01 +00:00
bio.h Remove GEOM_SCHED class and gsched tool. 2019-12-29 21:16:03 +00:00
bitset.h bitset: implement BIT_TEST_CLR_ATOMIC & BIT_TEST_SET_ATOMIC 2020-12-31 13:02:45 -08:00
bitstring.h bistring: avoid gcc -Wsign-compare 2019-12-04 20:15:17 +00:00
blist.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
blockcount.h Handle PCATCH in blockcount_sleep() so it can be interrupted. 2020-04-21 17:13:06 +00:00
boot.h Move to using a common kernel path between the boot / laoder bits and 2019-06-24 20:34:53 +00:00
buf_ring.h Minor style tidy: if( -> if ( 2021-04-18 11:19:15 -06:00
buf.h vnode: move write cluster support data to inodes. 2021-02-21 11:38:21 +02:00
bufobj.h bufcache: convert bo_numoutput from long to int 2020-11-09 00:04:58 +00:00
bus_dma_internal.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
bus_dma.h Refine the busdma template interface. Provide tools for filling in fields 2020-09-14 05:58:12 +00:00
bus_san.h Generalize bus_space(9) and atomic(9) sanitizer interceptors 2021-03-22 22:21:53 -04:00
bus.h newbus: Minor update fix. 2021-04-17 13:56:28 -06:00
busdma_bufalloc.h Fix compile error from r327900 2018-01-12 23:41:12 +00:00
callout.h Remove struct callout_handle. Should have gone with r355732. 2020-01-22 05:47:59 +00:00
caprights.h capsicum: move global caps to caprights.h 2020-08-01 06:31:58 +00:00
capsicum.h capsicum: move global caps to caprights.h 2020-08-01 06:31:58 +00:00
cdefs.h linker_set: fix globl/weak symbol redefinitions to work on clang 12 2021-04-20 02:56:24 +01:00
cdio.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
cdrio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
cfictl.h
chio.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
ck.h sys/ck.h: Add an include guard 2021-03-21 11:55:52 -07:00
clock.h Kill tz_minuteswest and tz_dsttime. 2019-03-12 04:49:47 +00:00
cnv.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
compressor.h Add support for zstd-compressed user and kernel core dumps. 2018-02-13 19:28:02 +00:00
condvar.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
conf.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
cons.h sys/kern: quiet -Wwrite-strings 2020-02-23 03:32:16 +00:00
consio.h Move font related data structured to sys/font.c and update vtfontcvt 2020-06-14 06:58:58 +00:00
copyright.h copyrights: Happy New Year 2021 2020-12-31 10:29:44 -05:00
counter.h Add COUNTER_U64_SYSINIT() and COUNTER_U64_DEFINE_EARLY(). 2020-03-06 19:09:01 +00:00
coverage.h Extract the coverage sanitizer KPI to a new file. 2019-01-29 11:04:17 +00:00
cpu.h cpufreq(4): Add support for Intel Speed Shift 2020-01-22 23:28:42 +00:00
cpuctl.h Make it possible to re-evaluate cpu_features. 2018-01-05 21:06:19 +00:00
cpuset.h cpuset: reorder so that cs_mask does not share cacheline with cs_ref 2020-11-17 00:04:30 +00:00
csan.h Port the NetBSD KCSAN runtime to FreeBSD. 2019-11-21 11:22:08 +00:00
ctype.h Change all kernel C-type macros into static inline functions. 2019-03-25 13:50:38 +00:00
devctl.h Use standard bool type, instead of non-standard boolean_t 2020-09-16 06:02:30 +00:00
devicestat.h Fix asymmetry in devstat(9) calls by GEOM. 2020-10-24 21:07:10 +00:00
devmap.h Generalize ARM specific comments in devmap 2019-10-15 23:21:52 +00:00
dirent.h Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
disk_zone.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
disk.h Remove frontstuff 2020-10-27 06:43:24 +00:00
disklabel.h
diskmbr.h Remove deprecated GEOM classes 2019-08-13 20:06:55 +00:00
dkstat.h
dnv.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
domain.h Simplify dom_<rtattach|rtdetach>. 2020-08-14 21:29:56 +00:00
domainset.h domainset: Define additional global policies 2021-04-14 13:03:33 -04:00
dtrace_bsd.h dtrace: stop using eventhandlers for the part compiled into the kernel 2020-11-23 18:27:21 +00:00
dvdio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
efi.h Minor style tidy: if( -> if ( 2021-04-18 11:19:15 -06:00
efiio.h efidev: remove EFIIOC_GET_TABLE ioctl 2021-01-08 10:41:50 -06:00
elf32.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
elf64.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
elf_common.h elf: add some definitions for i386 and amd64 relocations 2021-01-21 14:55:31 +02:00
elf_generic.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
elf.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
endian.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
epoch.h Add flag to struct task to mark the task as requiring network epoch. 2020-02-11 18:48:07 +00:00
errno.h Allow the pseudo-errnos to be returned as well in boot loader 2020-08-28 17:49:56 +00:00
eui64.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
event.h Minor style cleanup 2021-04-18 11:14:17 -06:00
eventfd.h Expose eventfd in the native API/ABI using a new __specialfd syscall 2020-12-27 12:57:26 +02:00
eventhandler.h Minor style cleanup 2021-04-18 11:14:17 -06:00
eventvar.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
exec.h Remove SPARE_USRSPACE. 2019-12-06 19:20:45 +00:00
extattr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
fail.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
fbio.h fbio: Use appropriate types for the physical and virtual framebuffer address 2021-02-19 20:55:54 -03:00
fcntl.h O_PATH: allow vnode kevent filter on such files 2021-04-15 12:49:18 +03:00
fdcio.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
file.h O_PATH: allow vnode kevent filter on such files 2021-04-15 12:49:18 +03:00
filedesc.h open(2): Implement O_PATH 2021-04-15 12:48:24 +03:00
filio.h Support for userspace non-transparent superpages (largepages). 2020-09-09 22:12:51 +00:00
firmware.h firmware(9): extend firmware_get() by a "no warn" flag. 2021-01-27 13:51:26 +00:00
fnv_hash.h
font.h loader: remove BORDER_PIXELS 2021-02-09 13:45:07 +02:00
gmon.h
gpio.h Fix build of stand/usb . 2021-04-12 16:13:33 +02:00
gpt.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
gsb_crc32.h tests/sys/kern/crc32: Check for SSE4.2 before using it 2021-02-02 09:53:39 +00:00
gtaskqueue.h Import kernel WireGuard support 2020-11-29 19:38:03 +00:00
hash.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
hhook.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
iconv.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
imgact_aout.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
imgact_binmisc.h imgact_binmisc: limit the extent of match on incoming entries 2020-11-08 04:24:29 +00:00
imgact_elf.h Pass pointers to info parsed from notes, to brandinfo->header_supported filter. 2020-08-23 20:06:55 +00:00
imgact.h Add ELF flag to disable ASLR stack gap. 2020-12-18 23:14:39 +00:00
interrupt.h Use the word "LinuxKPI" instead of "Linux compatibility", to not confuse with 2021-03-10 12:35:16 +01:00
intr.h make maximum interrupt number tunable on ARM, ARM64, MIPS, and RISC-V 2021-01-18 16:36:39 -08:00
ioccom.h Integrate 4.4BSD-Lite2 changes to IOC_* definitions 2020-10-30 22:00:35 +00:00
ioctl_compat.h
ioctl.h
iov_schema.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
iov.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
ipc.h Get rid of the requirement to include SysV IPC headers with _KERNEL 2018-02-16 01:33:01 +00:00
ipmi.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
jail.h jail: Add PD_KILL to remove a prison in prison_deref(). 2021-02-22 12:27:44 -08:00
joystick.h Remove #warning since it breaks libsysdecode 2018-10-26 04:53:29 +00:00
kbio.h
kcov.h Extract the coverage sanitizer KPI to a new file. 2019-01-29 11:04:17 +00:00
kdb.h Introduce kdb-level watchpoint functions 2021-03-29 12:05:43 -03:00
kenv.h Move kernel env global variables, etc to sys/kenv.h 2020-10-07 06:16:37 +00:00
kern_prefetch.h Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
kernel.h config_intrhook: provide config_intrhook_drain 2021-03-11 09:45:10 -07:00
kerneldump.h EKCD: Add Chacha20 encryption mode 2019-05-23 20:12:24 +00:00
khelp.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
kobj.h newbus: style nit: use while<space>(0) 2021-04-17 23:46:18 -06:00
kpilite.h Use atomic_interrupt_fence() instead of bare __compiler_membar() 2021-02-28 01:27:29 +02:00
ksem.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
kthread.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
ktls.h ktls: Cache output buffers for software encryption 2021-03-03 17:34:01 -05:00
ktr_class.h Remove GEOM_SCHED class and gsched tool. 2019-12-29 21:16:03 +00:00
ktr.h Minor style cleanup 2021-04-18 11:14:17 -06:00
ktrace.h Annotate branches in the syscall path 2020-02-14 13:08:46 +00:00
libkern.h Generalize sanitizer interceptors for memory and string routines 2021-03-24 19:46:22 -04:00
limits.h
link_aout.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
link_elf.h rtld: bump r_debug.r_version to 1 from current 0. 2020-12-01 22:28:01 +00:00
linker_set.h linker_set: fix globl/weak symbol redefinitions to work on clang 12 2021-04-20 02:56:24 +01:00
linker.h stand/multiboot2: add support for booting a Xen dom0 in UEFI mode 2021-02-16 15:26:11 +01:00
lock_profile.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
lock.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
lockf.h Typo out->in. 2019-10-10 18:52:24 +00:00
lockmgr.h lockmgr: add adaptive spinning 2020-07-22 12:30:31 +00:00
lockstat.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
loginclass.h Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
mac.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
malloc.h Implement mallocarray_domainset(9) variant of mallocarray(9). 2021-03-06 11:38:55 +01:00
mbuf.h Add TCP LRO support for VLAN and VxLAN. 2021-04-20 13:36:22 +02:00
mchain.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
md4.h SPDX: some uses of the RSA-MD license. 2017-12-13 16:30:39 +00:00
md5.h SPDX: some uses of the RSA-MD license. 2017-12-13 16:30:39 +00:00
mdioctl.h md(4): remove the unused and unusable MDIOCLIST ioctl. 2019-08-16 18:57:32 +00:00
memdesc.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
memrange.h Add the MEM_EXTRACT_PADDR ioctl to /dev/mem. 2020-09-02 18:12:47 +00:00
mman.h Support for userspace non-transparent superpages (largepages). 2020-09-09 22:12:51 +00:00
module_khelp.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
module.h Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
mount.h struct mount uppers: correct locking annotations 2021-04-09 01:06:26 +03:00
mouse.h psm(4): detect Lenovo top-button clickpads 2019-01-18 22:20:29 +00:00
mpt_ioctl.h
mqueue.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
msg.h Don't define struct mymsg. 2018-03-02 22:13:29 +00:00
msgbuf.h BOOT_TAG: Make a config(5) option, expose as sysctl and loader tunable 2018-08-09 17:47:47 +00:00
mtio.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
mutex.h mtx: add mtx_wait_unlocked 2020-08-04 23:00:00 +00:00
namei.h Add AT_EMPTY_PATH for several *at(2) syscalls 2021-04-15 12:48:11 +03:00
nlist_aout.h
nv.h libnv: Add nvlist_append_*_array() family of functions. 2018-06-18 22:57:32 +00:00
osd.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
param.h Add TCP LRO support for VLAN and VxLAN. 2021-04-20 13:36:22 +02:00
pciio.h Add ioctl to conveniently mmap a PCI device BAR into userspace. 2018-08-01 18:58:24 +00:00
pcpu.h Minor style cleanup 2021-04-18 11:14:17 -06:00
pctrie.h Use SMR to provide safe unlocked lookup for pctries from SMR zones 2020-07-24 17:32:10 +00:00
physmem.h Convert arm's physmem interface to MI code 2020-04-19 00:12:30 +00:00
pidctrl.h Add a generic Proportional Integral Derivative (PID) controller algorithm and 2018-02-23 22:51:51 +00:00
pipe.h Remove #define _KERNEL hacks from libprocstat 2021-02-21 11:38:21 +02:00
pmc.h Move the PMC overflow count to make it per-CPU 2021-01-08 14:24:43 +00:00
pmckern.h Fix annoying whitespace issue. 2019-06-25 19:55:42 +00:00
pmclog.h Add missing structs to pmclog_entry 2021-01-05 10:03:05 +00:00
poll.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
posix4.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
power.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
priority.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
priv.h base: remove if_wg(4) and associated utilities, manpage 2021-03-17 09:14:48 -05:00
prng.h Add prng(9) API 2020-08-13 20:48:14 +00:00
proc.h Stop arming kqueue timers on knote owner suspend or terminate 2021-04-09 23:43:51 +03:00
procctl.h Add procctl(PROC_STACKGAP_CTL) 2019-09-03 18:56:25 +00:00
procdesc.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
procfs.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
protosw.h capsicum: Limit socket operations in capability mode 2021-04-07 14:32:56 -04:00
ptio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ptrace.h Add ptrace op PT_GET_SC_RET. 2019-07-15 21:48:02 +00:00
qmath.h Minor style cleanup 2021-04-18 11:14:17 -06:00
queue.h qeueue.h: Add {SLIST,STAILQ,LIST,TAILQ}_END() 2021-01-25 15:09:35 +00:00
racct.h Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
random.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
rangelock.h rangelock: add rangelock_cookie_assert 2019-09-15 02:59:53 +00:00
rangeset.h Implement rangesets. 2019-02-20 09:38:19 +00:00
rctl.h Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
reboot.h Create helper functions for parsing boot args. 2018-07-13 16:43:05 +00:00
refcount.h Allow sys/refcount.h to be used by standalone builds. 2020-12-07 09:21:06 +00:00
regression.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
resource.h
resourcevar.h thread: batch resource limit free calls 2020-11-14 19:21:46 +00:00
rman.h add support for marking interrupt handlers as suspended 2018-12-17 17:11:00 +00:00
rmlock.h rmlock(9): add an RM_DUPOK flag 2021-04-12 11:42:21 -03:00
rtprio.h Update to D25266, bin/ps: Make the rtprio option actually show 2020-07-14 18:57:31 +00:00
runq.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
rwlock.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
sbuf.h Export sbuf_drain to orchestrate lock and drain action 2021-03-31 19:17:37 +02:00
sched.h Use atomic_interrupt_fence() instead of bare __compiler_membar() 2021-02-28 01:27:29 +02:00
sdt.h Provide SDT_PROBES_ENABLED for kernels without KDTRACE. 2018-12-19 23:19:05 +00:00
select.h
selinfo.h
sem.h Don't declare union semun in userspace unless _WANT_SEMUN is defined. 2018-03-02 22:32:53 +00:00
sema.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
seqc.h seqc: add seqc_read_notmodify 2021-01-06 07:28:06 +00:00
serial.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
sf_buf.h Define PHYS_TO_DMAP() and DMAP_TO_PHYS() as panics on the architectures 2018-01-19 22:17:13 +00:00
sglist.h Step 2.2: 2020-05-02 23:46:29 +00:00
shm.h Implement shmat(2) flag SHM_REMAP. 2019-01-16 05:15:57 +00:00
sigio.h
signal.h Improve MD page fault handlers. 2019-09-27 18:43:36 +00:00
signalvar.h Minor style cleanup 2021-04-18 11:14:17 -06:00
sleepqueue.h sleep(9), sleepqueue(9): const'ify wchan pointers 2019-12-24 16:19:33 +00:00
slicer.h Update a comment to reflect reality; no functional changes. 2019-02-26 22:07:59 +00:00
smp.h smp.h: Reconcile definition and declaration of smp_ncpus 2020-08-11 20:42:21 +00:00
smr_types.h Move SMR pointer type definition and access macros to smr_types.h. 2020-03-07 00:55:46 +00:00
smr.h Move SMR pointer type definition and access macros to smr_types.h. 2020-03-07 00:55:46 +00:00
sndstat.h Implement sndstat nvlist-based enumeration ioctls. 2021-03-17 19:05:43 +08:00
snoop.h Revert r327005 - SPDX tags for license similar to BSD-2-Clause. 2017-12-20 20:25:28 +00:00
sockbuf.h Add support for KTLS RX via software decryption. 2020-07-23 23:48:18 +00:00
socket.h Revert "SO_RERROR indicates that receive buffer overflows should be handled as errors." 2021-02-08 22:32:32 +00:00
socketvar.h base: remove if_wg(4) and associated utilities, manpage 2021-03-17 09:14:48 -05:00
sockio.h Implement SIOCGIFALIAS. 2020-10-14 09:22:54 +00:00
sockopt.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
soundcard.h Fix a few typos in comments 2021-03-13 16:37:28 +01:00
specialfd.h Expose eventfd in the native API/ABI using a new __specialfd syscall 2020-12-27 12:57:26 +02:00
spigenio.h Add the ioctl definitions for spigen get/set spi mode. Should have been 2018-04-07 20:53:34 +00:00
stack.h Minor style cleanup 2021-04-18 11:14:17 -06:00
stat.h sys/stat.h: Improve timespec compatibility with other BSDs 2019-03-18 19:23:19 +00:00
stats.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
statvfs.h
stdatomic.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
stddef.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
stdint.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
sx.h Standalone SX shims 2020-09-29 18:06:02 +00:00
syscall.h Regenerate syscall files after reallocation of aio_writev/aio_readv 2021-01-07 19:50:32 -07:00
syscall.mk Regenerate syscall files after reallocation of aio_writev/aio_readv 2021-01-07 19:50:32 -07:00
syscallsubr.h Rename kern_mmap_req to kern_mmap 2021-01-25 21:50:37 +00:00
sysctl.h Add read only sysctl variable user.localbase 2020-10-30 18:48:09 +00:00
sysent.h Provide ABI modules hooks for process exec/exit and thread exit. 2020-11-23 17:29:25 +00:00
syslimits.h Double the size of ARG_MAX on LP64 platforms. 2019-12-16 23:55:30 +00:00
syslog.h
sysproto.h Regenerate syscall files after reallocation of aio_writev/aio_readv 2021-01-07 19:50:32 -07:00
systm.h Rename struct device to struct _device 2021-04-12 09:32:30 -04:00
taskqueue.h Remove assertion from TASK_INIT() macro, since some users of 2020-02-11 20:59:41 +00:00
terminal.h teken, vt(4): New callbacks to lock the terminal once 2018-05-16 09:01:02 +00:00
termios.h
thr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
tiio.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
tim_filter.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
time.h Treat the boot loader as the same as the kernel for what's visible 2020-08-28 17:55:54 +00:00
timeb.h
timeet.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
timeffc.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
timepps.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
timers.h Stop arming realtime posix process timers on suspend or terminate 2021-04-09 23:42:51 +03:00
times.h
timespec.h
timetc.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
timex.h
tree.h Minor style tidy: if( -> if ( 2021-04-18 11:19:15 -06:00
tslog.h Wrap includes in sys/tslog.h with #ifdef TSLOG. 2017-12-31 21:00:21 +00:00
tty.h tty: convert tty_lock_assert to tty_assert_locked to hide lock type 2020-04-17 18:34:49 +00:00
ttycom.h Add tcgetwinsize(3) and tcsetwinsize(3) to termios 2020-12-25 20:43:09 +02:00
ttydefaults.h
ttydevsw.h tty: convert tty_lock_assert to tty_assert_locked to hide lock type 2020-04-17 18:34:49 +00:00
ttydisc.h tty: convert tty_lock_assert to tty_assert_locked to hide lock type 2020-04-17 18:34:49 +00:00
ttyhook.h tty: convert tty_lock_assert to tty_assert_locked to hide lock type 2020-04-17 18:34:49 +00:00
ttyqueue.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
turnstile.h Fix the turnstile_lock() KPI. 2019-07-24 23:04:59 +00:00
types.h Rename struct device to struct _device 2021-04-12 09:32:30 -04:00
ucontext.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ucred.h cred: fix minor nits in r367695 2020-11-19 04:28:39 +00:00
uio.h Remove copyinfrom() and copyinstrfrom(). 2020-05-20 20:58:17 +00:00
umtx.h [2/2] _umtx_op: introduce 32-bit/i386 flags for operations 2020-11-22 05:47:45 +00:00
un.h unix(4): Add SOL_LOCAL:LOCAL_CREDS_PERSISTENT 2020-11-03 01:17:45 +00:00
unistd.h rfork(2): add RFSPAWN flag 2019-09-25 19:20:41 +00:00
unpcb.h unix(4): Add SOL_LOCAL:LOCAL_CREDS_PERSISTENT 2020-11-03 01:17:45 +00:00
user.h sysctl vm.objects: report backing object and swap use 2021-04-19 21:32:01 +03:00
utsname.h
uuid.h validate_uuid: absorb the rest of parse_uuid with a flags arg 2020-04-15 18:39:12 +00:00
vdso.h random(4) FenestrasX: Push root seed version to arc4random(3) 2020-10-10 21:52:00 +00:00
vmem.h Don't import 0 into vmem quantum caches. 2018-10-22 16:16:42 +00:00
vmmeter.h Provide separate accounting for user-wired pages. 2019-05-13 16:38:48 +00:00
vnode.h vfs: replace vfs_smr_quiesce with vfs_smr_synchronize 2021-04-08 11:14:45 +00:00
vtoc.h
wait.h
watchdog.h Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00