freebsd-dev/sys/kern
Hans Petter Selasky 0d0053d7ed Micro optimise _callout_stop_safe() by removing dead code.
The CS_DRAIN flag cannot be set at the same time like the async-drain function
pointer is set. These are orthogonal features. Assert this at the beginning
of the function.

Before:
        if (flags & CS_DRAIN) {
                /* FALLTHROUGH */
        } else if (xxx) {
                return yyy;
        }
        if (drain) {
                zzz = drain;
        }
After:
        if (flags & CS_DRAIN) {
                /* FALLTHROUGH */
        } else if (xxx) {
                return yyy;
        } else {
                if (drain) {
                        zzz = drain;
                }
        }

Reviewed by:	markj@
Tested by:	callout_test
Differential Revision:	https://reviews.freebsd.org/D26285
MFC after:	1 week
Sponsored by:	Mellanox Technologies // NVIDIA Networking
2020-09-02 09:44:00 +00:00
..
bus_if.m Remove trailing white space. 2020-02-26 16:22:28 +00:00
capabilities.conf Permit cpuset_(get|set)domain() in capability mode. 2020-07-06 16:34:29 +00:00
clock_if.m
cpufreq_if.m
device_if.m
genassym.sh
genoffset.c
genoffset.sh
imgact_aout.c Make ps_strings in struct image_params into a pointer. 2020-04-15 20:21:30 +00:00
imgact_binmisc.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
imgact_shell.c
init_main.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
init_sysent.c Regenerate. 2020-07-06 16:34:49 +00:00
kern_acct.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_alq.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_clock.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_clocksource.c
kern_condvar.c
kern_conf.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_cons.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_context.c
kern_cpu.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_cpuset.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_ctf.c
kern_descrip.c fd: pwd_drop after releasing filedesc lock 2020-08-22 16:57:45 +00:00
kern_dtrace.c
kern_dump.c - Cleanups related to sparc64 removal. 2020-07-28 10:58:37 +00:00
kern_environment.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_et.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_event.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_exec.c cache: drop the always curthread argument from reverse lookup routines 2020-08-24 08:57:02 +00:00
kern_exit.c Fix several issues with process group orphanage. 2020-08-22 21:32:11 +00:00
kern_fail.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_ffclock.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_fork.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_hhook.c
kern_idle.c
kern_intr.c Allow swi_sched() to be called from NMI context. 2020-07-25 15:19:38 +00:00
kern_jail.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_kcov.c Mark COVERAGE and KCOV as part of KCSAN 2020-08-19 14:11:25 +00:00
kern_khelp.c
kern_kthread.c Do a lockless check in kthread_suspend_check 2020-07-25 07:14:33 +00:00
kern_ktr.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_ktrace.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_linker.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_lock.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_lockf.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_lockstat.c
kern_loginclass.c
kern_malloc.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_mbuf.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_mib.c Improve comment for compat32 handling of sysctl hw.pagesizes. 2020-05-15 13:53:10 +00:00
kern_module.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_mtxpool.c
kern_mutex.c mtx: add mtx_wait_unlocked 2020-08-04 23:00:00 +00:00
kern_ntptime.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_osd.c
kern_physio.c
kern_pmc.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_poll.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_priv.c vfs: respect PRIV_VFS_LOOKUP in vaccess_smr 2020-08-25 14:18:50 +00:00
kern_proc.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_procctl.c correct procctl(PROC_PROTMAX_STATUS _NOFORCE return 2020-05-01 14:30:59 +00:00
kern_prot.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_racct.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_rangelock.c
kern_rctl.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_resource.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_rmlock.c rms: fix typo: bitmamp -> bitmap 2020-08-04 20:31:03 +00:00
kern_rwlock.c locks: fix a long standing bug for primitives with kdtrace but without spinning 2020-07-23 17:26:53 +00:00
kern_sdt.c
kern_sema.c
kern_sendfile.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_sharedpage.c kern_sharedpage.c: Add exec_sysvec_init_secondary() helper. 2020-08-23 19:43:47 +00:00
kern_shutdown.c Fix writing of the final block of encrypted, compressed kernel dumps. 2020-08-27 17:36:06 +00:00
kern_sig.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_switch.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_sx.c locks: fix a long standing bug for primitives with kdtrace but without spinning 2020-07-23 17:26:53 +00:00
kern_synch.c Handle PCATCH in blockcount_sleep() so it can be interrupted. 2020-04-21 17:13:06 +00:00
kern_syscalls.c
kern_sysctl.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_tc.c Remove double-calls to tc_get_timecount() to warm timecounters. 2020-06-10 22:30:32 +00:00
kern_thr.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_thread.c cred: add more asserts for td_realucred == td_ucred 2020-08-01 16:02:32 +00:00
kern_time.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_timeout.c Micro optimise _callout_stop_safe() by removing dead code. 2020-09-02 09:44:00 +00:00
kern_tslog.c
kern_ubsan.c
kern_umtx.c sys/: Document few more sysctls. 2020-03-02 15:30:52 +00:00
kern_uuid.c validate_uuid: absorb the rest of parse_uuid with a flags arg 2020-04-15 18:39:12 +00:00
kern_xxx.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
ksched.c
link_elf_obj.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
link_elf.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
linker_if.m
Make.tags.inc
Makefile sys/kern sysent: re-add dependency on capabilities.conf 2020-02-12 19:06:34 +00:00
makesyscalls.sh makesyscalls.sh: improve the 'this is going away' message 2020-07-28 01:05:40 +00:00
md4c.c
md5c.c
msi_if.m
p1003_1b.c
pic_if.m
posix4_mib.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
sched_4bsd.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
sched_ule.c sys/: Document few more sysctls. 2020-03-02 15:30:52 +00:00
serdev_if.m
stack_protector.c
subr_acl_nfs4.c vfs: remove the obsolete privused argument from vaccess 2020-08-05 09:27:03 +00:00
subr_acl_posix1e.c vfs: remove the obsolete privused argument from vaccess 2020-08-05 09:27:03 +00:00
subr_atomic64.c
subr_autoconf.c
subr_blist.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_boot.c
subr_bufring.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_bus_dma.c crypto(9): add CRYPTO_BUF_VMPAGE 2020-08-26 02:37:42 +00:00
subr_bus.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_busdma_bufalloc.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_capability.c Remove unused SYSINIT macros for capability rights. 2020-03-26 15:02:37 +00:00
subr_clock.c
subr_compressor.c clamp kernel dump compression level when using gzip 2020-02-20 23:53:48 +00:00
subr_counter.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_coverage.c Mark COVERAGE and KCOV as part of KCSAN 2020-08-19 14:11:25 +00:00
subr_csan.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_devmap.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_devstat.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_disk.c
subr_dummy_vdso_tc.c
subr_early.c
subr_epoch.c Add full support support for dynamic allocation and freeing of epoch's. 2020-08-07 15:32:42 +00:00
subr_eventhandler.c
subr_fattime.c
subr_filter.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_firmware.c Fix a panic when unloading firmware 2020-06-29 21:35:50 +00:00
subr_gtaskqueue.c Remove the "config" taskqgroup and its KPIs. 2020-03-30 14:24:03 +00:00
subr_hash.c
subr_hints.c
subr_intr.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_kdb.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_kobj.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_lock.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_log.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_mchain.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_module.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_msgbuf.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_param.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_pcpu.c Add COUNTER_U64_SYSINIT() and COUNTER_U64_DEFINE_EARLY(). 2020-03-06 19:09:01 +00:00
subr_pctrie.c Use SMR to provide safe unlocked lookup for pctries from SMR zones 2020-07-24 17:32:10 +00:00
subr_physmem.c Convert arm's physmem interface to MI code 2020-04-19 00:12:30 +00:00
subr_pidctrl.c
subr_power.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_prf.c remove %n support from printf(9) 2020-05-09 15:56:02 +00:00
subr_prng.c Add prng(9) API 2020-08-13 20:48:14 +00:00
subr_prof.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_rangeset.c
subr_rman.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_rtc.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_sbuf.c
subr_scanf.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_sfbuf.c
subr_sglist.c Step 4.2: start divorce of M_EXT and M_EXTPG 2020-05-03 00:37:16 +00:00
subr_sleepqueue.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_smp.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_smr.c Use COUNTER_U64_DEFINE_EARLY() in places where it simplifies things. 2020-03-06 19:10:00 +00:00
subr_stack.c kern.tty_info_kstacks: add a compact format 2020-07-06 16:33:28 +00:00
subr_stats.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_syscall.c Retire procfs-based process debugging. 2020-04-01 19:22:09 +00:00
subr_taskqueue.c Add flag to struct task to mark the task as requiring network epoch. 2020-02-11 18:48:07 +00:00
subr_terminal.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_trap.c Retire procfs-based process debugging. 2020-04-01 19:22:09 +00:00
subr_turnstile.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_uio.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_unit.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_vmem.c vmem: Avoid allocating span tags when segments are never released. 2020-08-26 14:31:35 +00:00
subr_witness.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
sys_capability.c Enter a write sequence when updating rights. 2020-03-19 15:39:45 +00:00
sys_generic.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
sys_getrandom.c
sys_pipe.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
sys_procdesc.c
sys_process.c cache: drop the always curthread argument from reverse lookup routines 2020-08-24 08:57:02 +00:00
sys_socket.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
syscalls.c Update the files created from the new syscalls.master from r361599. 2020-05-28 21:23:02 +00:00
syscalls.master Add a syscall for the nfs-over-tls daemons to use. 2020-05-28 21:06:10 +00:00
systrace_args.c Update the files created from the new syscalls.master from r361599. 2020-05-28 21:23:02 +00:00
sysv_ipc.c
sysv_msg.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
sysv_sem.c Apply the logic from r363051 to semctl(2) and __sem_base field. 2020-07-09 18:34:54 +00:00
sysv_shm.c Centralize compatability translation macros. 2020-04-14 20:30:48 +00:00
tty_compat.c
tty_info.c kern.tty_info_kstacks: set compact format as default 2020-07-06 16:34:15 +00:00
tty_inq.c
tty_outq.c
tty_pts.c
tty_tty.c
tty_ttydisc.c Implement FLUSHO 2020-08-27 05:11:15 +00:00
tty.c Implement FLUSHO 2020-08-27 05:11:15 +00:00
uipc_accf.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
uipc_debug.c
uipc_domain.c
uipc_ktls.c Add support for KTLS RX via software decryption. 2020-07-23 23:48:18 +00:00
uipc_mbuf2.c
uipc_mbuf.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
uipc_mbufhash.c
uipc_mqueue.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
uipc_sem.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
uipc_shm.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
uipc_sockbuf.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
uipc_socket.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
uipc_syscalls.c
uipc_usrreq.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
vfs_acl.c vfs: fix trivial whitespace issues which don't interefere with blame 2020-07-10 09:01:36 +00:00
vfs_aio.c vfs: drop the error parameter from vn_isdisk, introduce vn_isdisk_error 2020-08-19 02:51:17 +00:00
vfs_bio.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
vfs_cache.c cache: don't update timestmaps on found entry 2020-08-27 06:31:55 +00:00
vfs_cluster.c vfs: fix trivial whitespace issues which don't interefere with blame 2020-07-10 09:01:36 +00:00
vfs_default.c vfs: assert that VI_TEXT_REF is not already set 2020-08-16 18:45:31 +00:00
vfs_export.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
vfs_extattr.c vfs_extattr: Allow extattr names up to the full max 2020-05-14 03:01:23 +00:00
vfs_hash.c vfs hash: annotate the lock with __exclusive_cache_line 2020-08-05 19:34:13 +00:00
vfs_init.c vfs: fix trivial whitespace issues which don't interefere with blame 2020-07-10 09:01:36 +00:00
vfs_lookup.c Add a comment to clarify when and why cached names are deleted 2020-08-27 22:14:58 +00:00
vfs_mount.c Fix a "v_seqc_users == 0 not met" panic when VFS_STATFS() fails during mount. 2020-08-26 21:49:43 +00:00
vfs_mountroot.c vfs: fix trivial whitespace issues which don't interefere with blame 2020-07-10 09:01:36 +00:00
vfs_subr.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
vfs_syscalls.c devfs: rework si_usecount to track opens 2020-08-11 14:27:57 +00:00
vfs_vnops.c cache: drop the always curthread argument from reverse lookup routines 2020-08-24 08:57:02 +00:00
vnode_if.src vfs: remove the always-curthread td argument from VOP_RECLAIM 2020-08-19 07:28:01 +00:00