freebsd-dev/sys/kern
Mateusz Guzik 3fd19ce7a5 mtx: eliminate recursion support from thread lock
Now that it is not used after schedlock changes got merged.

Note the unlock routine temporarily still checks for it on account of just using
regular spin unlock.

This is a prelude towards a general clean up.
2019-12-16 00:04:33 +00:00
..
bus_if.m Add necessary bits for Linux KPI to work correctly on powerpc 2019-08-04 19:28:10 +00:00
capabilities.conf Add a shm_open2 syscall to support upcoming memfd_create 2019-09-25 17:59:15 +00:00
clock_if.m
cpufreq_if.m
device_if.m
genassym.sh
genoffset.c Merge td_epochnest with td_no_sleeping. 2019-10-29 17:28:25 +00:00
genoffset.sh expose thread_lite definition to tied modules 2018-07-03 02:50:07 +00:00
imgact_aout.c Use uintptr_t instead of register_t * for the stack base. 2019-12-03 23:17:54 +00:00
imgact_binmisc.c Add helper functions to copy strings into struct image_args. 2018-11-29 21:00:56 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Copy out aux args after the argument and environment vectors. 2019-12-09 19:17:28 +00:00
imgact_shell.c Add helper functions to copy strings into struct image_args. 2018-11-29 21:00:56 +00:00
init_main.c schedlock 1/4 2019-12-15 21:11:15 +00:00
init_sysent.c Jail and capability mode for shm_rename; add audit support for shm_rename 2019-11-18 13:31:16 +00:00
kern_acct.c
kern_alq.c
kern_clock.c schedlock 1/4 2019-12-15 21:11:15 +00:00
kern_clocksource.c Rename hardclock_cnt() to hardclock() and remove the old implementation. 2018-09-06 02:10:59 +00:00
kern_condvar.c
kern_conf.c devfs: introduce a per-dev lock to protect ->si_devsw 2019-11-30 16:46:19 +00:00
kern_cons.c Replace ttyprintf with sbuf_printf and tty drain routine 2018-10-20 18:31:36 +00:00
kern_context.c Remove superfluous bzero in getcontext/swapcontext/sendsig 2018-11-26 20:56:05 +00:00
kern_cpu.c kern_cpu: When adding abs frequency allow for unordered insertion 2018-07-19 11:28:14 +00:00
kern_cpuset.c bitset: rename confusing macro NAND to ANDNOT 2019-12-13 09:32:16 +00:00
kern_ctf.c Convert DDB_CTF to use newer version of ZLIB. 2019-08-08 07:27:49 +00:00
kern_descrip.c fd: static-ize and devolatile openfiles 2019-12-11 23:09:12 +00:00
kern_dtrace.c systrace: track it like sdt probes 2018-04-27 15:16:34 +00:00
kern_dump.c [PPC64] Initial kernel minidump implementation 2019-10-14 13:04:04 +00:00
kern_environment.c Follow up r352244: kenv: tighten up assertions 2019-09-12 14:34:46 +00:00
kern_et.c
kern_event.c Avoid relying on header pollution from sys/refcount.h. 2019-07-29 20:26:01 +00:00
kern_exec.c Handle pagein clustering in vm_page_grab_valid() so that it can be used by 2019-12-15 02:00:32 +00:00
kern_exit.c procdesc: allow to collect status through wait(1) if process is traced 2019-11-25 18:33:21 +00:00
kern_fail.c Use callout(9) instead of deprecated timeout(9) for fail points. 2019-12-13 19:26:04 +00:00
kern_ffclock.c
kern_fork.c schedlock 1/4 2019-12-15 21:11:15 +00:00
kern_hhook.c
kern_idle.c
kern_intr.c schedlock 4/4 2019-12-15 21:26:50 +00:00
kern_jail.c Replace hand-rolled unrefs if > 1 with refcount_release_if_not_last 2018-12-07 16:11:45 +00:00
kern_kcov.c Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
kern_khelp.c
kern_kthread.c schedlock 1/4 2019-12-15 21:11:15 +00:00
kern_ktr.c Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
kern_ktrace.c Reduce overhead of ktrace checks in the common case. 2018-05-09 00:00:47 +00:00
kern_linker.c Rewrite arm kernel stack unwind code to work when unwinding through modules. 2019-12-15 21:16:35 +00:00
kern_lock.c vfs: locking primitives which elide ->v_vnlock and shared locking disablement 2019-12-11 23:11:21 +00:00
kern_lockf.c vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
kern_lockstat.c Add lockmgr(9) probes to the lockstat DTrace provider. 2019-08-21 23:43:58 +00:00
kern_loginclass.c Replace hand-rolled unrefs if > 1 with refcount_release_if_not_last 2018-12-07 16:11:45 +00:00
kern_malloc.c Handle large mallocs by going directly to kmem. Taking a detour through 2019-11-29 03:14:10 +00:00
kern_mbuf.c mbuf zones: take out the trash 2019-12-04 18:21:29 +00:00
kern_mib.c Create a new sysctl subtree, machdep.mitigations. Its purpose is to organize 2019-11-15 23:27:17 +00:00
kern_module.c Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
kern_mtxpool.c Mark some more hot global variables with __read_mostly. 2019-12-04 21:26:03 +00:00
kern_mutex.c mtx: eliminate recursion support from thread lock 2019-12-16 00:04:33 +00:00
kern_ntptime.c Clear pad bytes in the struct exported by kern.ntp_pll.gettime. 2018-11-20 20:32:10 +00:00
kern_osd.c
kern_physio.c Allocate pager bufs from UMA instead of 80-ish mutex protected linked list. 2019-01-15 01:02:16 +00:00
kern_pmc.c Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
kern_poll.c schedlock 4/4 2019-12-15 21:26:50 +00:00
kern_priv.c Check for probes enabled in priv_check_cred before evaluting the error. 2018-12-19 23:28:29 +00:00
kern_proc.c Remove page locking from pmap_mincore(). 2019-10-16 22:03:27 +00:00
kern_procctl.c Add procctl(PROC_STACKGAP_CTL) 2019-09-03 18:56:25 +00:00
kern_prot.c Remove the useless return value from proc_set_cred 2019-12-14 00:43:17 +00:00
kern_racct.c proc: eliminate the zombproc list 2019-08-28 16:18:23 +00:00
kern_rangelock.c rangelock: add rangelock_cookie_assert 2019-09-15 02:59:53 +00:00
kern_rctl.c call racct_proc_ucred_changed() under the proc lock 2018-04-20 13:08:04 +00:00
kern_resource.c schedlock 1/4 2019-12-15 21:11:15 +00:00
kern_rmlock.c bitset: rename confusing macro NAND to ANDNOT 2019-12-13 09:32:16 +00:00
kern_rwlock.c Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
kern_sdt.c
kern_sema.c
kern_sendfile.c Record part of the owner struct thread pointer into busy_lock. 2019-11-24 19:12:23 +00:00
kern_sharedpage.c Fix the last few cases that grab without busy or valid. The grab functions must 2019-12-02 22:38:25 +00:00
kern_shutdown.c vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
kern_sig.c schedlock 1/4 2019-12-15 21:11:15 +00:00
kern_switch.c schedlock 4/4 2019-12-15 21:26:50 +00:00
kern_sx.c sx: check for SX_LOCK_SHARED | SX_LOCK_WRITE_SPINNER when exclusive-locking 2019-12-05 13:43:44 +00:00
kern_synch.c schedlock 4/4 2019-12-15 21:26:50 +00:00
kern_syscalls.c add a sanity check to the system call registration code 2019-12-11 15:52:29 +00:00
kern_sysctl.c sysctl sysctls: wire old buf before output with sysctl lock 2019-11-25 07:38:27 +00:00
kern_tc.c Initialize timehands linkage much earlier. 2019-09-09 12:42:48 +00:00
kern_thr.c schedlock 1/4 2019-12-15 21:11:15 +00:00
kern_thread.c schedlock 4/4 2019-12-15 21:26:50 +00:00
kern_time.c Disallow excessively small times of day in clock_settime(2). 2019-05-03 21:26:44 +00:00
kern_timeout.c Remove the deprecated timeout(9) interface. 2019-12-13 21:03:12 +00:00
kern_tslog.c
kern_ubsan.c Teach the kernel KUBSAN runtime about alignment_assumption 2019-05-28 09:12:15 +00:00
kern_umtx.c Make umtxq_check_susp() to correctly handle thread exit requests. 2019-08-01 14:34:27 +00:00
kern_uuid.c Use sbuf_cat() in GEOM confxml generation. 2019-06-19 15:36:02 +00:00
kern_xxx.c Normalize COMPAT_43 syscall declarations. 2018-12-04 16:48:47 +00:00
ksched.c
link_elf_obj.c Apply mapping protections to preloaded kernel modules on amd64. 2019-10-18 13:56:45 +00:00
link_elf.c Rewrite arm kernel stack unwind code to work when unwinding through modules. 2019-12-15 21:16:35 +00:00
linker_if.m
Make.tags.inc Remove a couple of harmless stray references to nandfs. 2019-06-25 16:39:25 +00:00
Makefile sysent: Reduce duplication and improve readability. 2019-12-06 23:59:23 +00:00
makesyscalls.sh Restore the ability to set capenabled directly in syscalls.conf. 2019-09-30 20:58:29 +00:00
md4c.c
md5c.c
msi_if.m
p1003_1b.c
pic_if.m
posix4_mib.c Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
sched_4bsd.c schedlock 4/4 2019-12-15 21:26:50 +00:00
sched_ule.c schedlock 4/4 2019-12-15 21:26:50 +00:00
serdev_if.m
stack_protector.c Revert r346292 (permit_nonrandom_stackcookies) 2019-05-13 23:37:44 +00:00
subr_acl_nfs4.c Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
subr_acl_posix1e.c Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
subr_autoconf.c
subr_blist.c Simplify the processing a leaf mask to find big-enough ranges of set 2019-12-14 19:44:42 +00:00
subr_boot.c When parsing command line stuff, treat tabs and spaces the same. 2019-04-18 22:52:12 +00:00
subr_bufring.c
subr_bus_dma.c Add an external mbuf buffer type that holds multiple unmapped pages. 2019-06-29 00:48:33 +00:00
subr_bus.c Create new wrapper function: bus_delayed_attach_children() 2019-12-13 19:39:33 +00:00
subr_busdma_bufalloc.c Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
subr_capability.c kern_sendit: use pre-initialized rights 2018-05-23 01:48:09 +00:00
subr_clock.c Kill tz_minuteswest and tz_dsttime. 2019-03-12 04:49:47 +00:00
subr_compressor.c GZIO: Update to use zlib 1.2.11. 2019-08-25 07:50:44 +00:00
subr_counter.c Fix pre-SI_SUB_CPU initialization of per-CPU counters. 2018-07-10 00:18:12 +00:00
subr_coverage.c Extract the coverage sanitizer KPI to a new file. 2019-01-29 11:04:17 +00:00
subr_csan.c Disable KCSAN within a panic. 2019-11-21 13:59:01 +00:00
subr_devmap.c Generalize ARM specific comments in devmap 2019-10-15 23:21:52 +00:00
subr_devstat.c Make devstat_end_transaction_bio() count BIO_ORDERED. 2019-12-06 18:39:05 +00:00
subr_disk.c Fix botched merge with 355066 2019-03-12 05:10:41 +00:00
subr_dummy_vdso_tc.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
subr_early.c Add a file missed in r339321 2018-10-12 00:32:45 +00:00
subr_epoch.c schedlock 4/4 2019-12-15 21:26:50 +00:00
subr_eventhandler.c Include ktr.h in more compilation units 2019-05-21 20:38:48 +00:00
subr_fattime.c Use const pointers for input data not modified by clock utility functions. 2018-02-06 22:17:01 +00:00
subr_filter.c This commit adds BBR (Bottleneck Bandwidth and RTT) congestion control. This 2019-09-24 18:18:11 +00:00
subr_firmware.c Factor out check for mounted root file system. 2019-11-28 08:47:36 +00:00
subr_gtaskqueue.c schedlock 1/4 2019-12-15 21:11:15 +00:00
subr_hash.c
subr_hints.c res_find: Fix fallback logic 2018-08-18 19:45:56 +00:00
subr_intr.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
subr_kdb.c bitset: rename confusing macro NAND to ANDNOT 2019-12-13 09:32:16 +00:00
subr_kobj.c Prevent some kobj memory allocation failures from panicking the system. 2019-01-31 22:27:39 +00:00
subr_lock.c lockprof: use IPI-injecetd fences to fix hangs on stat dump and reset 2019-11-30 17:24:42 +00:00
subr_log.c
subr_mchain.c
subr_module.c Have preload_delete_name() free pages backing preloaded data. 2018-07-19 20:00:28 +00:00
subr_msgbuf.c msgbuf: Light detailing (const'ify and bool'itize) 2018-08-09 17:42:27 +00:00
subr_param.c riscv: restore default HZ=1000, keep QEMU at HZ=100 2019-09-07 05:13:31 +00:00
subr_pcpu.c schedlock 1/4 2019-12-15 21:11:15 +00:00
subr_pctrie.c kern/subr_pctrie: Fix mismatched signedness in assertion comparison 2019-04-06 21:56:24 +00:00
subr_pidctrl.c When pidctrl_daemon() is called multiple times within an interval, it 2018-06-07 07:48:50 +00:00
subr_power.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
subr_prf.c device_printf: Use sbuf for more coherent prints on SMP 2019-05-07 17:47:20 +00:00
subr_prof.c ANSIfy sys/kern 2018-06-01 13:26:45 +00:00
subr_rangeset.c Implement rangesets. 2019-02-20 09:38:19 +00:00
subr_rman.c add support for marking interrupt handlers as suspended 2018-12-17 17:11:00 +00:00
subr_rtc.c Improve error messages from clock_if.m method failures. 2018-09-02 20:17:51 +00:00
subr_sbuf.c sbuf(9): Add sbuf_nl_terminate() API 2019-08-07 19:27:14 +00:00
subr_scanf.c Add support for 'j', 't' and 'z' flags to kernel sscanf(). 2019-08-16 19:46:22 +00:00
subr_sfbuf.c
subr_sglist.c Add an external mbuf buffer type that holds multiple unmapped pages. 2019-06-29 00:48:33 +00:00
subr_sleepqueue.c schedlock 4/4 2019-12-15 21:26:50 +00:00
subr_smp.c smp: cast the read in quiesce_all_critical through void * 2019-11-30 19:33:02 +00:00
subr_stack.c Add debugging facility EPOCH_TRACE that checks that epochs entered are 2019-09-25 18:26:31 +00:00
subr_stats.c libstats: Improve ABI assertion. 2019-11-06 19:44:44 +00:00
subr_syscall.c Don't pass error from syscallenter() to syscallret(). 2019-07-15 21:25:16 +00:00
subr_taskqueue.c schedlock 1/4 2019-12-15 21:11:15 +00:00
subr_terminal.c kernel terminal should initialize fg and bg variables before calling TUNABLE_INT_FETCH 2019-09-26 07:19:26 +00:00
subr_trap.c schedlock 4/4 2019-12-15 21:26:50 +00:00
subr_turnstile.c schedlock 4/4 2019-12-15 21:26:50 +00:00
subr_uio.c simplify control flow so that gcc knows we never pass save to curthread_pflags_restore 2018-05-19 04:04:44 +00:00
subr_unit.c kern/subr_unit: Rip srandomdev, random(3) out of dead code 2019-12-13 04:48:20 +00:00
subr_vmem.c Use a precise bit count for the slab free items in UMA. This significantly 2019-12-02 22:44:34 +00:00
subr_witness.c devfs: introduce a per-dev lock to protect ->si_devsw 2019-11-30 16:46:19 +00:00
sys_capability.c Let kern.trap_enotcap be set as a tunable. 2018-12-06 17:29:37 +00:00
sys_generic.c devfs: plug redundant bwillwrite avoidance 2019-10-05 17:44:33 +00:00
sys_getrandom.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
sys_pipe.c Fix handling of PIPE_EOF in the direct write path. 2019-11-11 20:44:30 +00:00
sys_procdesc.c procdesc: allow to collect status through wait(1) if process is traced 2019-11-25 18:33:21 +00:00
sys_process.c Define macro VM_MAP_ENTRY_FOREACH for enumerating the entries in a vm_map. 2019-10-08 07:14:21 +00:00
sys_socket.c
syscalls.c sysent: regenerate after r352747. 2019-09-26 15:41:10 +00:00
syscalls.master Jail and capability mode for shm_rename; add audit support for shm_rename 2019-11-18 13:31:16 +00:00
systrace_args.c sysent: regenerate after r354835 2019-11-18 23:31:12 +00:00
sysv_ipc.c sysv: get rid of fork/exit hooks if the code is compiled in 2019-05-04 19:05:30 +00:00
sysv_msg.c ANSIfy sys/kern 2018-06-01 13:26:45 +00:00
sysv_sem.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
sysv_shm.c Simplify anonymous memory handling with an OBJ_ANON flag. This eliminates 2019-11-19 23:19:43 +00:00
tty_compat.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
tty_info.c Avoid fixing the tty_info() buffer size in tty.h. 2018-11-06 23:41:44 +00:00
tty_inq.c tty: use __unused annotation instead to silence warnings 2018-05-19 04:48:26 +00:00
tty_outq.c tty: use __unused annotation instead to silence warnings 2018-05-19 04:48:26 +00:00
tty_pts.c tty_pts: don't rely on tty header pollution for sys/mutex.h 2019-11-29 03:56:01 +00:00
tty_tty.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
tty_ttydisc.c Replace ttyprintf with sbuf_printf and tty drain routine 2018-10-20 18:31:36 +00:00
tty.c vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
uipc_accf.c
uipc_debug.c Load balance sockets with new SO_REUSEPORT_LB option. 2018-06-06 15:45:57 +00:00
uipc_domain.c Remove pfctlinput2(). It came from KAME and had never ever been in use. 2019-10-15 15:40:03 +00:00
uipc_ktls.c ktls_session zone: don't need to specify uma trash 2019-11-29 06:25:03 +00:00
uipc_mbuf2.c m_pulldown(): Change an if () panic() into a KASSERT(). 2019-11-06 22:40:19 +00:00
uipc_mbuf.c kTLS: Fix a bug where we would not encrypt anon data inplace. 2019-09-27 20:08:19 +00:00
uipc_mbufhash.c
uipc_mqueue.c mqueuefs: fix compat32 struct file leak 2019-08-20 17:44:03 +00:00
uipc_sem.c Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
uipc_shm.c Fix a mistake in r355765. We need to activate the page if it is not yet 2019-12-15 06:26:47 +00:00
uipc_sockbuf.c Add kernel-side support for in-kernel TLS. 2019-08-27 00:01:56 +00:00
uipc_socket.c Cleanup unneeded includes that crept in with r353292. 2019-10-09 16:59:42 +00:00
uipc_syscalls.c Only enable COMPAT_43 changes for syscalls ABI for a.out processes. 2019-08-11 19:16:07 +00:00
uipc_usrreq.c Fix handling of empty SCM_RIGHTS messages. 2019-10-08 23:34:48 +00:00
vfs_acl.c Reduce duplication in __acl_*_(file|link). 2018-02-15 21:24:43 +00:00
vfs_aio.c Port the NetBSD KCSAN runtime to FreeBSD. 2019-11-21 11:22:08 +00:00
vfs_bio.c schedlock 4/4 2019-12-15 21:26:50 +00:00
vfs_cache.c vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
vfs_cluster.c Currently the breadn_flags() and getblkx() interfaces are passed 2019-12-03 23:07:09 +00:00
vfs_default.c r355677 requires that vop_stdioctl() be global so it can be called from NFS. 2019-12-13 00:14:12 +00:00
vfs_export.c Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
vfs_extattr.c extattr_list_vp: Narrow locked section somewhat 2019-02-05 04:47:21 +00:00
vfs_hash.c vfs: implement usecount implying holdcnt 2019-09-03 15:42:11 +00:00
vfs_init.c vfs: add optional root vnode caching 2019-10-06 22:14:32 +00:00
vfs_lookup.c vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
vfs_mount.c vfs: add optional root vnode caching 2019-10-06 22:14:32 +00:00
vfs_mountroot.c Add variant of root_mount_hold() without allocation. 2019-11-21 21:59:35 +00:00
vfs_subr.c vfs: refactor vhold and vdrop 2019-12-10 00:08:05 +00:00
vfs_syscalls.c Add kern_sync(9), and make kernel code call it instead of going 2019-12-12 18:45:31 +00:00
vfs_vnops.c vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
vnode_if.src vfs: add VOP_NEED_INACTIVE 2019-08-28 20:34:24 +00:00