Commit Graph

1121 Commits

Author SHA1 Message Date
ad 9aef0fdbce Specify PR_LARGECACHE for anon_cache (which is insanely busy). 2007-12-20 23:50:00 +00:00
dsl 7e2790cf6f Convert all the system call entry points from:
int foo(struct lwp *l, void *v, register_t *retval)
to:
    int foo(struct lwp *l, const struct foo_args *uap, register_t *retval)
Fixup compat code to not write into 'uap' and (in some cases) to actually
pass a correctly formatted 'uap' structure with the right name to the
next routine.
A few 'compat' routines that just call standard ones have been deleted.
All the 'compat' code compiles (along with the kernels required to test
build it).
98% done by automated scripts.
2007-12-20 23:02:38 +00:00
yamt 0c38201391 add ddb "whatis" command. inspired from solaris ::whatis dcmd. 2007-12-13 02:45:09 +00:00
pooka db06a930e6 Remove cn_lwp from struct componentname. curlwp should be used
from on.  The NDINIT() macro no longer takes the lwp parameter and
associates the credentials of the calling thread with the namei
structure.
2007-12-08 19:29:36 +00:00
ad 371ba00b4a Allocate amaps from a pool_cache. 2007-12-08 15:46:31 +00:00
ad de874f619c Merge from vmlocking2 (use cdev_mmap()). 2007-12-08 15:33:09 +00:00
yamt bdc83d4098 g/c uvm_vnp_sync 2007-12-05 09:37:34 +00:00
yamt 83e62acd43 fix UBC_WANT_UNMAP.
- check PMAP_CACHE_VIVT after pulling pmap.h.
	- VTEXT -> VI_TEXT.
2007-12-05 09:35:46 +00:00
yamt e8abff70f2 constify pagerops. 2007-12-01 10:40:27 +00:00
yamt 7355a3c4f8 remove a duplicated decl. of aobj_pager. 2007-12-01 10:40:03 +00:00
yamt 062f8e82a2 use designated initiaizers for uvm_pagerops. 2007-12-01 10:18:21 +00:00
yamt 4450b52eeb uvm_pager_init: use __arraycount. 2007-12-01 10:08:21 +00:00
ad e81b22bdcb Make {anon,file,exec}pages unsigned. 2007-11-30 22:43:17 +00:00
ad e9e11b98df Use atomics to maintain uvmexp.{anon,exec,file}pages. 2007-11-29 18:07:11 +00:00
pooka 61e8303e9d Remove the "struct lwp *" argument from all VFS and VOP interfaces.
The general trend is to remove it from all kernel interfaces and
this is a start.  In case the calling lwp is desired, curlwp should
be used.

quick consensus on tech-kern
2007-11-26 19:01:26 +00:00
xtraeme f444fd7856 Make this build without LOCKDEBUG (the if statement that uses
LOCKDEBUG_MEM_CHECK).
2007-11-26 08:22:32 +00:00
yamt 1a95aafc2b uvm_map_extract: for UVM_EXTRACT_QREF, mark entries UVM_MAP_NOMERGE. 2007-11-26 08:20:46 +00:00
yamt 89169ed40b uvm_unmap1: LOCKDEBUG_MEM_CHECK for kernel_map. 2007-11-26 08:15:19 +00:00
yamt f638ba54b7 call debug_init earlier. ie. before malloc is used. 2007-11-14 11:04:07 +00:00
yamt 7bc2fdc746 g/c unused uvm_anon_pool. 2007-11-13 08:48:28 +00:00
ad d18c6ca4de Merge from vmlocking:
- pool_cache changes.
- Debugger/procfs locking fixes.
- Other minor changes.
2007-11-07 00:23:13 +00:00
ad d831186d55 Merge scheduler changes from the vmlocking branch. All discussed on
tech-kern:

- Invert priority space so that zero is the lowest priority. Rearrange
  number and type of priority levels into bands. Add new bands like
  'kernel real time'.
- Ignore the priority level passed to tsleep. Compute priority for
  sleep dynamically.
- For SCHED_4BSD, make priority adjustment per-LWP, not per-process.
2007-11-06 00:42:39 +00:00
yamt 23005df1e0 defparam PAGER_MAP_SIZE. 2007-10-25 13:03:03 +00:00
yamt c3ee5a2d35 uvm_mremap: fix alignment check for the easy cases. 2007-10-15 11:26:13 +00:00
yamt 0de985a71c uvm_map_reserve: don't ignore alignment. fixes mremap. 2007-10-15 11:24:30 +00:00
hannken 988890176c When swapping to a regular file use a workqueue to signal I/O completion.
VOP_STRATEGY() no longer gets called from interrupt context via
biodone() -> sw_reg_iodone() -> sw_reg_start().

Removes a deadlock condition reported in PR 37109.

Ok: YAMAMOTO Takashi <yamt@netbsd.org>
2007-10-15 08:12:13 +00:00
skrll 0d58a1f020 Don't restrict the offset when allocating a map entry for in-kernel map -
use UVM_UNKNOWN_OFFSET in the call to uvm_map_prepare.

This fixes a '"panic: malloc: out of space in kmem_map" when it's not
really' testcase of mine, and one reported to me by chuq. This is likely
to fix PR/35587 as well.

Looks/seems fine to me from chuq and yamt. Thanks.
2007-10-12 06:45:17 +00:00
ad 4c92a21547 Remove LOCK_ASSERT(!simple_lock_held(&foo)); 2007-10-11 19:53:37 +00:00
ad 7dad9f7391 Merge from vmlocking:
- Split vnode::v_flag into three fields, depending on field locking.
- simple_lock -> kmutex in a few places.
- Fix some simple locking problems.
2007-10-10 20:42:20 +00:00
ad 451aacda90 Merge file descriptor locking, cwdi locking and cross-call changes
from the vmlocking branch.
2007-10-08 15:12:05 +00:00
ad 82f39f6568 Fix merge error. 2007-10-08 14:14:55 +00:00
ad 4de14a3313 Pad the hashlocks to 32-byte boundaries. 2007-10-08 14:06:15 +00:00
yamt d71c563a36 make RANGE_TEST a function. 2007-09-23 16:05:40 +00:00
ad f5096e38d8 uvm_swapin: disable the swaplock assertion. uvm_lwp_hold() can't take
the lock yet.
2007-09-21 00:18:35 +00:00
pooka 3f3cac88a3 Make bioops a pointer and point it to the softdeps struct in softdep
init.  Decouples "options SOFTDEP" from the main kernel and ffs code.
2007-09-01 23:40:21 +00:00
ad a412ed5978 Also initialize map->lock for INTRSAFE maps. 2007-08-20 13:34:52 +00:00
ad f6481c29d3 uvmspace_free: destroy locks. 2007-08-20 13:33:47 +00:00
ad 09e7c477d8 Include sys/cpu.h for CPU_INFO_FOREACH. 2007-08-18 10:07:55 +00:00
ad ee1c78315b Fix error in previous. 2007-08-18 00:31:32 +00:00
ad b5866eb299 Make the uarea cache per-CPU and drain in batches of 4. 2007-08-18 00:21:10 +00:00
drochner a6b978e197 Round up size arguments as mmap() does.
This is for consistency, and to have semantics similar to Linux --
a Python selftest secceeds now.
2007-08-08 11:08:18 +00:00
pooka 4d42eff4e1 In uao_get(), drop object lock only after dropswap to avoid KASSERT panic.
Should fix tmpfs problem reported by riz on current-users.  yamt ok.
2007-08-05 10:19:23 +00:00
pooka 38ed0b2878 Use VSIZENOTSET only in KASSERTs 2007-08-04 09:42:58 +00:00
yamt 603d434b1b use separate nreslookup evcnt for obj and anon pages. 2007-08-01 14:49:55 +00:00
ad a0d1fd8d0c It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.
2007-07-29 13:31:07 +00:00
yamt 3822af7031 ubc_uiomove: add an "advice" argument rather than using UVM_ADV_RANDOM blindly. 2007-07-27 09:50:36 +00:00
yamt 828aae6ba6 remove a debug printf. 2007-07-27 09:33:58 +00:00
pooka 1ce406a846 Change unused fflags parameter in VOP_MMAP to prot and pass in
desired vm protection.
2007-07-27 08:26:38 +00:00
ad 615eff98fc In order to pacify assertions, make uao_list_lock + uvm_swap_data_lock
spinlocks for the time being.
2007-07-24 19:59:35 +00:00
he e7a46bb8e3 When _KERNEL is defined, we have now grown a dependency on
<sys/proc.h>, since one of the inline functions now refer to curlwp.
Fix this by including <sys/proc.h> when _KERNEL is defined.
2007-07-22 21:07:47 +00:00