freebsd-dev/sys/kern
Alexander Motin bf89d544d0 Allow idle threads to steal second threads from other cores on systems with
8 or more cores to improve utilization.  None of my tests on 2xXeon (2x6x2)
system shown any slowdown from mentioned "excess thrashing".  Same time in
pbzip2 test with number of threads more then number of CPUs I see up to 10%
speedup with SMT disabled and up 5% with SMT enabled.  Thinking about
trashing I was trying to limit that stealing within same last level cache,
but got only worse results.  Present code any way prefers to steal threads
from topologically closer cores.

Sponsored by:	iXsystems, Inc.
2012-08-11 15:08:19 +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 missing system calls. 2012-05-31 19:32:37 +00:00
clock_if.m
cpufreq_if.m
device_if.m Add new device method to free the automatically 2012-08-10 15:02:49 +00:00
dtio_kdtrace.c Initial commit of an I/O provider for DTrace on FreeBSD. 2012-07-11 16:27:02 +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_elf32.c
imgact_elf64.c
imgact_elf.c Fix several reads beyond the mapped first page of the binary in the 2012-07-19 11:15:53 +00:00
imgact_gzip.c Remove an old hack I noticed years ago, but never committed. 2012-06-28 07:33:43 +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 Extend VERBOSE_SYSINIT to also print out the name of variables passed 2012-06-01 15:42:37 +00:00
init_sysent.c Regenerate after r236361. 2012-05-31 19:34:53 +00:00
kern_acct.c - Don't log messages saying that accounting is being disabled and enabled 2012-05-02 14:25:39 +00:00
kern_alq.c
kern_clock.c Implement the DTrace sched provider. This implementation aims to be 2012-05-15 01:30:25 +00:00
kern_clocksource.c Particlly MFcalloutng r238425 (by davide): 2012-08-04 08:06:37 +00:00
kern_condvar.c Include the associated wait channel message for context switch ktrace 2012-04-20 15:32:36 +00:00
kern_conf.c MFprojects/zfsd: 2012-05-24 11:24:44 +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 Add F_DUP2FD_CLOEXEC. Apparently Solaris 11 already did this. 2012-07-27 10:41:10 +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 Make the interval timings for EVFILT_TIMER more accurate. tvtohz() always 2012-07-13 13:24:33 +00:00
kern_exec.c Unbreak handling of descriptors opened with O_EXEC by fexecve(2). 2012-07-08 00:51:38 +00:00
kern_exit.c When process exists, not only the children shall be reparented to 2012-04-02 19:35:36 +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 The falloc() function obtains two references to newly created 'fp'. 2012-06-19 22:21:59 +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 On multi-core, multi-threaded PPC systems, it is important that the threads 2011-05-31 15:11:43 +00:00
kern_intr.c Do not add handler to event handlers list until ithread is created. 2012-08-06 16:37:43 +00:00
kern_jail.c Fix use-after-free in kern_jail_set() triggered e.g. by attempts 2012-05-22 19:43:20 +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 Stop treating td_sigmask specially for the purposes of new thread 2012-05-26 20:03:47 +00:00
kern_ktr.c Until now KTR_ENTRIES, which defines the size of circular buffer used in 2012-07-30 22:46:42 +00:00
kern_ktrace.c Include the associated wait channel message for context switch ktrace 2012-04-20 15:32:36 +00:00
kern_linker.c If a linker file contains at least one module, but all of the modules 2012-04-12 14:49:25 +00:00
kern_lock.c Add software PMC support. 2012-03-28 20:58:30 +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 Fix a bug with memguard(9) on 32-bit architectures without a 2012-07-15 20:29:48 +00:00
kern_mbuf.c Use ISO C99 integer types in sys/kern where possible. 2010-06-21 09:55:56 +00:00
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 Add software PMC support. 2012-03-28 20:58:30 +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 Account i/o done on cdevs. 2010-11-25 20:05:11 +00:00
kern_pmc.c Add software PMC support. 2012-03-28 20:58:30 +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 Add an extra comment to the SDT probes definition. This allows us to get 2010-08-22 11:18:57 +00:00
kern_proc.c After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
kern_prot.c Fix a typo. (s/nessesary/necessary/) 2012-01-08 18:48:36 +00:00
kern_racct.c Fix panic with RACCT that could occur in low memory (or out of swap) 2012-05-22 15:58:27 +00:00
kern_rangelock.c Add a rangelock implementation, intended to be used to range-locking 2012-05-30 16:06:38 +00:00
kern_rctl.c Stop treating system processes as special. This fixes panics 2012-04-17 14:31:02 +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 Add software PMC support. 2012-03-28 20:58:30 +00:00
kern_sdt.c Instead of only iterating over the set of known SDT probes when sdt.ko is 2012-03-27 15:07:43 +00:00
kern_sema.c
kern_sharedpage.c Move the code dealing with shared page into a dedicated 2012-06-23 10:15:23 +00:00
kern_shutdown.c free wdog_kern_pat calls in post-panic paths from under SW_WATCHDOG 2012-06-03 08:01:12 +00:00
kern_sig.c Always clear p_xthread if current thread no longer needs it, in theory, if 2012-07-10 05:45:13 +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 Add software PMC support. 2012-03-28 20:58:30 +00:00
kern_synch.c Implement the DTrace sched provider. This implementation aims to be 2012-05-15 01:30:25 +00:00
kern_syscalls.c Call chainevh callback when we are invoked with neither MOD_LOAD nor 2010-10-21 20:31:50 +00:00
kern_sysctl.c Handle spurious page faults that may occur in no-fault sections of the 2012-03-22 04:52:51 +00:00
kern_tc.c Add support for walltimestamp in DTrace. 2012-07-16 20:17:19 +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 Add a rangelock implementation, intended to be used to range-locking 2012-05-30 16:06:38 +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 Move the code to call the callout callback into the helper function 2012-05-03 20:00:30 +00:00
kern_umtx.c tvtohz will print out an error message if a negative value is given 2012-08-11 00:06:56 +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 sched_rr_interval() seems always returned period in hz ticks, but same 2012-08-10 18:19:57 +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 Some minor tunings/cleanups inspired by bde@ after previous commits: 2012-08-10 19:02:49 +00:00
sched_ule.c Allow idle threads to steal second threads from other cores on systems with 2012-08-11 15:08:19 +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 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 Add new device method to free the automatically 2012-08-10 15:02:49 +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 Fix build for kernels with dtrace hooks. 2012-07-11 18:50:50 +00:00
subr_disk.c Correct bioq_disksort so that bioq_insert_tail() offers barrier semantic. 2010-09-02 19:40:28 +00:00
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 Use ISO C99 integer types in sys/kern where possible. 2010-06-21 09:55:56 +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 Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
subr_kdb.c - Extend the KDB interface to add a per-debugger callback to print a 2012-04-12 17:43:59 +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 - Clean up timestamps in msgbuf code. The timestamps should now be 2012-03-19 00:36:32 +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 Unlock in the error path to prevent a lock leak. 2012-05-31 17:27:05 +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 Implement the DTrace sched provider. This implementation aims to be 2012-05-15 01:30:25 +00:00
subr_smp.c Another fixe for r236772. 2012-06-11 18:47:26 +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 Assert that TDP_NOFAULTING and TDP_NOSPEEPING thread flags do not leak 2012-05-30 13:44:42 +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 Remove redundant include. 2012-06-10 20:24:01 +00:00
subr_turnstile.c Implement the DTrace sched provider. This implementation aims to be 2012-05-15 01:30:25 +00:00
subr_uio.c After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
subr_unit.c Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
subr_witness.c Add new pmap layer locks to the predefined lock order. Change the names 2012-06-27 03:45:25 +00:00
sys_capability.c Style: move opt_*.h includes in the proper place. 2012-06-10 20:22:10 +00:00
sys_generic.c The variable 'error' in sys_poll() is initialized in declaration to value 2012-06-17 13:03:50 +00:00
sys_pipe.c I am comparing current pipe code with the one in 8.3-STABLE r236165, 2012-07-31 05:48:35 +00:00
sys_procdesc.c Check proper flag (PDF_DAEMON, not PD_DAEMON) when deciding if the process 2012-06-19 22:23:59 +00:00
sys_process.c Always initialize pl_event. 2012-08-08 00:20:30 +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 Regenerate system call tables. 2012-05-25 21:52:57 +00:00
syscalls.master Remove use of non-ISO-C integer types from system call tables. 2012-05-25 21:50:48 +00:00
systrace_args.c Regenerate system call tables. 2012-05-25 21:52:57 +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 In tty_makedev() the following construction: 2012-06-18 07:34:38 +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 Use ISO C99 integer types in sys/kern where possible. 2010-06-21 09:55:56 +00:00
uipc_mbuf.c Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
uipc_mqueue.c Remove unused thread argument to vrecycle(). 2012-04-23 14:10:34 +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 Export some more useful info about shared memory objects to userland 2012-04-01 18:22:48 +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 Fix KASSERT message. 2012-07-03 19:08:02 +00:00
uipc_syscalls.c After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
uipc_usrreq.c When checking if file descriptor number is valid, explicitely check for 'fd' 2012-06-13 22:12:10 +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 Fix typo [1]. Use commas to separate flag printouts, in style with 2012-06-02 19:39:12 +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 When synchronously syncing a device (MNT_WAIT), wait for buffers 2012-06-09 22:26:53 +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 This change creates a new list of active vnodes associated with 2012-04-20 06:50:44 +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 free wdog_kern_pat calls in post-panic paths from under SW_WATCHDOG 2012-06-03 08:01:12 +00:00
vfs_syscalls.c Reorder the managament of advisory locks on open files so that the advisory 2012-07-31 18:25:00 +00:00
vfs_vnops.c Reorder the managament of advisory locks on open files so that the advisory 2012-07-31 18:25:00 +00:00
vnode_if.src Introduce VOP_UNP_BIND(), VOP_UNP_CONNECT(), and VOP_UNP_DETACH() 2012-02-29 21:38:31 +00:00