ad
6bb1c8bc6f
swappable: invert previous so we check for SACTIVE or SSTOP.
2008-06-09 11:52:34 +00:00
ad
a3196ec57e
swappable: return false if l->l_proc->p_stat == SDYING.
2008-06-09 11:51:43 +00:00
ad
0cd7bfa598
uvm_proc_exit: use macros to disable preemption.
2008-06-09 11:49:54 +00:00
ad
f00b42c246
Back out previous.
2008-06-06 14:01:32 +00:00
ad
ad1863a64a
Wrap an expensive check in DIAGNOSTIC.
2008-06-06 13:52:56 +00:00
he
7151c31712
Delete what appears to be a spurious assignment to an undeclared
...
'cpu' variable added in revision 1.133. Restores buildability for this file.
2008-06-05 08:16:01 +00:00
ad
5d66fa5745
- Switch off the map evcnts by default.
...
- SAVE_HINT() doesn't need to be atomic.
2008-06-04 17:47:40 +00:00
ad
7a34cb95f0
Replace the global vm_page hash with a per vm_object rbtree.
...
Proposed on tech-kern@.
2008-06-04 15:06:04 +00:00
ad
4f702c0ce1
udv_fault: pmap_update before releasing locks.
2008-06-04 13:35:24 +00:00
ad
83828e8d22
listq -> listq.queue
2008-06-04 13:23:30 +00:00
ad
cbbf514e2c
- vm_page: put listq, pageq into a union alongside a LIST_ENTRY, so we can
...
use both types of list.
- Make page coloring and idle zero state per-CPU.
- Maintain per-CPU page freelists. When freeing, put pages onto the local
CPU's lists and the global lists. When allocating, prefer to take pages
from the local CPU. If none are available take from the global list as
done now. Proposed on tech-kern@.
2008-06-04 12:45:28 +00:00
ad
06c343ac94
vm_page: put TAILQ_ENTRY into a union with LIST_ENTRY, so we can use both.
2008-06-04 12:41:40 +00:00
ad
da4bdc8954
uvm_mmap: don't lock the map unless we need to.
2008-06-03 21:48:27 +00:00
ad
e1be8408a0
uao_reference, uao_detach: we don't do reference counting on kernel objects,
...
so don't lock them needlessly.
2008-06-03 11:51:01 +00:00
ad
3a8db3158e
Use atomics to maintain v_usecount.
2008-06-02 16:25:34 +00:00
ad
bb29be511d
One more.
2008-06-02 16:17:12 +00:00
ad
fb8c6fcc83
Don't needlessly acquire v_interlock.
2008-06-02 16:16:27 +00:00
ad
0d151db6c9
Don't needlessly acquire v_interlock.
2008-06-02 16:00:33 +00:00
ad
1728b3636d
UVM_PAGEZERO_TARGET -> UVM_PAGEZERO_LOWAT
2008-06-02 12:24:16 +00:00
ad
6dd8a2b97b
uvm_pageidlezero:
...
- Use high and low water marks to try and reduce power consumption.
- Do trylock on uvm_fpageqlock, and bail if we can't get it.
- Only run on one CPU at a time.
2008-06-02 11:11:14 +00:00
ad
2feabc3836
PR kern/38812 race between lwp_exit_switchaway and exit1/coredump
...
Move the LWP RUNNING and TIMEINTR flags into the thread-private flag word.
2008-05-31 21:26:01 +00:00
ad
8350e2a9e8
Missing cv_destroy().
2008-05-31 13:00:03 +00:00
mrg
c2b95373bf
remove clause #3 from my license where there are no other
...
copyright holders involved.
2008-05-29 14:51:25 +00:00
chs
a5e92dac93
if UVMHIST is defined, include headers necessary for its use.
2008-05-25 16:02:08 +00:00
kardel
a70d0e6c97
keep dumpcdev and dumpdev consistent
...
allows savecore.c@1.72 to find the right dumpdev in case it was changed
from the default - hi ad@
2008-05-11 20:19:27 +00:00
ad
e071d39c84
- Convert hashinit() to use kmem_alloc(). The hash tables can be large
...
and it's better to not have them in kmem_map.
- Convert a couple of minor items along the way to kmem_alloc().
- Fix some memory leaks.
2008-05-05 17:11:16 +00:00
martin
ce099b4099
Remove clause 3 and 4 from TNF licenses
2008-04-28 20:22:51 +00:00
ad
7d6bc631b9
Disable preemption while swapping pmap.
2008-04-27 11:39:46 +00:00
yamt
fb0cfeb7dd
fix a locking botch. PR/38415 from Wolfgang Solfrank.
2008-04-26 13:44:00 +00:00
ad
6d70f903e6
Network protocol interrupts can now block on locks, so merge the globals
...
proclist_mutex and proclist_lock into a single adaptive mutex (proc_lock).
Implications:
- Inspecting process state requires thread context, so signals can no longer
be sent from a hardware interrupt handler. Signal activity must be
deferred to a soft interrupt or kthread.
- As the proc state locking is simplified, it's now safe to take exit()
and wait() out from under kernel_lock.
- The system spends less time at IPL_SCHED, and there is less lock activity.
2008-04-24 15:35:27 +00:00
simonb
246143d6c1
Set up uvmhist in uvm_aio_aiodone_pages().
2008-04-17 05:39:41 +00:00
yamt
1d737efc42
fix the order of printf arguments.
2008-04-11 15:47:15 +00:00
christos
9741037836
- use uarea_swapin, rather than duplicating the code.
...
- use __func__ where appropriate.
2008-04-11 15:31:37 +00:00
christos
c7a574ed9e
make this compile
2008-03-29 20:40:52 +00:00
dholland
132066c541
Fix broken build. hi skrll :-)
2008-03-29 20:15:54 +00:00
skrll
38b9530a91
Fix unsed variable when DEBUG isn't defined.
2008-03-29 18:49:13 +00:00
ad
be04ac4896
Make rusage collection per-LWP and collate in the appropriate places.
...
cloned threads need a little bit more work but the locking needs to
be fixed first.
2008-03-27 19:06:51 +00:00
yamt
d886e611bd
remove a redundant pmap_update and add a comment instead.
2008-03-24 08:52:55 +00:00
bjs
d5e8b5ed97
Allow this to compile if LISTQ is undefined:
...
- Put '#ifdef LISTQ' ... '#endif' pairs around pageq_insert_head()
and clockpro_insert_head().
- Add missing argument to printf statement.
2008-03-22 05:50:42 +00:00
ad
a9ca7a3734
Catch up with descriptor handling changes. See kern_descrip.c revision
...
1.173 for details.
2008-03-21 21:54:58 +00:00
martin
813190b43d
Swap sysctl -d description of vm.filemin and vm.execmin. Noted by
...
Raymond Meyer on current-users.
2008-03-07 08:44:51 +00:00
yamt
5f4f3b8ca8
fix "stale map" assertions. PR/38153 from Sarton O'Brien.
2008-03-04 09:32:01 +00:00
yamt
19b9de9868
uvm_swap_io: if pagedaemon, don't wait for iobuf.
2008-02-29 20:35:23 +00:00
yamt
569bb6b4dc
update comment
2008-02-29 12:08:04 +00:00
matt
41b4feae9a
Convert two inlines from old-style-definitions to ansi.
2008-02-27 19:38:57 +00:00
ad
0fe23ea49b
Assert uvm_fpageqlock is held in a few more places.
2008-02-27 14:24:24 +00:00
ad
185d25c158
Minor corrections to comments.
2008-02-27 14:23:33 +00:00
yamt
0a2b10db61
uao_put: fix a race with pageout.
2008-02-27 13:46:20 +00:00
chris
855792073c
Add some more missing pmap_update()s following pmap_kremove()s.
2008-02-23 17:27:58 +00:00
yamt
f7048cc403
uvm_uarea_init: fix compilation where PAGE_SIZE is not a constant. (sparc)
...
reported by Tom Spindler.
2008-02-08 11:49:40 +00:00