Commit Graph

1201 Commits

Author SHA1 Message Date
matt 3e3119f9fe Default PMAP_KMPAGE to 0 unless it's been previously defined by
<machine/pmap.h>
2008-07-16 14:33:09 +00:00
matt ad65eb54bc Add PMAP_KMPAGE flag for pmap_kenter_pa. This allows pmaps to know that
the page being entered is being for the kernel memory allocator.  Such pages
should have no references and don't need bookkeeping.
2008-07-16 00:11:27 +00:00
skrll 84009eaecf English improvement in comments.
"seems good to me :)" from yamt.
2008-07-11 07:09:18 +00:00
ad a9c686e81a Scale the number of kernel reserve pages by the number of CPUs. 2008-07-04 10:56:59 +00:00
ad ecddde33a2 Update a comment. 2008-07-04 10:22:35 +00:00
ad 16a991e560 uvm_pageidlezero: fix a broken test which made it give up too easily. 2008-07-02 17:47:53 +00:00
matt 1906aa3e59 Switch from KASSERT to CTASSERT for those asserts testing sizes of types. 2008-07-02 14:47:34 +00:00
matt 5a4f0c6b2b Change tree op members/typedefs to rbto_compare_* from rb_compare_* 2008-06-30 20:14:09 +00:00
ad 321c12209b Don't swap kernel stacks of realtime threads. 2008-06-25 19:20:56 +00:00
ad 1c7f0a02df Use pool_cache. 2008-06-25 13:21:04 +00:00
tsutsui d7d2a525b1 Include <sys/sched.h> before <sys/syscallargs.h> for cpuset_t. 2008-06-17 16:17:21 +00:00
yamt 52d8b786fc - uvm_pagereplace: don't try to insert multiple pages with the same offset
into uvm_object rbtree.
- inline static -> static inline
2008-06-17 02:30:57 +00:00
yamt 90e623a314 initialize uvm_loanzero_object correctly after page-cache rbtree changes. 2008-06-17 02:29:10 +00:00
ad c0cd593d89 uvm_swapout: try to lock the vm_map before calling pmap_collect. 2008-06-16 10:19:57 +00:00
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