freebsd-nq/sys/sys
Bruce Evans 9e5ed8593f Use VOP_ADVISE() with POSIX_FADV_DONTNEED instead of IO_DIRECT to
implement not double-caching for reads from vnode-backed md devices.
Use VOP_ADVISE() similarly instead of !IO_DIRECT unsimilarly for writes.
Add a "cache" option to mdconfig to allow changing the default of not
caching.

This depends on a recent commit to fix VOP_ADVISE().  A previous version
had optimizations for sequential i/o's (merge the i/o's and only uncache
for discontiguous i/o's and for full blocks), but optimizations and
knowledge of block boundaries belong in VOP_ADVISE().  Read-ahead should
also be handled better, by supporting it in md and discarding it in
VOP_ADVISE().

POSIX_FADV_DONTNEED is ignored by zfs, but so is IO_DIRECT.

POSIX_FADV_DONTNEED works better than IO_DIRECT if it is not ignored,
since it only discards from the buffer cache immediately, while
IO_DIRECT also discards from the page cache immediately.

IO_DIRECT was not used for writes since it was claimed to be too slow,
but most of the slowness for writes is from doing them synchronously by
default.  Non-synchronous writes still deadlock in many cases.

IO_DIRECT only has a special implementation for ffs reads with DIRECTIO
configured.  Otherwise, if it is not ignored than it uses the buffer and
page caches normally except for discarding everything after each i/o,
and then it has much the same overheads as POSIX_FADV_DONTNEED.  The
overheads for reading with ffs and DIRECTIO were similar in tests of md.

Reviewed by:	kib
2018-12-21 08:15:31 +00:00
..
disk gpart: add fat32lba MBR partition type 2018-05-04 00:34:27 +00:00
_bitset.h Implement several enhancements to NUMA policies. 2018-03-29 02:54:50 +00:00
_bus_dma.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_callout.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +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
_ffcounter.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_iovec.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_kstack_cache.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_lock.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_lockmgr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +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
_rmlock.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_rwlock.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_semaphore.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_sigset.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_sockaddr_storage.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_stack.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_stdarg.h With the fall-back hack for lint gone, I have no copyright claim on this file. 2018-05-06 21:22:46 +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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_termios.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_timespec.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_timeval.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_types.h Do not include float interfaces when using libsa. 2018-02-23 04:04:25 +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
aac_ioctl.h Fix FSACTL_GET_NEXT_ADAPTER_FIB under 32-bit compat. 2018-03-14 21:11:41 +00:00
acct.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
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 Fix a comment. No functional change. 2018-02-12 17:42:28 +00:00
alq.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
apm.h
assym.h make critical_{enter, exit} inline 2018-07-03 01:55:09 +00:00
ata.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
atomic_common.h Add atomic_load(9) and atomic_store(9) operations. 2017-12-19 09:59:20 +00:00
auxv.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
bio.h Implement a 'car limit' for bioq. 2018-06-13 16:48:07 +00:00
bitset.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
bitstring.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
blist.h Allow allocations across meta boundaries. 2018-11-13 18:40:01 +00:00
boot.h Create helper functions for parsing boot args. 2018-07-13 16:43:05 +00:00
buf_ring.h Unhook DEBUG_BUFRING from INVARIANTS 2018-05-15 23:55:38 +00:00
buf.h Detect and optimize reads from the hole on UFS. 2018-05-13 09:47:28 +00:00
bufobj.h Further parallelize the buffer cache. 2018-02-20 00:06:07 +00:00
bus_dma_internal.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
bus_dma.h Remove a trailing whitspace. 2018-02-06 19:14:15 +00:00
bus.h add support for marking interrupt handlers as suspended 2018-12-17 17:11:00 +00:00
busdma_bufalloc.h Fix compile error from r327900 2018-01-12 23:41:12 +00:00
callout.h Allow pause_sbt() to catch signals during sleep by passing C_CATCH flag. 2018-03-03 18:36:38 +00:00
capability.h capability.h: add comment about planned removal timeline 2018-11-06 00:05:17 +00:00
caprights.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
capsicum.h capsicum: provide cap_rights_fde_inline 2018-10-12 23:48:10 +00:00
cdefs.h Make the system C11 atomics headers fully compatible with external GCC. 2018-08-06 23:51:08 +00:00
cdio.h
cdrio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
cfictl.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
chio.h sys/sys/chio.h: add NetBSD RCS ID. 2017-12-28 14:26:33 +00:00
ck.h ck: simplify interface with libkvm consumers by defining ck_queue types 2018-05-21 01:53:23 +00:00
clock.h Add a set of convenience routines for RTC drivers to use for debug output, 2018-02-12 17:33:14 +00:00
cnv.h libnv: Remove nvlist argument from cnvlist_{take,free}_* functions. 2018-06-18 21:26: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 Refactor some of the MI kernel dump code in preparation for netdump. 2018-05-06 00:22:38 +00:00
cons.h Replace ttyprintf with sbuf_printf and tty drain routine 2018-10-20 18:31:36 +00:00
consio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
copyright.h copyright.h: Update license text to 'THE AUTHOR' 2018-01-23 20:38:03 +00:00
counter.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
cpu.h Introduce PMCR-based cpufreq(4) driver, for IBM POWER8 and POWER9 systems 2018-06-21 14:26:43 +00:00
cpuctl.h Make it possible to re-evaluate cpu_features. 2018-01-05 21:06:19 +00:00
cpuset.h Implement several enhancements to NUMA policies. 2018-03-29 02:54:50 +00:00
ctype.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
devicestat.h devstat(9): Constify function parameters that can be const 2018-08-23 01:42:45 +00:00
devmap.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
dir.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +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 SPDX: use the Beerware identifier. 2017-11-30 20:33:45 +00:00
disklabel.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
diskmbr.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
dkstat.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
dnv.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
domain.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
domainset.h Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
dtrace_bsd.h Pass the trap frame to fasttrap hooks. 2017-12-11 19:21:39 +00:00
dvdio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
efi.h efirt: When present, attempt to use EFI runtime services to shutdown 2018-12-15 05:46:04 +00:00
efiio.h
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 Handle the DT_MIPS_RLD_MAP_REL dynamic tag in RTLD 2018-11-07 15:04:41 +00: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/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
epoch.h The dualism between epoch_tracker and epoch_thread is fragile and 2018-11-13 23:20:55 +00:00
errno.h We don't need both _STAND and _STANDALONE. There's more places that 2017-12-02 00:07:09 +00:00
eui64.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
event.h Pass malloc flags directly through kevent(2) subroutines. 2018-11-24 17:06:01 +00:00
eventhandler.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
eventvar.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
exec.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
extattr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
fail.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
fbio.h Use unsigned intptr_t type for framebuffer addresses 2017-12-06 02:05:21 +00:00
fcntl.h Implement O_BENEATH and AT_BENEATH. 2018-10-25 22:16:34 +00:00
fdcio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
file.h Make struct xinpcb and friends word-size independent. 2018-07-05 13:13:48 +00:00
filedesc.h vfs: mostly depessimize NDINIT_ALL 2018-12-14 03:55:08 +00:00
filio.h Move 32-bit compat support for FIODGNAME to the right place. 2018-10-26 17:59:25 +00:00
firmware.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
fnv_hash.h
gmon.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
gpio.h SPDX: Fix some cases wrongly attributed to MIT. 2017-11-30 15:10:11 +00:00
gpt.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
gtaskqueue.h Drain grouptaskqueue of the gtask before detaching it. 2018-10-29 14:36: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: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
imgact_binmisc.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
imgact_elf.h Avoid two suword() calls per auxarg entry. 2018-05-24 16:25:18 +00:00
imgact.h Add helper functions to copy strings into struct image_args. 2018-11-29 21:00:56 +00:00
inflate.h
interrupt.h add support for marking interrupt handlers as suspended 2018-12-17 17:11:00 +00:00
intr.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
ioccom.h Add _IOC_NEWLEN() and _IOC_NEWTYPE() macros. 2018-03-16 22:23:04 +00:00
ioctl_compat.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ioctl.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
iov_schema.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
iov.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +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/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
jail.h In hardened systems, where the security.bsd.unprivileged_proc_debug sysctl 2018-11-27 17:51:50 +00:00
joystick.h Remove #warning since it breaks libsysdecode 2018-10-26 04:53:29 +00:00
kbio.h
kdb.h Don't enter DDB for fatal traps before panic by default. 2018-11-01 21:34:17 +00:00
kenv.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
kern_prefetch.h Fix build issue with const and volatile and the 2018-06-07 19:57:55 +00:00
kernel.h Move sysinit and sysuninit linker sets in the data (writeable) section. 2018-03-21 10:26:39 +00:00
kerneldump.h Retain offset compatibility with pre-12.0 dumps 2018-06-15 19:02:53 +00:00
khelp.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
kobj.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
kpilite.h expose sched_{pin,unpin}_lite to tied modules 2018-07-03 04:02:40 +00:00
ksem.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
kthread.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ktr_class.h Drop KTR_CONTENTION. 2018-03-20 15:51:05 +00:00
ktr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ktrace.h Reduce overhead of ktrace checks in the common case. 2018-05-09 00:00:47 +00:00
libkern.h Use __builtin for various mem* and b* (e.g. bzero) routines. 2018-06-02 18:03:35 +00:00
limits.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
link_aout.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
link_elf.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
linker_set.h Move sysinit and sysuninit linker sets in the data (writeable) section. 2018-03-21 10:26:39 +00:00
linker.h Add flags variants to linker_files / stack(9) symbol resolution 2018-10-20 18:08:43 +00:00
lock_profile.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
lock.h inline atomics and allow tied modules to inline locks 2018-07-02 19:48:38 +00:00
lockf.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
lockmgr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
lockstat.h lockstat: track lockstat just like sdt probes 2018-04-24 01:04:10 +00:00
loginclass.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
mac.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
malloc.h Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
mbuf.h Improve handling of control message truncation. 2018-08-07 16:36:48 +00: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 Use VOP_ADVISE() with POSIX_FADV_DONTNEED instead of IO_DIRECT to 2018-12-21 08:15:31 +00:00
memdesc.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
memrange.h
mman.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +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 Add new file handle system calls. 2018-12-07 15:17:29 +00:00
mouse.h For the moment, put back the MOUSE_PROTO_{BUS,INPORT} #defines until 2018-10-23 20:45:46 +00:00
mpt_ioctl.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
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: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
mutex.h Annotate Giant drop/pickup macros with __predict_false 2018-12-07 12:06:03 +00:00
namei.h Allow absolute paths for O_BENEATH. 2018-11-11 00:04:36 +00:00
nlist_aout.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
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 Continuing efforts to provide hardening of FFS. This change adds a 2018-12-11 22:14:37 +00:00
pciio.h Add ioctl to conveniently mmap a PCI device BAR into userspace. 2018-08-01 18:58:24 +00:00
pcpu.h Don't mark module data as static on RISC-V. 2018-09-12 08:05:33 +00:00
pctrie.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
pidctrl.h Add a generic Proportional Integral Derivative (PID) controller algorithm and 2018-02-23 22:51:51 +00:00
pioctl.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
pipe.h
pmc.h hwpmc: Refactor sample ring buffer handling to fix races 2018-10-05 05:55:56 +00:00
pmckern.h hwpmc: Refactor sample ring buffer handling to fix races 2018-10-05 05:55:56 +00:00
pmclog.h pmc: convert native to jsonl and track TSC value of samples 2018-06-07 02:03:22 +00:00
poll.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
posix4.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
power.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
priority.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
priv.h Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
proc.h Deinline vfork handling out of the syscall return path. 2018-12-19 20:27:26 +00:00
procctl.h Rename PROC_PDEATHSIG_SET -> PROC_PDEATHSIG_CTL and PROC_PDEATHSIG_GET 2018-04-20 15:19:27 +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 sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ptio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ptrace.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
pwm.h pwm: Convert period and duty to unsigned int 2018-12-14 18:37:26 +00:00
queue.h Define QMD_SAVELINK() only for QUEUE_MACRO_DEBUG_TRASH case. Otherwise 2018-10-31 19:37:11 +00:00
racct.h racct: add RACCT_ENABLED macro and racct_set_unlocked 2018-12-07 16:47:34 +00:00
random.h random(4): Match enabled sources mask to build options 2018-10-27 15:09:35 +00:00
rangelock.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
rctl.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
reboot.h Create helper functions for parsing boot args. 2018-07-13 16:43:05 +00:00
refcount.h refcount: remove a stale comment about conditional ref/unref routines 2018-12-07 16:10:13 +00:00
regression.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
resource.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
resourcevar.h Make lim_cur inline if possible. 2018-12-11 12:01:46 +00:00
rman.h add support for marking interrupt handlers as suspended 2018-12-17 17:11:00 +00:00
rmlock.h Clean up the SYSINIT_FLAGS definitions for rwlock(9) and rmlock(9). 2017-11-21 14:59:23 +00:00
rtprio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
runq.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
rwlock.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
sbuf.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
sched.h Inlined sched_userret. 2018-05-07 23:36:16 +00:00
sdt.h Provide SDT_PROBES_ENABLED for kernels without KDTRACE. 2018-12-19 23:19:05 +00:00
select.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
selinfo.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
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
seq.h seq: provide a comment explaining what seq is for and note 2 caveats 2018-03-28 04:38:45 +00:00
serial.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +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 sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
shm.h Get rid of the requirement to include SysV IPC headers with _KERNEL 2018-02-16 01:33:01 +00:00
sigio.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
signal.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
signalvar.h vfs: __predict common case in VFS_EPILOGUE/PROLOGUE 2018-09-22 11:39:30 +00:00
sleepqueue.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
slicer.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
smp.h Use resume_cpus() instead of restart_cpus() to resume from ACPI suspension. 2017-12-21 09:17:48 +00:00
snoop.h Revert r327005 - SPDX tags for license similar to BSD-2-Clause. 2017-12-20 20:25:28 +00:00
sockbuf.h Retire sbsndptr() KPI 2018-11-19 00:54:31 +00:00
socket.h Add SOL_SOCKET level socket option with name SO_DOMAIN to get 2018-08-21 14:04:30 +00:00
socketvar.h Regen after r340199: Use declared types for caddr_t arguments. 2018-11-06 18:47:29 +00:00
sockio.h Allow to specify PCP on packets not belonging to any VLAN. 2018-03-27 15:29:32 +00:00
sockopt.h sockopt.h: remove stale comment 2018-07-25 00:18:21 +00:00
soundcard.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00: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 Add flags variants to linker_files / stack(9) symbol resolution 2018-10-20 18:08:43 +00:00
stat.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
statvfs.h
stdatomic.h Make the system C11 atomics headers fully compatible with external GCC. 2018-08-06 23:51:08 +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
sun_disklabel.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
sx.h sx: retire SX_NOADAPTIVE 2018-12-05 16:43:03 +00:00
syscall.h Regen. 2018-12-07 15:19:00 +00:00
syscall.mk Regen. 2018-12-07 15:19:00 +00:00
syscallsubr.h Use declared types for caddr_t arguments. 2018-11-06 18:46:38 +00:00
sysctl.h const poison the new pointer of __sysctl. 2018-12-18 12:44:38 +00:00
sysent.h Remove iBCS2, part2: general kernel 2018-12-19 21:57:58 +00:00
syslimits.h Remove LINK_MAX. 2018-01-05 22:26:23 +00:00
syslog.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
sysproto.h Regen. 2018-12-07 15:19:00 +00:00
systm.h unr64: use locked variant if not __LP64__ 2018-12-07 12:05:11 +00:00
taskqueue.h Add a taskqueue_quiesce(9) KPI. 2018-11-21 17:18:27 +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 SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
time.h Ensure that all values of ns, us and ms work for {n,u,m}stosbt 2018-11-20 07:11:23 +00:00
timeb.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
timeet.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
timeffc.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
timepps.h SPDX: use the Beerware identifier. 2017-11-30 20:33:45 +00:00
timers.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
times.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
timespec.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
timetc.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
timex.h
tree.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
tslog.h Wrap includes in sys/tslog.h with #ifdef TSLOG. 2017-12-31 21:00:21 +00:00
tty.h Avoid fixing the tty_info() buffer size in tty.h. 2018-11-06 23:41:44 +00:00
ttycom.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ttydefaults.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ttydevsw.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ttydisc.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ttyhook.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ttyqueue.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
turnstile.h Remove an unused argument to turnstile_unpend. 2018-06-02 22:37:53 +00:00
types.h Change the vm_ooffset_t type to unsigned. 2018-12-02 13:16:46 +00:00
ucontext.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ucred.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +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
un.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
unistd.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
unpcb.h Fix LOCAL_PEERCRED with socketpair(2) 2018-08-03 01:37:00 +00:00
user.h Improve procstat reporting for the linux cdev file descriptors. 2018-12-03 23:39:45 +00:00
utsname.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
uuid.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
vdso.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
vmem.h Don't import 0 into vmem quantum caches. 2018-10-22 16:16:42 +00:00
vmmeter.h Add more NUMA-specific low memory predicates. 2018-09-24 19:24:17 +00:00
vnode.h Only call sigdeferstop() for NFS. 2018-10-23 21:43:41 +00:00
vtoc.h
wait.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
watchdog.h make SW_WATCHDOG dynamic 2018-01-03 00:56:30 +00:00
zlib.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
zutil.h Use __builtin for various mem* and b* (e.g. bzero) routines. 2018-06-02 18:03:35 +00:00