freebsd-skq/sys/kern
Hans Petter Selasky 3da1cf1e88 Extend the meaning of the CTLFLAG_TUN flag to automatically check if
there is an environment variable which shall initialize the SYSCTL
during early boot. This works for all SYSCTL types both statically and
dynamically created ones, except for the SYSCTL NODE type and SYSCTLs
which belong to VNETs. A new flag, CTLFLAG_NOFETCH, has been added to
be used in the case a tunable sysctl has a custom initialisation
function allowing the sysctl to still be marked as a tunable. The
kernel SYSCTL API is mostly the same, with a few exceptions for some
special operations like iterating childrens of a static/extern SYSCTL
node. This operation should probably be made into a factored out
common macro, hence some device drivers use this. The reason for
changing the SYSCTL API was the need for a SYSCTL parent OID pointer
and not only the SYSCTL parent OID list pointer in order to quickly
generate the sysctl path. The motivation behind this patch is to avoid
parameter loading cludges inside the OFED driver subsystem. Instead of
adding special code to the OFED driver subsystem to post-load tunables
into dynamically created sysctls, we generalize this in the kernel.

Other changes:
- Corrected a possibly incorrect sysctl name from "hw.cbb.intr_mask"
to "hw.pcic.intr_mask".
- Removed redundant TUNABLE statements throughout the kernel.
- Some minor code rewrites in connection to removing not needed
TUNABLE statements.
- Added a missing SYSCTL_DECL().
- Wrapped two very long lines.
- Avoid malloc()/free() inside sysctl string handling, in case it is
called to initialize a sysctl from a tunable, hence malloc()/free() is
not ready when sysctls from the sysctl dataset are registered.
- Bumped FreeBSD version to indicate SYSCTL API change.

MFC after:	2 weeks
Sponsored by:	Mellanox Technologies
2014-06-27 16:33:43 +00:00
..
bus_if.m Add a BUS_CHILD_DELETED() method that a bus can hook to allow it to cleanup 2012-08-21 18:13:09 +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 Revert r239178 and implement two new functions, namely 2012-08-15 15:42:57 +00:00
genassym.sh
imgact_aout.c Cosmetics: define FREEBSD32_MINUSER and AOUT32_MINUSER for struct 2012-07-22 13:41:45 +00:00
imgact_binmisc.c sys/kern/imgact_binmisc.c -- free the right pointer mask vs magic 2014-04-08 22:12:01 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +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
inflate.c
init_main.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
init_sysent.c Regen per r263318. 2014-03-18 21:34:11 +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 Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +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 Rework the EARLY_PRINTF mechanism. Instead of defining a special eprintf() 2014-02-12 00:53:38 +00:00
kern_context.c
kern_cpu.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_cpuset.c Permit changing cpu mask for cpu set 1 in presence of drivers 2014-06-22 11:32:23 +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 Tidy up fd-related functions called by do_execve 2014-06-23 01:28:18 +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 Make getenv_*() functions and respectively TUNABLE_*_FETCH() macros not 2013-11-01 10:32:33 +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 Hide internal details of sbintime_t implementation wrapping INT64_MAX into 2014-04-12 23:29:29 +00:00
kern_exec.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_exit.c Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
kern_fail.c
kern_ffclock.c
kern_fork.c The fasttrap fork handler is responsible for removing tracepoints in the 2013-12-18 01:41:52 +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 Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_jail.c Remove AppleTalk support. 2014-03-14 06:29:43 +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 Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_ktrace.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_linker.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_lock.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
kern_lockf.c
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 Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_mbuf.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_mib.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_module.c Fix a typo. 2012-08-22 20:01:57 +00:00
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 Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_osd.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +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 Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_poll.c Introduce a procedural interface to the ifnet structure. The new 2014-06-02 17:54:39 +00:00
kern_priv.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_proc.c Expose OBJT_MGTDEVICE VM objects used for GEM/TTM with drm2 as an 2014-02-11 21:57:37 +00:00
kern_prot.c Style fix 2012-11-14 10:33:12 +00:00
kern_racct.c dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE 2013-11-26 08:46:27 +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: avoid unnecessary copying of rlimits 2013-12-13 20:54:45 +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 Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_sig.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +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 use saner calculations in should_yield 2013-11-26 14:00:50 +00:00
kern_syscalls.c
kern_sysctl.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_tc.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_thr.c Stop treating td_sigmask specially for the purposes of new thread 2012-05-26 20:03:47 +00:00
kern_thread.c dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE 2013-11-26 08:46:27 +00:00
kern_time.c Fix VIRTUAL and PROF interval timers for short intervals, broken at r247903. 2014-04-16 18:37:46 +00:00
kern_timeout.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
kern_umtx.c Fix comments. 2014-03-19 12:45:40 +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 sched_rr_interval() seems always returned period in hz ticks, but same 2012-08-10 18:19:57 +00:00
link_elf_obj.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
link_elf.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
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 Given that as of r258002 the last external user is gone, make sched_lock 2014-04-29 20:51:57 +00:00
sched_ule.c Remove write-only local variable. 2014-06-08 10:56:25 +00:00
serdev_if.m
stack_protector.c
subr_acl_nfs4.c Fix bug where NFSv4 ACL enforcement code wouldn't unconditionally 2012-04-17 14:54:00 +00:00
subr_acl_posix1e.c Add module load/unload stubs. 2012-03-13 20:27:48 +00:00
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 Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +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 change defaule permissions on /dev/devstat. while i'm here remove 2014-03-24 18:13:41 +00:00
subr_disk.c
subr_dummy_vdso_tc.c Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
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 Correct sizeof usage 2012-06-25 05:41:16 +00:00
subr_hash.c Convert panic()s to KASSERT()s. This is an optimisation for 2012-01-23 16:31:46 +00:00
subr_hints.c Preserve one character space for a trailing '\0'. 2014-02-14 20:54:03 +00:00
subr_kdb.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +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 Give (*ext_free) an int return value allowing for very sophisticated 2013-08-25 10:57:09 +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 Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
subr_param.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33: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 Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
subr_prof.c
subr_rman.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
subr_rtc.c
subr_sbuf.c Always request zeroed memory, in case we're dumb enough to leak it later. 2013-09-22 23:47:56 +00:00
subr_scanf.c Xen netback driver rewrite. 2012-01-26 16:35:09 +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 Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +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 Pin the right thread. 2014-06-01 04:11:05 +00:00
subr_terminal.c Do not fill screen, while muted. 2014-04-07 22:37:13 +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 Remove zero-copy sockets code. It only worked for anonymous memory, 2013-09-16 06:25:54 +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 Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
sys_capability.c Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
sys_generic.c fd: replace fd_nfiles with fd_lastfile where appropriate 2014-06-22 01:31:55 +00:00
sys_pipe.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
sys_procdesc.c Implement kqueue(2) for procdesc(4). 2014-04-07 18:10:49 +00:00
sys_process.c Extend the support for exempting processes from being killed when swap is 2013-09-19 18:53:42 +00:00
sys_socket.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
syscalls.c Regen per r263318. 2014-03-18 21:34:11 +00:00
syscalls.master Remove dead code from umtx support: 2014-03-18 21:32:03 +00:00
systrace_args.c Regen per r263318. 2014-03-18 21:34:11 +00:00
sysv_ipc.c
sysv_msg.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
sysv_sem.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
sysv_shm.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
tty_compat.c
tty_info.c Fix whitespace inconsistencies in TTY code. 2012-02-06 18:15:46 +00:00
tty_inq.c Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
tty_outq.c
tty_pts.c Make sendfile() a method in the struct fileops. Currently only 2013-08-15 07:54:31 +00:00
tty_tty.c
tty_ttydisc.c Correct SIGTTIN handling. 2012-10-25 09:05:21 +00:00
tty.c Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
uipc_accf.c
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 Whitespace only. 2014-05-30 08:22:58 +00:00
uipc_mqueue.c Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
uipc_sem.c Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
uipc_shm.c Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
uipc_sockbuf.c Fix PR kern/185813 "SOCK_SEQPACKET AF_UNIX sockets with asymmetrical 2014-03-06 20:24:15 +00:00
uipc_socket.c Simplify wait/nowait code, eventually killing last remnant of 2014-01-16 13:45:41 +00:00
uipc_syscalls.c - Modify vm_page_unwire() and vm_page_enqueue() to directly accept 2014-06-16 18:15:27 +00:00
uipc_usrreq.c Check lower bound of cmsg_len. 2014-06-27 05:04:36 +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 Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
vfs_bio.c - Modify vm_page_unwire() and vm_page_enqueue() to directly accept 2014-06-16 18:15:27 +00:00
vfs_cache.c Fix accounting for the negative cache entries when reusing v_cache_dd. 2013-12-27 17:09:59 +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 - Convert the bufobj lock to rwlock. 2013-05-31 00:43: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 Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
vfs_lookup.c Extend the meaning of the CTLFLAG_TUN flag to automatically check if 2014-06-27 16:33:43 +00:00
vfs_mount.c Use proper MFSNAMELEN for fs type. 2014-04-12 21:39:17 +00:00
vfs_mountroot.c Move root_mount_hold() functionality to separate mutex. 2014-06-11 08:14:08 +00:00
vfs_subr.c Implement simple direct-mapped cache for popular filesystem identifiers to 2014-06-12 12:43:48 +00:00
vfs_syscalls.c fd: replace fd_nfiles with fd_lastfile where appropriate 2014-06-22 01:31:55 +00:00
vfs_vnops.c In msdosfs_setattr(), add a check for result of the utimes(2) 2014-06-17 07:11:00 +00:00
vnode_if.src If filesystem declares that it supports shared locking for writes, use 2013-11-09 20:36:29 +00:00