freebsd-skq/sys/kern
mav 5b5fc4e585 Add kern.eventtimer.activetick tunable/sysctl, specifying whether each
hardclock() tick should be run on every active CPU, or on only one.

On my tests, avoiding extra interrupts because of this on 8-CPU Core i7
system with HZ=10000 saves about 2% of performance. At this moment option
implemented only for global timers, as reprogramming per-CPU timers is
too expensive now to be compensated by this benefit, especially since we
still have to regularly run hardclock() on at least one active CPU to
update system uptime. For global timer it is quite trivial: timer runs
always, but we just skip IPIs to other CPUs when possible.

Option is enabled by default now, keeping previous behavior, as periodic
hardclock() calls are still used at least to implement setitimer(2) with
ITIMER_VIRTUAL and ITIMER_PROF arguments. But since default schedulers don't
depend on it since r232917, we are much more free to experiment with it.

MFC after:	1 month
2012-03-13 10:21:08 +00:00
..
bus_if.m Add a new bus method, BUS_ADJUST_RESOURCE() that is intended to be a 2011-04-29 21:36:45 +00:00
capabilities.conf Add experimental support for process descriptors 2011-08-18 22:51:30 +00:00
clock_if.m
cpufreq_if.m
device_if.m Update comments for DEVICE_PROBE() to reflect that BUS_PROBE_DEFAULT is 2011-05-24 13:22:40 +00:00
genassym.sh
imgact_aout.c Do not trash the argv[0] pointer for an a.out process on amd64. 2011-06-16 22:00:59 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c ELF image can have several PT_NOTE program headers. Look for the ELF 2012-03-11 19:38:49 +00:00
imgact_gzip.c Fix misuse of the kernel map in miscellaneous image activators. 2012-02-17 23:47:16 +00:00
imgact_shell.c The execution of the shebang script requires putting interpreter path, 2011-03-06 22:59:30 +00:00
inflate.c
init_main.c TDF_* flags should be used with td_flags field and TDP_* flags should be used 2012-01-22 11:01:36 +00:00
init_sysent.c - Add the ffclock_getcounter(), ffclock_getestimate() and ffclock_setestimate() 2011-11-21 01:26:10 +00:00
kern_acct.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
kern_alq.c
kern_clock.c Idle ticks optimization: 2012-03-10 14:57:21 +00:00
kern_clocksource.c Add kern.eventtimer.activetick tunable/sysctl, specifying whether each 2012-03-13 10:21:08 +00:00
kern_condvar.c
kern_conf.c Remove unneeded newline. It fits in 80 columns now. 2012-02-10 14:55:47 +00:00
kern_cons.c belatedly transfer copyrights from libkern/gets.c to kern_cons.c 2011-12-17 15:50:45 +00:00
kern_context.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
kern_cpu.c Revert r175376 and tune cpufreq(4) frequency comparison logic instead. 2012-03-10 18:56:16 +00:00
kern_cpuset.c Add a missing curly bracket 2011-12-05 10:34:52 +00:00
kern_ctf.c Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
kern_descrip.c Free up allocated memory used by posix_fadvise(2). 2012-03-08 20:34:13 +00:00
kern_dtrace.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
kern_environment.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
kern_et.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
kern_event.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
kern_exec.c Add a new sched_clear_name() method to the scheduler interface to clear 2012-03-08 19:41:05 +00:00
kern_exit.c Restore the return statement erronously removed in the r232048. 2012-02-24 11:02:35 +00:00
kern_fail.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
kern_ffclock.c Revise the sysctl handling code and restructure the hierarchy of sysctls 2011-12-01 07:19:13 +00:00
kern_fork.c Currently, the debugger attached to the process executing vfork() does 2012-02-27 21:10:10 +00:00
kern_gzio.c Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
kern_hhook.c Staticize malloc types. 2011-04-13 11:28:46 +00:00
kern_idle.c MFC 2011-05-31 21:22:44 +00:00
kern_intr.c Export intrcnt correctly when running under 32-bit compatibility. 2012-03-09 22:30:54 +00:00
kern_jail.c Make racct and rctl correctly handle jail renaming. Previously 2012-03-06 11:05:50 +00:00
kern_khelp.c Use the full and proper company name for Swinburne University of Technology 2011-04-12 08:13:18 +00:00
kern_kthread.c Add a new sched_clear_name() method to the scheduler interface to clear 2012-03-08 19:41:05 +00:00
kern_ktr.c Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
kern_ktrace.c Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
kern_linker.c Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
kern_lock.c Print out process name and thread id in the debugging message. 2012-03-05 14:19:43 +00:00
kern_lockf.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
kern_lockstat.c
kern_loginclass.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
kern_malloc.c - Change contigmalloc() to use the vm_paddr_t type instead of an unsigned 2012-03-01 19:58:34 +00:00
kern_mbuf.c
kern_mib.c Define two new sysctl node flags: CTLFLAG_CAPRD and CTLFLAG_CAPRW, which 2011-07-17 23:05:24 +00:00
kern_module.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
kern_mtxpool.c
kern_mutex.c panic: add a switch and infrastructure for stopping other CPUs in SMP case 2011-12-11 21:02:01 +00:00
kern_ntptime.c Introduce the sysclock_getsnapshot() and sysclock_snap2bintime() KPIs. The 2011-12-24 01:32:01 +00:00
kern_osd.c
kern_physio.c
kern_pmc.c Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
kern_poll.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
kern_priv.c
kern_proc.c Make kern.proc.umask sysctl readonly. 2012-03-03 11:53:35 +00:00
kern_prot.c Fix a typo. (s/nessesary/necessary/) 2012-01-08 18:48:36 +00:00
kern_racct.c Remove useless thread_{lock,unlock}() in raccd. 2012-03-10 14:38:49 +00:00
kern_rctl.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
kern_resource.c Change kern.proc.rlimit sysctl to: 2012-01-22 20:25:00 +00:00
kern_rmlock.c panic: add a switch and infrastructure for stopping other CPUs in SMP case 2011-12-11 21:02:01 +00:00
kern_rwlock.c panic: add a switch and infrastructure for stopping other CPUs in SMP case 2011-12-11 21:02:01 +00:00
kern_sdt.c
kern_sema.c
kern_shutdown.c Avoid to check the same cache line/variable from all the locking 2012-01-28 14:00:21 +00:00
kern_sig.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
kern_switch.c critical_exit: ignore td_owepreempt if kdb_active is set 2011-12-04 21:27:41 +00:00
kern_sx.c put sys/systm.h at its proper place or add it if missing 2011-12-12 10:05:13 +00:00
kern_synch.c panic: add a switch and infrastructure for stopping other CPUs in SMP case 2011-12-11 21:02:01 +00:00
kern_syscalls.c
kern_sysctl.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
kern_tc.c o) Add COMPAT_FREEBSD32 support for MIPS kernels using the n64 ABI with userlands 2012-03-03 08:19:18 +00:00
kern_thr.c Add a new sched_clear_name() method to the scheduler interface to clear 2012-03-08 19:41:05 +00:00
kern_thread.c Some small fixes to CPU accounting for threads: 2012-01-03 21:03:28 +00:00
kern_time.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
kern_timeout.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
kern_umtx.c initialize clock ID and flags only when copying timespec, a _umtx_time 2012-02-29 02:01:48 +00:00
kern_uuid.c Convert all users of IF_ADDR_LOCK to use new locking macros that specify 2012-01-05 19:00:36 +00:00
kern_xxx.c
ksched.c Use p4prio_to_tsprio to calculate TS priority instead of using 2011-06-07 02:50:14 +00:00
link_elf_obj.c Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
link_elf.c Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
linker_if.m
Make.tags.inc Update tags build script 2011-07-10 00:53:04 +00:00
Makefile Continue to introduce Capsicum Capability Mode support: 2011-03-01 13:28:27 +00:00
makesyscalls.sh - Add the ffclock_getcounter(), ffclock_getestimate() and ffclock_setestimate() 2011-11-21 01:26:10 +00:00
md4c.c
md5c.c
p1003_1b.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
posix4_mib.c Define two new sysctl node flags: CTLFLAG_CAPRD and CTLFLAG_CAPRW, which 2011-07-17 23:05:24 +00:00
sched_4bsd.c Add a new sched_clear_name() method to the scheduler interface to clear 2012-03-08 19:41:05 +00:00
sched_ule.c Rewrite thread CPU usage percentage math to not depend on periodic calls 2012-03-13 08:18:54 +00:00
serdev_if.m
stack_protector.c
subr_acl_nfs4.c Remove assertion against empty NFSv4 ACLs. An empty ACL is not exactly 2011-10-05 17:29:49 +00:00
subr_acl_posix1e.c
subr_autoconf.c Retire PCONFIG and leave the priority of thread0 alone when waiting for 2011-01-06 22:09:37 +00:00
subr_blist.c - Fix typos s/(more|less) then|\1 than/ 2011-12-03 15:41:37 +00:00
subr_bufring.c
subr_bus.c Properly clear a device's devclass if DEVICE_ATTACH() fails if the device 2012-02-28 19:16:02 +00:00
subr_clock.c Improve style and wording of comments and sysctl descriptions [1]. 2011-01-09 14:34:56 +00:00
subr_devstat.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
subr_disk.c
subr_eventhandler.c
subr_fattime.c
subr_firmware.c Do not increment the parent firmware's reference count when any other 2011-11-19 00:20:28 +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 Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
subr_kdb.c introduce cngrab/cnungrab stub calls in some places where they make sense 2011-12-17 15:11:22 +00:00
subr_kobj.c As it turns out, r186347 actually is insufficient to avoid the use of the 2011-11-15 20:11:03 +00:00
subr_lock.c panic: add a switch and infrastructure for stopping other CPUs in SMP case 2011-12-11 21:02:01 +00:00
subr_log.c Add kqueue support to /dev/klog. 2012-02-01 14:34:52 +00:00
subr_mbpool.c
subr_mchain.c - Use uint8_t for the variable x and spell the size of the variable 2012-02-06 06:03:16 +00:00
subr_module.c Provide convenience function for obtaining MODINFO_ADDR and MODINFO_SIZE 2011-02-09 19:08:21 +00:00
subr_msgbuf.c Add a timestamp to the msgbuf output in order to determine when when 2012-02-16 05:11:35 +00:00
subr_param.c Modestly increase the maximum allowed size of the kmem map on i386. 2011-03-23 16:38:29 +00:00
subr_pcpu.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
subr_power.c
subr_prf.c Fix double vision syndrome (read: double output) when in the 2011-10-16 14:16:46 +00:00
subr_prof.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
subr_rman.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
subr_rtc.c Core structure and functions to support a feed-forward clock within the kernel. 2011-11-19 14:10:16 +00:00
subr_sbuf.c r222015 introduced a new assertion that the size of a fixed-length sbuf 2011-08-19 08:29:10 +00:00
subr_scanf.c Xen netback driver rewrite. 2012-01-26 16:35:09 +00:00
subr_sglist.c
subr_sleepqueue.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
subr_smp.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
subr_stack.c Constify stack argument for functions that don't modify it. 2011-11-16 19:06:55 +00:00
subr_syscall.c Currently, the debugger attached to the process executing vfork() does 2012-02-27 21:10:10 +00:00
subr_taskqueue.c Ensure that ta_pending doesn't overflow u_short by capping its value at USHRT_MAX. 2011-09-15 08:42:06 +00:00
subr_trap.c Assert that exiting process does not return to usermode. 2011-10-03 16:58:58 +00:00
subr_turnstile.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
subr_uio.c Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
subr_unit.c Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
subr_witness.c Convert the per-interface address list lock from a mutex to a reader/writer 2012-01-09 19:34:12 +00:00
sys_capability.c Allways call fdrop(). 2012-03-12 11:56:57 +00:00
sys_generic.c Instead of incomplete handling of read(2)/write(2) return values that 2012-03-04 14:55:37 +00:00
sys_pipe.c Remove fifo.h. The only used function declaration from the header is 2012-03-11 12:19:58 +00:00
sys_procdesc.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
sys_process.c Allow the parent to gather the exit status of the children reparented 2012-02-23 11:50:23 +00:00
sys_socket.c Add the fo_chown and fo_chmod methods to struct fileops and use them 2011-08-16 20:07:47 +00:00
syscalls.c - Add the ffclock_getcounter(), ffclock_getestimate() and ffclock_setestimate() 2011-11-21 01:26:10 +00:00
syscalls.master - Add the ffclock_getcounter(), ffclock_getestimate() and ffclock_setestimate() 2011-11-21 01:26:10 +00:00
systrace_args.c - Add the ffclock_getcounter(), ffclock_getestimate() and ffclock_setestimate() 2011-11-21 01:26:10 +00:00
sysv_ipc.c
sysv_msg.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
sysv_sem.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
sysv_shm.c Close a race due to dropping of the map lock between creating a map entry 2012-02-19 00:28:49 +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 Fix whitespace inconsistencies in the TTY layer and its drivers owned by me. 2011-06-26 18:26:20 +00:00
tty_pts.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
tty_tty.c Finish r210923, 210926. Mark some devices as eternal. 2011-01-04 10:59:38 +00:00
tty_ttydisc.c Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
tty.c Also call the low-level driver if ->c_iflag & (IXON|IXOFF|IXANY) changes. 2012-02-26 20:56:49 +00:00
uipc_accf.c
uipc_cow.c Add some FEATURE macros for various features (AUDIT/CAM/IPC/KTR/MAC/NFS/NTP/ 2011-02-25 10:11:01 +00:00
uipc_debug.c
uipc_domain.c Catch up with r195837 (2.5 years ago) which renamed net_add_domain() to domain_add(). 2012-02-23 17:47:19 +00:00
uipc_mbuf2.c
uipc_mbuf.c Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
uipc_mqueue.c Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
uipc_sem.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
uipc_shm.c Correct an error of omission in the implementation of the truncation 2012-01-08 20:09:26 +00:00
uipc_sockbuf.c Document a large number of currently undocumented sysctls. While here 2011-12-13 00:38:50 +00:00
uipc_socket.c Add SO_PROTOCOL/SO_PROTOTYPE socket SOL_SOCKET-level option to get the 2012-02-26 13:55:43 +00:00
uipc_syscalls.c Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
uipc_usrreq.c Introduce VOP_UNP_BIND(), VOP_UNP_CONNECT(), and VOP_UNP_DETACH() 2012-02-29 21:38:31 +00:00
vfs_acl.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
vfs_aio.c Add 32-bit compat code for AIO kevent flags introduced in revision 230857. 2012-02-05 04:49:31 +00:00
vfs_bio.c This change avoids a kernel deadlock on "snaplk" when using 2012-03-01 18:45:25 +00:00
vfs_cache.c Post r230394, the Lookup RPC counts for both NFS clients increased 2012-03-03 01:06:54 +00:00
vfs_cluster.c Unbreak detection of the async mode for clustered writes after r231075. 2012-02-08 15:07:19 +00:00
vfs_default.c Introduce VOP_UNP_BIND(), VOP_UNP_CONNECT(), and VOP_UNP_DETACH() 2012-02-29 21:38:31 +00:00
vfs_export.c
vfs_extattr.c Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
vfs_hash.c
vfs_init.c Modify vfs_register() to use a hash calculation 2011-09-13 21:01:26 +00:00
vfs_lookup.c Avoid double-unlock or double unreference for ndp->ni_dvp when the vnode dp 2012-01-01 18:45:59 +00:00
vfs_mount.c Decomission mnt_noasync. Introduce MNTK_NOASYNC mnt_kern_flag which 2012-03-09 00:12:05 +00:00
vfs_mountroot.c Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
vfs_subr.c Decomission mnt_noasync. Introduce MNTK_NOASYNC mnt_kern_flag which 2012-03-09 00:12:05 +00:00
vfs_syscalls.c Perform the parameter validation before assigning it to a signed int 2012-03-09 21:31:12 +00:00
vfs_vnops.c Add KTR_VFS traces to track modifications to a vnode's writecount. 2012-03-08 20:27:20 +00:00
vnode_if.src Introduce VOP_UNP_BIND(), VOP_UNP_CONNECT(), and VOP_UNP_DETACH() 2012-02-29 21:38:31 +00:00