#
82bba4e9 |
| 05-Feb-2024 |
andvar <andvar@NetBSD.org> |
fix various typos in comments.
|
#
19303cec |
| 14-Aug-2020 |
chs <chs@NetBSD.org> |
centralize calls from UVM to radixtree into a few functions. in those functions, assert that the object lock is held in the correct mode.
|
#
da3ef92b |
| 14-Mar-2020 |
ad <ad@NetBSD.org> |
Make uvm_pagemarkdirty() responsible for putting vnodes onto the syncer work list. Proposed on tech-kern@.
|
#
d2a0ebb6 |
| 23-Feb-2020 |
ad <ad@NetBSD.org> |
UVM locking changes, proposed on tech-kern:
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock. - Break v_interlock and vmobjlock apart. v_interlock remains a mutex. - Do partial
UVM locking changes, proposed on tech-kern:
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock. - Break v_interlock and vmobjlock apart. v_interlock remains a mutex. - Do partial PV list locking in the x86 pmap. Others to follow later.
show more ...
|
#
05a3457e |
| 15-Jan-2020 |
ad <ad@NetBSD.org> |
Merge from yamt-pagecache (after much testing):
- Reduce unnecessary page scan in putpages esp. when an object has a ton of pages cached but only a few of them are dirty.
- Reduce the number of p
Merge from yamt-pagecache (after much testing):
- Reduce unnecessary page scan in putpages esp. when an object has a ton of pages cached but only a few of them are dirty.
- Reduce the number of pmap operations by tracking page dirtiness more precisely in uvm layer.
show more ...
|
#
881d12e6 |
| 15-Dec-2019 |
ad <ad@NetBSD.org> |
Merge from yamt-pagecache:
- do gang lookup of pages using radixtree. - remove now unused uvm_object::uo_memq and vm_page::listq.queue.
|
#
68575131 |
| 14-Dec-2019 |
ad <ad@NetBSD.org> |
Merge from yamt-pagecache: use radixtree for page lookup.
rbtree page lookup was introduced during the NetBSD 5.0 development cycle to bypass lock contention problems with the (then) global page has
Merge from yamt-pagecache: use radixtree for page lookup.
rbtree page lookup was introduced during the NetBSD 5.0 development cycle to bypass lock contention problems with the (then) global page hash, and was a temporary solution to allow us to make progress. radixtree is the intended replacement.
Ok yamt@.
show more ...
|
#
1e840676 |
| 14-Sep-2012 |
rmind <rmind@NetBSD.org> |
- Manage anonymous UVM object reference count with atomic ops. - Fix an old bug of possible lock against oneself (uao_detach_locked() is called from uao_swap_off() with uao_list_lock acquired). Al
- Manage anonymous UVM object reference count with atomic ops. - Fix an old bug of possible lock against oneself (uao_detach_locked() is called from uao_swap_off() with uao_list_lock acquired). Also removes the try-lock dance in uao_swap_off(), since the lock order changes.
show more ...
|
#
247885b6 |
| 28-Jan-2012 |
rmind <rmind@NetBSD.org> |
Describe UVM object and explain lock sharing a little.
|
#
e225b7bd |
| 12-Jun-2011 |
rmind <rmind@NetBSD.org> |
Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in
Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
show more ...
|
#
3ba477b1 |
| 02-Feb-2011 |
chuck <chuck@NetBSD.org> |
udpate license clauses on my code to match the new-style BSD licenses. based on diff that rmind@ sent me.
no functional change with this commit.
|
#
b73ba829 |
| 06-Nov-2010 |
uebayasi <uebayasi@NetBSD.org> |
Include uvm/uvm_pglist.h for struct pglist.
|
#
19e6c76b |
| 25-Sep-2010 |
matt <matt@NetBSD.org> |
Rename rb.h to rbtree.h, as it is more appropriate (c.f. ptree.h). Also helps find code that hasn't been updated to use the new rbtree API.
|
#
879d5dfb |
| 24-Sep-2010 |
rmind <rmind@NetBSD.org> |
Fixes/improvements to RB-tree implementation: 1. Fix inverted node order, so that negative value from comparison operator would represent lower (left) node, and positive - higher (right) node. 2.
Fixes/improvements to RB-tree implementation: 1. Fix inverted node order, so that negative value from comparison operator would represent lower (left) node, and positive - higher (right) node. 2. Add an argument (i.e. "context"), passed to comparison operators. 3. Change rb_tree_insert_node() to return a node - either inserted one or already existing one. 4. Amend the interface to manipulate the actual object, instead of the rb_node (in a similar way as Patricia-tree interface does). 5. Update all RB-tree users accordingly.
XXX: Perhaps rename rb.h to rbtree.h, since cleaning-up..
1-3 address the PR/43488 by Jeremy Huddleston.
Passes RB-tree regression tests. Reviewed by: matt@, christos@
show more ...
|
#
7a34cb95 |
| 04-Jun-2008 |
ad <ad@NetBSD.org> |
Replace the global vm_page hash with a per vm_object rbtree. Proposed on tech-kern@.
|
#
3a8db315 |
| 02-Jun-2008 |
ad <ad@NetBSD.org> |
Use atomics to maintain v_usecount.
|
#
4a780c9a |
| 02-Jan-2008 |
ad <ad@NetBSD.org> |
Merge vmlocking2 to head.
|
#
e8abff70 |
| 01-Dec-2007 |
yamt <yamt@NetBSD.org> |
constify pagerops.
|
#
9de1cdc8 |
| 12-Oct-2006 |
yamt <yamt@NetBSD.org> |
move some knowledge about vnode into uvm_vnode.c.
|
#
95e1ffb1 |
| 11-Dec-2005 |
christos <christos@NetBSD.org> |
merge ktrace-lwp.
|
#
b7bfe828 |
| 23-Jul-2005 |
yamt <yamt@NetBSD.org> |
update file timestamps for nfsd loaned-read and mmap. PR/25279. discussed on tech-kern@.
|
#
8af42d8d |
| 17-Jul-2005 |
yamt <yamt@NetBSD.org> |
ensure that vnodes with dirty pages are always on syncer's queue.
- genfs_putpages: wait for i/o completion of PG_RELEASED/PG_PAGEOUT pages by setting "wasclean" false when encountering them. su
ensure that vnodes with dirty pages are always on syncer's queue.
- genfs_putpages: wait for i/o completion of PG_RELEASED/PG_PAGEOUT pages by setting "wasclean" false when encountering them. suggested by Stephan Uphoff in PR/24596 (1).
- genfs_putpages: write protect pages when cleaning out, if we're going to take the vnode off the syncer's queue. uvm_fault: don't write-map pages unless its vnode is already on the syncer's queue.
fix PR/24596 (3) but in the different way from the suggested fix. (to keep our current behaviour, ie. not to require explicit msync. discussed on tech-kern@.)
- genfs_putpages: don't mistakenly take a vnode off the queue by introducing a generation number in genfs_node. genfs_getpages: increment the generation number. suggested by Stephan Uphoff in PR/24596 (2).
- add some assertions.
show more ...
|
#
11bfc2d8 |
| 06-Jun-2005 |
yamt <yamt@NetBSD.org> |
introduce a macro to initialize uvm_object and use it.
|
#
f7d48e35 |
| 29-Nov-2003 |
yamt <yamt@NetBSD.org> |
mincore: don't treat an aobj as a device mapping.
|
#
faab7dbb |
| 20-Jun-2002 |
chs <chs@NetBSD.org> |
count aobj pages (most notably kernel stack pages) as anon pages for memory usage-balancing purposes.
|