1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-25 11:37:56 +00:00
freebsd/sys/kern
Mateusz Guzik e015b1ab0a Avoid dynamic syscall overhead for statically compiled modules.
The kernel tracks syscall users so that modules can safely unregister them.

But if the module is not unloadable or was compiled into the kernel, there is
no need to do this.

Achieve this by adding SY_THR_STATIC_KLD macro which expands to SY_THR_STATIC
during kernel build and 0 otherwise.

Reviewed by:	kib (previous version)
MFC after:	2 weeks
2014-10-26 19:42:44 +00:00
..
bus_if.m Add a bus method to fetch the VM domain for the given device/bus. 2014-10-09 05:33:25 +00:00
capabilities.conf Allow sigwait(2) in capabilities mode. 2014-01-28 01:49:49 +00:00
clock_if.m
cpufreq_if.m
device_if.m
genassym.sh
imgact_aout.c
imgact_binmisc.c Allow multiple image activators to run on the same execution by changing 2014-09-04 21:31:25 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Fixes for i/o during coredumping: 2014-10-04 18:35:00 +00:00
imgact_gzip.c Add a mmap flag (MAP_32BIT) on 64-bit platforms to request that a mapping use 2013-09-09 18:11:59 +00:00
imgact_shell.c Allow multiple image activators to run on the same execution by changing 2014-09-04 21:31:25 +00:00
inflate.c
init_main.c Follow up to r225617. In order to maximize the re-usability of kernel code 2014-10-16 18:04:43 +00:00
init_sysent.c Regenerate after r272823: 2014-10-09 15:19:35 +00:00
kern_acct.c acct: create a special plimit object and set it for exiting processes 2013-06-30 19:08:06 +00:00
kern_alq.c Prevent alq from panic when the invalid alq_file path specified. 2014-04-05 16:54:47 +00:00
kern_clock.c dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE 2013-11-26 08:46:27 +00:00
kern_clocksource.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_condvar.c Fix lc_lock/lc_unlock() support for rmlocks held in shared mode. With 2013-09-20 23:06:21 +00:00
kern_conf.c Remove global device lock acquisition from dev_relthread(), replacing it 2013-10-22 10:40:26 +00:00
kern_cons.c Convert from timeout(9) to callout(9). 2014-09-22 14:27:26 +00:00
kern_context.c
kern_cpu.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_cpuset.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
kern_ctf.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_descrip.c filedesc assert that table size is at least 3 in fdsetugidsafety 2014-10-22 08:56:57 +00:00
kern_dtrace.c Commit the rest of the changes that were intended to be part of r266826. 2014-05-29 01:42:22 +00:00
kern_environment.c Test if 'env' is NULL before doing memset() and strlen(), 2014-10-23 18:23:50 +00:00
kern_et.c Fix build breakage. Apparently all ARM configs build kern_et.c, but only a 2014-04-02 17:34:17 +00:00
kern_event.c Make kevent(2) periodic timer events more reliably periodic. The event 2014-10-04 15:59:15 +00:00
kern_exec.c filedesc: cleanup setugidsafety a little 2014-10-22 00:23:43 +00:00
kern_exit.c Avoid unnecessary ppeers_lock acquisition in exit1. 2014-10-05 07:21:41 +00:00
kern_fail.c
kern_ffclock.c
kern_fork.c Make fdunshare accept only td parameter. 2014-06-28 05:41:53 +00:00
kern_gzio.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_hhook.c Move hhook's per-vnet initialisation to an earlier SYSINIT SI_SUB stage to 2013-06-15 10:08:34 +00:00
kern_idle.c
kern_intr.c Convert a missed u_char cpu -> int cpu. 2014-10-19 04:38:02 +00:00
kern_jail.c Avoid unlocking unlocked mutex in RCTL jail code. Specific test case 2014-09-09 16:05:33 +00:00
kern_khelp.c Cleanup and simplification in khelp_{register|deregister}_helper(). No 2013-06-15 06:45:17 +00:00
kern_kthread.c Do not use potentially stale thread in kthread_add() 2013-08-17 17:02:43 +00:00
kern_ktr.c Drop KTR records when we're in the debugger so that the debugger isn't 2014-07-02 22:13:07 +00:00
kern_ktrace.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_linker.c Take the lock shared in linker_search_symbol_name. 2014-10-21 21:29:20 +00:00
kern_lock.c Add function and wrapper to switch lockmgr and vnode lock back to 2014-08-29 09:02:01 +00:00
kern_lockf.c Correct the problem reported by test16 from 2014-07-08 08:10:15 +00:00
kern_lockstat.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
kern_loginclass.c Initialize loginclass mutex using MTX_SYSINIT instead of using SI_SUB_CPU. 2014-05-14 09:03:02 +00:00
kern_malloc.c svn revisions r269964 and r269963 seemed to have impaired small memory 2014-09-22 05:07:22 +00:00
kern_mbuf.c Test for absence of M_NOFREE before attempting to purge the mbuf's tags. 2014-09-30 23:16:26 +00:00
kern_mib.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
kern_module.c
kern_mtxpool.c Garbage collect mtxpool_lockbuilder, the mutex pool historically used 2014-05-02 07:57:40 +00:00
kern_mutex.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
kern_ntptime.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_osd.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_physio.c Fix some issues in change 254760 pointed out by Bruce Evans: 2013-08-29 16:41:40 +00:00
kern_pmc.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_poll.c - Remove empty wrappers ether_poll_[de]register_drv(). [1] 2014-09-28 14:05:18 +00:00
kern_priv.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_proc.c Update the ULE scheduler + thread and kinfo structs to use int for cpuid 2014-10-18 19:36:11 +00:00
kern_prot.c Fix up an assertion in kern_setgroups, it should compare with ngroups_max + 1 2014-10-26 14:25:42 +00:00
kern_racct.c Convert racct stubs to inline functions. 2014-10-06 02:31:33 +00:00
kern_rangelock.c Change the queue of locks in kern_rangelock.c from holding lock requests in 2013-08-15 20:19:17 +00:00
kern_rctl.c Add CPU percentage limit enforcement to RCTL. The resouce name is "pcpu". 2012-10-26 16:01:08 +00:00
kern_resource.c rlimit: plug duplicate assertion 2014-10-25 05:56:21 +00:00
kern_rmlock.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
kern_rwlock.c Drop the 3rd clause from all 3 clause BSD licenses where I am the sole 2014-02-05 18:13:27 +00:00
kern_sdt.c Print a backtrace if the SDT(9) stub gets called so that there's at least 2014-02-22 01:41:45 +00:00
kern_sema.c
kern_sharedpage.c Remove the deprecated VM_ALLOC_RETRY flag for the vm_page_grab(9). 2013-08-22 07:39:53 +00:00
kern_shutdown.c Add error return to dumpsys(), and use it in doadump(). 2014-07-25 23:52:53 +00:00
kern_sig.c Fixes for i/o during coredumping: 2014-10-04 18:35:00 +00:00
kern_switch.c Add a comment on why inlining critical_enter() may not be a good idea 2012-12-09 04:54:22 +00:00
kern_sx.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
kern_synch.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
kern_syscalls.c Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
kern_sysctl.c Now that sysctl_root is only called with sysctl lock in shared mode, update 2014-10-26 01:47:55 +00:00
kern_tc.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_thr.c
kern_thread.c Style. 2014-09-03 08:40:16 +00:00
kern_time.c Split up sys_ktimer_getoverrun() into a sys_ and a kern_ variant 2014-08-07 16:49:50 +00:00
kern_timeout.c Add schedgraph traces for callout handlers. Specifically, a callwheel logs 2014-10-08 16:22:59 +00:00
kern_umtx.c Use correct type in __DEVOLATILE(). 2014-10-25 20:42:47 +00:00
kern_uuid.c Fix a bug in be_uuid_dec(); it called le16dec() instead of be16dec(), 2014-02-13 22:24:36 +00:00
kern_xxx.c
ksched.c
link_elf_obj.c Fully support constructors for the purpose of code coverage analysis. 2014-10-20 17:04:03 +00:00
link_elf.c Fully support constructors for the purpose of code coverage analysis. 2014-10-20 17:04:03 +00:00
linker_if.m
Make.tags.inc Remove AppleTalk support. 2014-03-14 06:29:43 +00:00
Makefile
makesyscalls.sh Fix syscalls that can be loaded as kernel modules - they were not given 2013-12-15 23:19:42 +00:00
md4c.c
md5c.c
p1003_1b.c
posix4_mib.c
sched_4bsd.c Restore pre-r239157 handling of sched_yield(), when thread time slice was 2014-08-23 17:31:56 +00:00
sched_ule.c Update the ULE scheduler + thread and kinfo structs to use int for cpuid 2014-10-18 19:36:11 +00:00
serdev_if.m
stack_protector.c
subr_acl_nfs4.c
subr_acl_posix1e.c
subr_autoconf.c
subr_blist.c Remove reference to the rlist code from comments, and fix a typo visible 2013-02-05 20:08:33 +00:00
subr_bufring.c
subr_bus_dma.c Add bus_dmamap_load_ma() function to load map with the array of 2013-10-27 21:39:16 +00:00
subr_bus.c Add a bus method to fetch the VM domain for the given device/bus. 2014-10-09 05:33:25 +00:00
subr_busdma_bufalloc.c Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00
subr_capability.c Remove duplicated includes. 2014-06-26 13:57:44 +00:00
subr_clock.c Fix a 2038 bug. 2014-05-01 22:28:14 +00:00
subr_counter.c Create two public UMA_ZONE_PCPU zones: 64 bit sized and pointer sized. 2014-02-10 19:59:46 +00:00
subr_devstat.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
subr_disk.c
subr_dummy_vdso_tc.c
subr_eventhandler.c
subr_fattime.c Fix a comment typo; conversion tables are for leap years, not leap seconds. 2014-04-20 13:37:22 +00:00
subr_firmware.c
subr_hash.c
subr_hints.c Follow up to r225617. In order to maximize the re-usability of kernel code 2014-10-16 18:04:43 +00:00
subr_kdb.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
subr_kobj.c
subr_lock.c Drop the 3rd clause from all 3 clause BSD licenses where I am the sole 2014-02-05 18:13:27 +00:00
subr_log.c MFcalloutng (r244255 by mav, with minor changes): 2013-03-04 16:07:55 +00:00
subr_mbpool.c All mbuf external free functions never fail, so let them be void. 2014-07-11 13:58:48 +00:00
subr_mchain.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
subr_module.c
subr_msgbuf.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
subr_param.c Follow up to r225617. In order to maximize the re-usability of kernel code 2014-10-16 18:04:43 +00:00
subr_pcpu.c Create two public UMA_ZONE_PCPU zones: 64 bit sized and pointer sized. 2014-02-10 19:59:46 +00:00
subr_pctrie.c - Add a new general purpose path-compressed radix trie which can be used 2013-05-12 04:05:01 +00:00
subr_power.c
subr_prf.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
subr_prof.c Fully support constructors for the purpose of code coverage analysis. 2014-10-20 17:04:03 +00:00
subr_rman.c Nuke the never-used RF_TIMESHARE feature, reducing the complexity of the 2014-07-16 22:18:19 +00:00
subr_rtc.c
subr_sbuf.c Unbreak the ABI by reverting r268494 until the compat shims are provided 2014-07-28 07:20:22 +00:00
subr_scanf.c
subr_sfbuf.c Move KASSERT into locked region. 2014-08-11 15:06:07 +00:00
subr_sglist.c Add sglist_append_bio(9) to append a struct bio's data to a sglist 2014-01-13 04:41:08 +00:00
subr_sleepqueue.c sysctl subsystem uses sxlocks so avoid to setup dynamic sysctl nodes 2014-06-24 15:16:55 +00:00
subr_smp.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
subr_stack.c
subr_syscall.c Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
subr_taskqueue.c Temporary revert r269661, it looks like the patch isn't complete. 2014-08-07 14:32:28 +00:00
subr_terminal.c vt(4): Add cngrab() and cnungrab() callbacks 2014-08-27 10:04:10 +00:00
subr_trap.c Fix two issues with /dev/mem access on amd64, both causing kernel page 2014-03-21 14:25:09 +00:00
subr_turnstile.c dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE 2013-11-26 08:46:27 +00:00
subr_uio.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
subr_unit.c Move the definition of the struct unrhdr into a separate header file, 2013-08-30 07:37:45 +00:00
subr_vmem.c Do not set M_BESTFIT if a strategy has already been provided. This 2014-04-16 21:39:43 +00:00
subr_witness.c Fix a typo from r189544, which replaced unp_global_rwlock with unp_list_lock 2014-10-20 20:21:40 +00:00
sys_capability.c Prepare fget_unlocked for reading fd table only once. 2014-07-23 19:33:49 +00:00
sys_generic.c In selfdfree re-evaulate sf_si after takin the lock. 2014-10-23 19:06:08 +00:00
sys_pipe.c Add a new fo_fill_kinfo fileops method to add type-specific information to 2014-09-22 16:20:47 +00:00
sys_procdesc.c Add a new fo_fill_kinfo fileops method to add type-specific information to 2014-09-22 16:20:47 +00:00
sys_process.c Plug unnecessary PRS_NEW check in kern_procctl. 2014-10-22 04:16:09 +00:00
sys_socket.c Add a new fo_fill_kinfo fileops method to add type-specific information to 2014-09-22 16:20:47 +00:00
syscalls.c Regenerate after r272823: 2014-10-09 15:19:35 +00:00
syscalls.master Move the SCTP syscalls to netinet with the rest of the SCTP code. The 2014-10-09 15:16:52 +00:00
systrace_args.c Regen per r263318. 2014-03-18 21:34:11 +00:00
sysv_ipc.c
sysv_msg.c Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
sysv_sem.c Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
sysv_shm.c Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
tty_compat.c
tty_info.c
tty_inq.c
tty_outq.c
tty_pts.c Implement FIODTYPE for master ptys. 2014-10-15 12:38:26 +00:00
tty_tty.c
tty_ttydisc.c Correct SIGTTIN handling. 2012-10-25 09:05:21 +00:00
tty.c Fix draining in ttydev_leave(): 2014-10-09 02:30:38 +00:00
uipc_accf.c The accept filter code is not specific to the FreeBSD IPv4 network stack, 2014-07-26 19:27:34 +00:00
uipc_debug.c Fix socket buffer timeouts precision using the new sbintime_t KPI instead 2013-09-01 23:34:53 +00:00
uipc_domain.c - Implement two new system calls: 2013-03-02 21:11:30 +00:00
uipc_mbuf2.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
uipc_mbuf.c Change a very strange code in m_demote() to simple assertion. 2014-09-04 19:27:30 +00:00
uipc_mqueue.c Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
uipc_sem.c Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
uipc_shm.c Add a new fo_fill_kinfo fileops method to add type-specific information to 2014-09-22 16:20:47 +00:00
uipc_sockbuf.c Improve transmit sending offload, TSO, algorithm in general. 2014-09-22 08:27:27 +00:00
uipc_socket.c - Make hhook_run_socket() vnet-aware instead of adding CURVNET_SET() around 2014-09-08 09:04:22 +00:00
uipc_syscalls.c Move the SCTP syscalls to netinet with the rest of the SCTP code. The 2014-10-09 15:16:52 +00:00
uipc_usrreq.c Partial revert of r262867. 2014-08-03 22:37:21 +00:00
vfs_acl.c Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
vfs_aio.c Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
vfs_bio.c Revert somewhat hackish geom_disk optimization, committed as part of r256880, 2014-10-25 15:16:19 +00:00
vfs_cache.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
vfs_cluster.c When allocating a pbuf for the cluster write, do not sleep waiting 2013-08-27 01:31:12 +00:00
vfs_default.c Remove unused arguments for VOP_GETPAGES(), VOP_PUTPAGES(). 2014-09-10 12:36:41 +00:00
vfs_export.c Further refine the handling of stop signals in the NFS client. The 2013-02-21 19:02:50 +00:00
vfs_extattr.c Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
vfs_hash.c Add exported vfs_hash_index() function, which calculates the canonical 2013-01-14 05:41:40 +00:00
vfs_init.c Rename sysctl_lock and _unlock to sysctl_xlock and _xunlock. 2014-10-21 19:02:26 +00:00
vfs_lookup.c Plug a memory leak in case of failed lookups in capability mode. 2014-08-24 12:51:12 +00:00
vfs_mount.c Bring in the new automounter, similar to what's provided in most other 2014-08-17 09:44:42 +00:00
vfs_mountroot.c Follow up to r225617. In order to maximize the re-usability of kernel code 2014-10-16 18:04:43 +00:00
vfs_subr.c Don't take devmtx unnecessarily in vn_isdisk. 2014-10-15 05:17:36 +00:00
vfs_syscalls.c Reduce nesting in vn_access. 2014-10-22 01:53:00 +00:00
vfs_vnops.c Provide vfs suspension support only for filesystems which need it, take 2014-10-20 18:00:50 +00:00
vnode_if.src Remove unused arguments for VOP_GETPAGES(), VOP_PUTPAGES(). 2014-09-10 12:36:41 +00:00