freebsd-skq/sys/kern
dillon dc5d856e71 Re-enable the idle page-zeroing code. Remove all IPIs from the idle
page-zeroing code as well as from the general page-zeroing code and use a
lazy tlb page invalidation scheme based on a callback made at the end
of mi_switch.

A number of people came up with this idea at the same time so credit
belongs to Peter, John, and Jake as well.

Two-way SMP buildworld -j 5 tests (second run, after stabilization)
    2282.76 real  2515.17 user  704.22 sys	before peter's IPI commit
    2266.69 real  2467.50 user  633.77 sys	after peter's commit
    2232.80 real  2468.99 user  615.89 sys	after this commit

Reviewed by:	peter, jhb
Approved by:	peter
2002-07-12 20:17:06 +00:00
..
bus_if.m Use protected names (_foo) to cutdown on boatloads of lint warnings. 2002-04-21 11:16:10 +00:00
clock_if.m Add a generic implementation of inittodr() and resettodr(), as well as 2002-04-04 23:39:10 +00:00
device_if.m
genassym.sh
imgact_aout.c Clean up execve locking: 2002-07-06 07:00:01 +00:00
imgact_elf.c Clean up execve locking: 2002-07-06 07:00:01 +00:00
imgact_gzip.c Modernize my email address. 2002-03-25 13:52:45 +00:00
imgact_shell.c
inflate.c Modernize my email address. 2002-03-25 13:52:45 +00:00
init_main.c Remove an unused argument in vfs_mountroot(). 2002-07-03 08:52:37 +00:00
init_sysent.c regen for freebsd4_sendfile(2) compat. 2002-07-12 06:52:44 +00:00
kern_acct.c Open accounting file for appending, not general writing. 2002-07-10 17:31:58 +00:00
kern_acl.c Fix a bug that prevented the deletion of non-default ACLs from being 2002-06-27 19:31:15 +00:00
kern_clock.c Fixed breakage of binary compatibility of the kern.clockrate sysctl in 2002-05-05 04:33:09 +00:00
kern_condvar.c Fix failure to correctly transition back to sleep mode. 2002-07-02 05:33:46 +00:00
kern_conf.c Break the following implementation of panic(3): 2002-04-25 13:17:33 +00:00
kern_descrip.c More caddr_t removal, make fo_ioctl take a void * instead of a caddr_t. 2002-06-29 01:50:25 +00:00
kern_environment.c Cosmetic tweaks. Try and keep the style more consistent, catch some stray 2002-05-01 02:51:50 +00:00
kern_event.c More caddr_t removal, make fo_ioctl take a void * instead of a caddr_t. 2002-06-29 01:50:25 +00:00
kern_exec.c o Lock accesses to the page queues. 2002-07-11 18:48:05 +00:00
kern_exit.c Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
kern_fork.c Revert removal of cred_free_thread(): It is used to ensure that a thread's 2002-07-11 02:18:33 +00:00
kern_idle.c Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
kern_intr.c Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
kern_jail.c The jail syscall calls chroot, which is not mpsafe, so put back a 2002-07-01 20:46:01 +00:00
kern_kse.c Collect all the (now equivalent) pmap_new_proc/pmap_dispose_proc/ 2002-07-07 23:05:27 +00:00
kern_kthread.c Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
kern_ktr.c Remove a stale comment. 2002-04-06 08:44:04 +00:00
kern_ktrace.c More caddr_t removal, make fo_ioctl take a void * instead of a caddr_t. 2002-06-29 01:50:25 +00:00
kern_linker.c - Delay unlocking a vnode in linker_hints_lookup until we're actually done 2002-07-07 22:35:47 +00:00
kern_lock.c Record the file, line, and pid of the last successful shared lock holder. This 2002-05-30 05:55:22 +00:00
kern_lockf.c More caddr_t removal. 2002-06-29 00:29:12 +00:00
kern_malloc.c - Replace the bandaid introduced in revision 1.110 with 2002-05-31 09:41:09 +00:00
kern_mib.c - Add a mutex to lock the global securelevel value. 2002-04-02 17:43:17 +00:00
kern_module.c - Remove Giant acquisition from modevent(), modfnext(), modstat() and 2002-06-26 00:31:44 +00:00
kern_mtxpool.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
kern_mutex.c Add mtx_ prefixes to the fields used for mutex profiling, and fix a bug 2002-07-03 01:50:27 +00:00
kern_ntptime.c Hide the private parts of timecounter from a couple of places that don't 2002-04-26 21:31:44 +00:00
kern_physio.c More caddr_t removal, make fo_ioctl take a void * instead of a caddr_t. 2002-06-29 01:50:25 +00:00
kern_poll.c Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
kern_proc.c Collect all the (now equivalent) pmap_new_proc/pmap_dispose_proc/ 2002-07-07 23:05:27 +00:00
kern_prot.c Revert removal of cred_free_thread(): It is used to ensure that a thread's 2002-07-11 02:18:33 +00:00
kern_resource.c more caddr_t removal. 2002-06-29 02:00:02 +00:00
kern_sema.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
kern_shutdown.c Add a missing newline during panic printf's for SMP systems that don't 2002-07-11 21:56:37 +00:00
kern_sig.c Rearrange the code so that it checks whether the file is something 2002-07-10 06:31:35 +00:00
kern_subr.c Fix compilation with ENABLE_VFS_IOOPT turned on and ZERO_COPY_SOCKETS 2002-07-12 02:23:55 +00:00
kern_switch.c also set the KSE state for the idle KSE/thread case. 2002-07-12 20:16:46 +00:00
kern_sx.c Set the lock type equal to the lock name for now as all of the current 2002-04-04 20:49:35 +00:00
kern_synch.c Re-enable the idle page-zeroing code. Remove all IPIs from the idle 2002-07-12 20:17:06 +00:00
kern_syscalls.c
kern_sysctl.c more caddr_t removal. 2002-06-29 02:00:02 +00:00
kern_tc.c Time counter stats are unsigned, advertise them to sysctl(8) that way. 2002-06-11 19:47:44 +00:00
kern_thread.c Collect all the (now equivalent) pmap_new_proc/pmap_dispose_proc/ 2002-07-07 23:05:27 +00:00
kern_time.c more caddr_t removal. 2002-06-29 02:00:02 +00:00
kern_timeout.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
kern_uuid.c Fix a minor whitespace style nit that broke 'grep ^uuidgen'. 2002-07-09 19:36:50 +00:00
kern_xxx.c more caddr_t removal. 2002-06-29 02:00:02 +00:00
ksched.c Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
link_aout.c
link_elf_obj.c Don't use the symbol name to lookup the symbol value when we can use 2002-04-25 01:22:16 +00:00
link_elf.c Don't use the symbol name to lookup the symbol value when we can use 2002-04-25 01:22:16 +00:00
linker_if.m
Make.tags.inc
Makefile
makesyscalls.sh Introduce syscall.master option 'COMPAT4' which allows one to wrap 2002-07-12 06:38:34 +00:00
md4c.c
md5c.c Bring sys/kern/md5c.c in sync with the userland version. 2002-06-24 14:15:25 +00:00
p1003_1b.c Change p_can{debug,see,sched,signal}()'s first argument to be a thread 2002-05-19 00:14:50 +00:00
posix4_mib.c
subr_acl_posix1e.c Fix a bug that prevented the deletion of non-default ACLs from being 2002-06-27 19:31:15 +00:00
subr_autoconf.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_blist.c Now that daddr_t has grown up, use %lld to printf it and cast it to long 2002-05-18 23:46:04 +00:00
subr_bus.c Don't call malloc(9) to allocate zero bytes softc data for devices. 2002-04-23 15:48:23 +00:00
subr_clist.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_clock.c Add a generic implementation of inittodr() and resettodr(), as well as 2002-04-04 23:39:10 +00:00
subr_devstat.c
subr_disk.c Implement DIOCGFRONTSTUFF ioctl which reports how many bytes from the start 2002-04-09 15:43:32 +00:00
subr_disklabel.c more caddr_t removal. 2002-06-29 02:00:02 +00:00
subr_diskmbr.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_diskslice.c This commit adds basic support for the UFS2 filesystem. The UFS2 2002-06-21 06:18:05 +00:00
subr_eventhandler.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
subr_hints.c Cosmetic tweaks. Try and keep the style more consistent, catch some stray 2002-05-01 02:51:50 +00:00
subr_kobj.c Convert hit and miss counters to unsigned values. Surely negative values 2002-06-10 22:40:26 +00:00
subr_log.c more caddr_t removal. 2002-06-29 02:00:02 +00:00
subr_mbuf.c m_extadd takes a void (*freef)(void *, void *) now, not a 2002-06-29 00:01:46 +00:00
subr_mchain.c Move the new byte order function prototypes from <sys/param.h> to 2002-04-26 22:48:23 +00:00
subr_module.c
subr_param.c Improve the implementation of adjtime(2). 2002-04-15 12:23:11 +00:00
subr_pcpu.c
subr_power.c
subr_prf.c dd %i as an alias for %d for greater compatibility with our *BSD bretheren 2002-07-05 18:36:49 +00:00
subr_prof.c more caddr_t removal. 2002-06-29 02:00:02 +00:00
subr_rman.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
subr_rtc.c Add a generic implementation of inittodr() and resettodr(), as well as 2002-04-04 23:39:10 +00:00
subr_sbuf.c
subr_scanf.c
subr_smp.c Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
subr_taskqueue.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
subr_trap.c Revert removal of cred_free_thread(): It is used to ensure that a thread's 2002-07-11 02:18:33 +00:00
subr_turnstile.c Add mtx_ prefixes to the fields used for mutex profiling, and fix a bug 2002-07-03 01:50:27 +00:00
subr_witness.c Revive backed out pmap related changes from Feb 2002. The highlights are: 2002-07-12 07:56:11 +00:00
subr_xxx.c Here follows the new kernel dumping infrastructure. 2002-03-31 22:37:00 +00:00
sys_generic.c Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
sys_pipe.c More caddr_t removal, make fo_ioctl take a void * instead of a caddr_t. 2002-06-29 01:50:25 +00:00
sys_process.c Lock accesses to the page queues. 2002-07-12 17:21:22 +00:00
sys_socket.c More caddr_t removal, make fo_ioctl take a void * instead of a caddr_t. 2002-06-29 01:50:25 +00:00
syscalls.c regen for freebsd4_sendfile(2) compat. 2002-07-12 06:52:44 +00:00
syscalls.master Create a bug-for-bug FreeBSD4 compatible version of sendfile and move the 2002-07-12 06:51:57 +00:00
sysv_ipc.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
sysv_msg.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
sysv_sem.c Remove __P. 2002-03-19 21:25:46 +00:00
sysv_shm.c Remove __P. 2002-03-19 21:25:46 +00:00
tty_compat.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
tty_conf.c
tty_cons.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
tty_pty.c - Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:09:22 +00:00
tty_subr.c Remove __P. 2002-03-19 21:25:46 +00:00
tty_tty.c Remove __P. 2002-03-19 21:25:46 +00:00
tty.c Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
uipc_accf.c
uipc_cow.c Remove the advertising clause from the Duke BSD copyright on the 2002-07-06 02:44:15 +00:00
uipc_domain.c Back out my lats commit of locking down a socket, it conflicts with hsu's work. 2002-05-31 11:52:35 +00:00
uipc_jumbo.c Remove the advertising clause from the Duke BSD copyright on the 2002-07-06 02:44:15 +00:00
uipc_mbuf2.c In m_aux_delete, no need to chase beyond victim. 2002-05-23 15:59:48 +00:00
uipc_mbuf.c Fix a bug in m_split(): the "m->m_ext.ext_size" field of an mbuf was being 2002-05-31 22:09:57 +00:00
uipc_proto.c
uipc_sockbuf.c More caddr_t removal. 2002-06-29 00:29:12 +00:00
uipc_socket2.c More caddr_t removal. 2002-06-29 00:29:12 +00:00
uipc_socket.c More caddr_t removal. 2002-06-29 00:29:12 +00:00
uipc_syscalls.c Create a bug-for-bug FreeBSD4 compatible version of sendfile and move the 2002-07-12 06:51:57 +00:00
uipc_usrreq.c nuke caddr_t. 2002-06-28 23:17:36 +00:00
vfs_acl.c Fix a bug that prevented the deletion of non-default ACLs from being 2002-06-27 19:31:15 +00:00
vfs_aio.c Back out my lats commit of locking down a socket, it conflicts with hsu's work. 2002-05-31 11:52:35 +00:00
vfs_bio.c Replace the global buffer hash table with per-vnode splay trees using a 2002-07-10 17:02:32 +00:00
vfs_cache.c nuke caddr_t. 2002-06-28 23:17:36 +00:00
vfs_cluster.c Replace the global buffer hash table with per-vnode splay trees using a 2002-07-10 17:02:32 +00:00
vfs_default.c Remove vfs_stdmount() and vfs_stdunmount(). They are not 2002-07-09 22:50:29 +00:00
vfs_export.c Partial backout of 1.318, remove error handling added because it may be 2002-06-30 05:23:58 +00:00
vfs_extattr.c Move every code related to mount(2) in a new file, vfs_mount.c. 2002-07-02 17:09:22 +00:00
vfs_init.c We don't need to check the return value of malloc() against 2002-06-22 21:44:11 +00:00
vfs_lookup.c Catch up to changes in ktrace API. 2002-06-07 05:37:18 +00:00
vfs_mount.c - Use standard locking functions in syncer's opv 2002-07-09 19:54:20 +00:00
vfs_subr.c Replace the global buffer hash table with per-vnode splay trees using a 2002-07-10 17:02:32 +00:00
vfs_syscalls.c Move every code related to mount(2) in a new file, vfs_mount.c. 2002-07-02 17:09:22 +00:00
vfs_vnops.c More caddr_t removal, make fo_ioctl take a void * instead of a caddr_t. 2002-06-29 01:50:25 +00:00
vnode_if.src - Use the new vop_lookup_{pre,post} instead of simpler locking specification. 2002-07-09 19:55:06 +00:00