1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sys/kern
Don Lewis 169299398a Undo the merger of mlock()/vslock and munlock()/vsunlock() and the
introduction of kern_mlock() and kern_munlock() in
        src/sys/kern/kern_sysctl.c      1.150
        src/sys/vm/vm_extern.h          1.69
        src/sys/vm/vm_glue.c            1.190
        src/sys/vm/vm_mmap.c            1.179
because different resource limits are appropriate for transient and
"permanent" page wiring requests.

Retain the kern_mlock() and kern_munlock() API in the revived
vslock() and vsunlock() functions.

Combine the best parts of each of the original sets of implementations
with further code cleanup.  Make the mclock() and vslock()
implementations as similar as possible.

Retain the RLIMIT_MEMLOCK check in mlock().  Move the most strigent
test, which can return EAGAIN, last so that requests that have no
hope of ever being satisfied will not be retried unnecessarily.

Disable the test that can return EAGAIN in the vslock() implementation
because it will cause the sysctl code to wedge.

Tested by:	Cy Schubert <Cy.Schubert AT komquats.com>
2004-03-05 22:03:11 +00:00
..
bus_if.m Introduce BUS_CONFIG_INTR(). The method allows devices to tell parents 2003-09-10 21:37:10 +00:00
clock_if.m
device_if.m
genassym.sh
imgact_aout.c Locking for the per-process resource limits structure. 2004-02-04 21:52:57 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Locking for the per-process resource limits structure. 2004-02-04 21:52:57 +00:00
imgact_gzip.c Locking for the per-process resource limits structure. 2004-02-04 21:52:57 +00:00
imgact_shell.c
inflate.c
init_main.c Loudly announce WITNESS and DIAGNOSTIC options and warn about reduced 2004-02-29 16:56:54 +00:00
init_sysent.c Regen after adding ksem_timedwait(). 2004-02-03 05:11:31 +00:00
kern_acct.c Fixed some style bugs (mainly misplaced comments, and totally disordered 2004-03-04 09:47:09 +00:00
kern_acl.c Update my personal copyrights and NETA copyrights in the kernel 2004-02-22 00:33:12 +00:00
kern_alq.c Allow MAC policies to block/revoke kern_alq write access to a file. 2003-10-25 16:10:41 +00:00
kern_clock.c Make sure to disable the watchdog if we cannot honour the timeout. 2004-02-28 22:01:19 +00:00
kern_condvar.c Switch the sleep/wakeup and condition variable implementations to use the 2004-02-27 18:52:44 +00:00
kern_conf.c Fix two oversights here: don't trash the freelist, and properly cleanup 2004-02-23 08:42:55 +00:00
kern_context.c Change the clear_ret argument of get_mcontext() to be a flags argument. 2003-11-09 20:31:04 +00:00
kern_descrip.c Split the mlock() kernel code into two parts, mlock(), which unpacks 2004-02-26 00:27:04 +00:00
kern_environment.c
kern_event.c Make sure to wake up any select waiters when closing a kqueue (also, not 2004-02-20 04:00:48 +00:00
kern_exec.c Checkpoint a hack to enable running i386 libc_r binaries on a 64 bit 2004-02-18 00:54:17 +00:00
kern_exit.c Drop sched_lock around the wakeup of the parent process after setting 2004-02-27 18:39:09 +00:00
kern_fork.c Fixed some style bugs (mainly English usage errors in comments). 2004-03-04 09:56:29 +00:00
kern_idle.c Always set a process' state to normal when it is fully constructed in 2004-02-05 21:01:37 +00:00
kern_intr.c - Add a flags parameter to mi_switch. The value of flags may be SW_VOL or 2004-01-25 03:54:52 +00:00
kern_jail.c Rework jail_attach(2) so that an already jailed process cannot hop 2004-02-19 21:03:20 +00:00
kern_kse.c Check for TDF_SINTR before calling sleepq_abort() as there is a narrow 2004-03-01 23:07:58 +00:00
kern_kthread.c
kern_ktr.c Update the license on this file to be a bit more sane. 2003-09-10 01:09:32 +00:00
kern_ktrace.c Replace the ktrace queue's semaphore with a condition variable instead as 2004-02-26 19:30:22 +00:00
kern_linker.c Split the mlock() kernel code into two parts, mlock(), which unpacks 2004-02-26 00:27:04 +00:00
kern_lock.c Add pid to the info printed in lockmgr_printinfo. This makes VFS 2004-01-06 04:34:13 +00:00
kern_lockf.c
kern_mac.c Update my personal copyrights and NETA copyrights in the kernel 2004-02-22 00:33:12 +00:00
kern_malloc.c Rename the kern.vm.kmem.size tunable to the more logical vm.kmem_size. To 2004-01-27 15:59:38 +00:00
kern_mib.c Change all SYSCTLS which are readonly and have a related TUNABLE 2003-10-21 18:28:36 +00:00
kern_module.c
kern_mtxpool.c Rearrange the SYSINIT order to call lockmgr_init() earlier so that 2003-07-16 01:00:39 +00:00
kern_mutex.c Add a reset sysctl for mutex profiling: zeros all of the mutex 2004-01-28 22:11:53 +00:00
kern_ntptime.c Deal with MOD_FREQUENCY before MOD_OFFSET because the latter is the 2004-01-24 21:48:43 +00:00
kern_physio.c Send B_PHYS out to pasture, it no longer serves any function. 2003-11-15 09:28:09 +00:00
kern_poll.c - Add a flags parameter to mi_switch. The value of flags may be SW_VOL or 2004-01-25 03:54:52 +00:00
kern_proc.c Split the mlock() kernel code into two parts, mlock(), which unpacks 2004-02-26 00:27:04 +00:00
kern_prot.c Don't grab Giant in crfree(), since prison_free() no longer requires it. 2004-01-23 21:07:52 +00:00
kern_resource.c Argh! Fix a bogon. lim_cur() was returning the hard (max) limit rather 2004-02-11 18:04:13 +00:00
kern_sema.c
kern_shutdown.c - Add a flags parameter to mi_switch. The value of flags may be SW_VOL or 2004-01-25 03:54:52 +00:00
kern_sig.c Use different dummy wait channels to avoid panic in msleep(). 2004-03-03 23:03:18 +00:00
kern_subr.c Rename iov_to_uio to uiofromiov to be more consistent with other 2004-02-04 08:43:21 +00:00
kern_switch.c - style fixes to the critical_exit() KASSERT(). 2004-02-02 08:13:27 +00:00
kern_sx.c Fix _sx_assert() to panic() rather than printf() when an assertion fails 2004-02-27 16:13:44 +00:00
kern_synch.c Correct handling of PDROP in msleep() to just skip the mtx_lock() rather 2004-03-02 14:58:33 +00:00
kern_syscalls.c
kern_sysctl.c Undo the merger of mlock()/vslock and munlock()/vsunlock() and the 2004-03-05 22:03:11 +00:00
kern_tc.c Just because the timecounter reads the same value on two samples 2004-03-04 14:14:23 +00:00
kern_thr.c Update powerpc to use the (old thread,new thread) calling convention 2003-08-14 03:56:24 +00:00
kern_thread.c Check for TDF_SINTR before calling sleepq_abort() as there is a narrow 2004-03-01 23:07:58 +00:00
kern_time.c constify the second args to timevaladd() and timevalsub(). 2003-10-26 02:19:00 +00:00
kern_timeout.c Make the DIAGNOSTIC code which complains about long {call|time}out(9) 2003-12-07 20:03:28 +00:00
kern_umtx.c Return EINVAL if the contested bit is not set on the umtx passed to 2003-09-07 11:14:52 +00:00
kern_uuid.c Fix generation of random multicast MAC address. 2004-01-22 13:34:11 +00:00
kern_xxx.c Correct mostly harmless off-by-one error in getdomainname(). 2003-09-13 17:12:22 +00:00
ksched.c sched_setscheduler: Return EINVAL when a invalid policy is specified, 2003-09-13 18:46:24 +00:00
link_elf_obj.c Add the mlockall() and munlockall() system calls. 2003-08-11 07:14:08 +00:00
link_elf.c Add the mlockall() and munlockall() system calls. 2003-08-11 07:14:08 +00:00
linker_if.m The method link_preload_finish is not static. 2003-09-20 17:39:32 +00:00
Make.tags.inc
Makefile
makesyscalls.sh Remove the namespace column from the syscalls tables. We don't actually 2003-12-23 03:50:43 +00:00
md4c.c
md5c.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
p1003_1b.c
posix4_mib.c
sched_4bsd.c The roundrobin callout from sched_4bsd is MPSAFE, so set up the 2004-03-05 19:27:04 +00:00
sched_ule.c Switch the sleep/wakeup and condition variable implementations to use the 2004-02-27 18:52:44 +00:00
subr_acl_posix1e.c Update my personal copyrights and NETA copyrights in the kernel 2004-02-22 00:33:12 +00:00
subr_autoconf.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
subr_blist.c Expand inline the relevant parts of src/COPYRIGHT for Matt Dillon's 2003-08-12 23:24:05 +00:00
subr_bus.c Whitespace cleanup 2004-02-24 19:31:30 +00:00
subr_clist.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
subr_clock.c
subr_devstat.c Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
subr_disk.c Report bio_pblkbo instead of bio_blkno. 2003-10-18 17:27:10 +00:00
subr_eventhandler.c
subr_hints.c
subr_kobj.c * Add multiple inheritance to kobj. Each class can have zero or more base 2003-10-16 09:16:28 +00:00
subr_log.c Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
subr_mbpool.c Pass MTX_DEF as the last argument to mtx_init() instead of 0. This 2003-12-07 21:53:41 +00:00
subr_mbuf.c Track current and peak sfbuf usage, export the values via sysctl. 2003-12-27 07:52:47 +00:00
subr_mchain.c
subr_module.c
subr_msgbuf.c Put the message about msgbuf cksum mismatch under bootverbose and tell 2003-09-05 11:12:00 +00:00
subr_param.c More pipe changes: 2003-08-11 05:51:51 +00:00
subr_pcpu.c
subr_power.c Move the kernel power change printf under bootverbose since the 2004-01-02 18:24:13 +00:00
subr_prf.c Add support for 'h' and 'hh' modifiers for printf(9). 2004-02-19 05:29:39 +00:00
subr_prof.c
subr_rman.c
subr_rtc.c
subr_sbuf.c Mechanical whistespace cleanup. 2004-02-17 10:21:03 +00:00
subr_scanf.c
subr_sleepqueue.c Always assert that the passed in lock is the same as the saved lock in the 2004-03-02 15:02:08 +00:00
subr_smp.c - Move smp_topology to subr_smp.c so that it is defined on all architectures. 2004-01-24 19:52:48 +00:00
subr_taskqueue.c Tidy up the thread taskqueue implementation and close a lost wakeup race. 2004-02-19 22:03:52 +00:00
subr_trap.c Put "failed to set signal flags properly for ast()" check under 2004-03-05 17:35:28 +00:00
subr_turnstile.c Add an implementation of a generic sleep queue abstraction that is used 2004-02-27 18:33:09 +00:00
subr_witness.c Add an implementation of a generic sleep queue abstraction that is used 2004-02-27 18:33:09 +00:00
sys_generic.c Switch the sleep/wakeup and condition variable implementations to use the 2004-02-27 18:52:44 +00:00
sys_pipe.c Assert pipe mutex in pipeselwakeup(), as we manipulate pipe_state 2004-02-26 00:18:22 +00:00
sys_process.c When reparenting a process in the PT_DETACH code, only set p_sigparent 2004-02-19 10:39:42 +00:00
sys_socket.c
syscalls.c Regen after adding ksem_timedwait(). 2004-02-03 05:11:31 +00:00
syscalls.master Add ksem_timedwait() to complement ksem_wait(). 2004-02-03 05:08:32 +00:00
sysv_ipc.c
sysv_msg.c Slight whitespace consistency improvement: 2003-11-07 04:47:14 +00:00
sysv_sem.c Reduce the overhead of semop() by using the kernel stack instead of 2003-12-19 13:07:17 +00:00
sysv_shm.c Correct a reference counting bug in shmat(2). If vm_map_find(9) 2004-02-05 18:00:35 +00:00
tty_compat.c
tty_conf.c
tty_cons.c Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
tty_pty.c Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
tty_subr.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
tty_tty.c Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
tty.c Device megapatch 3/6: 2004-02-21 20:41:11 +00:00
uipc_accf.c
uipc_cow.c Handle sf_buf_alloc() returning null. This can happen if the 2004-01-17 21:16:51 +00:00
uipc_domain.c move domain list mutex initialization to earlier in the boot sequence so 2003-09-02 20:59:23 +00:00
uipc_jumbo.c
uipc_mbuf2.c m_tag fixups in preparation for heavier use: 2004-01-02 17:27:39 +00:00
uipc_mbuf.c Style fixes: don't indent variable names. 2004-02-05 08:29:27 +00:00
uipc_proto.c
uipc_sem.c Add ksem_timedwait() to complement ksem_wait(). 2004-02-03 05:08:32 +00:00
uipc_sockbuf.c Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
uipc_socket2.c Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
uipc_socket.c Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
uipc_syscalls.c Remove unneeded label 'done2' from socket(). We now grab Giant 2004-03-04 01:57:48 +00:00
uipc_usrreq.c Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
vfs_acl.c Update my personal copyrights and NETA copyrights in the kernel 2004-02-22 00:33:12 +00:00
vfs_aio.c Send B_PHYS out to pasture, it no longer serves any function. 2003-11-15 09:28:09 +00:00
vfs_bio.c Device megapatch 6/6: 2004-02-21 21:57:26 +00:00
vfs_cache.c - Apply a big giant lock around the namecache. This has been sitting in 2003-10-05 07:13:50 +00:00
vfs_cluster.c Update the statfs structure with 64-bit fields to allow 2003-11-12 08:01:40 +00:00
vfs_default.c Remove mntvnode_mtx and replace it with per-mountpoint mutex. 2003-11-05 04:30:08 +00:00
vfs_export.c Guard against MLEN growing larger than a uint8_t due to MSIZE grwoing to a 2003-07-26 07:23:24 +00:00
vfs_extattr.c Correct a comment. 2004-02-17 12:30:32 +00:00
vfs_init.c Remove opv_desc_vector from vfs_add_vnodeops, since it is defined 2004-02-15 17:27:33 +00:00
vfs_lookup.c
vfs_mount.c Don't ignore errors from vfs_allocate_syncvnode. 2004-02-18 05:20:54 +00:00
vfs_subr.c Switch the sleep/wakeup and condition variable implementations to use the 2004-02-27 18:52:44 +00:00
vfs_syscalls.c Correct a comment. 2004-02-17 12:30:32 +00:00
vfs_vnops.c v_vxproc was a bogus name for a thread (pointer). 2003-12-28 09:12:56 +00:00
vnode_if.src Rename VOP_RMEXTATTR() to VOP_DELETEEXTATTR() for consistency with the 2003-07-28 18:53:29 +00:00