| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Approved by: so
Notes:
svn path=/releng/4.9/; revision=129736
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=120655
|
| |
|
|
|
|
|
| |
Approved by: re (murray)
Notes:
svn path=/stable/4/; revision=120644
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sys/vm/vm_map.c and affects the unwiring memory:
The map entries are processed in a loop, checking to make sure the
entry is wired and asserting it has a wired count. However, another
loop was inserted more-or-less in the middle of the of the unwiring
path. This loop picks up the "entry" loop variable from the first loop
without first setting it to start_entry. Naturally, the second loop
is never entered and the pages backing the entries are never unwired.
This can lead to a leak of wired pages.
Reviewed by: alc
Approved by: re (murray)
Notes:
svn path=/stable/4/; revision=120618
|
| |
|
|
|
|
|
|
|
| |
support for contigmalloc, which is required for BUS_DMA_ZERO support.
Approved by: re (scottl)
Notes:
svn path=/stable/4/; revision=120440
|
| |
|
|
|
|
|
|
| |
Check the address provided to vm_map_stack() against the vm map's maximum,
returning an error if the address is too high.
Notes:
svn path=/stable/4/; revision=118735
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
work was sponsored by DARPA, Network Associates Laboratories.
Major changes include:
- introduction of vm_paddr_t to represent physical address
- support for page directory pointer table
- removal of (recursive) alternative address space
Reviewed by: jake
Notes:
svn path=/stable/4/; revision=118695
|
| |
|
|
|
|
|
|
|
| |
Make the reservation of KVA space for kernel map entries a function
of the KVA space's size in addition to the amount of physical memory
and reduce it by a factor of two.
Notes:
svn path=/stable/4/; revision=115340
|
| |
|
|
|
|
|
|
| |
Reduce the size of a vm object by converting its shadow list from a TAILQ
to a LIST.
Notes:
svn path=/stable/4/; revision=115327
|
| |
|
|
|
|
|
|
|
|
| |
cpu_wait() changes from current. This should close reference
count races with the vmspace structure. There is still a
shmexit() race (structure never freed) which will be addressed in
a day or two with a fix MFC from current.
Notes:
svn path=/stable/4/; revision=109204
|
| |
|
|
|
|
|
|
| |
dirty VM pages (dirtied via mmap()) that back a file. Please see the
log entry for rev 1.250 of vm_object.c.
Notes:
svn path=/stable/4/; revision=108499
|
| |
|
|
|
|
|
|
|
| |
to have the same value as the previously (incorrect) name.
No operational changes.
Notes:
svn path=/stable/4/; revision=108398
|
| |
|
|
|
|
|
|
|
|
|
|
| |
to the binary image. Use NOCORE to differentiate between the two. Introduce
a debug.elf_legacy_coredump sysctl which, if set, reverts to the old behavior.
See the log message in sys/kern/imgact_elf.c 1.133.
PR: kern/45994
Notes:
svn path=/stable/4/; revision=108355
|
| |
|
|
|
|
|
|
|
| |
to panic the machine if the zone allocation fails. This will be used to
catch zone allocations that fail that code assumes always succeed (can occur
if we run out of KVM).
Notes:
svn path=/stable/4/; revision=104821
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
under very heavy memory pressure. There are places where the kernel can
block where it normally does not block which were not properly handled. These
fixes have been heavily tested. They are based on work Alan and Tor
have done in -current but are not a direct MFC. They are not entirely
optimal but they should be solid.
Add a new sysctl counter, vm.v_intrans_coll and vm.v_intrans_wait
which indicates how many times a vm_map_entry collision has been
detected and how many times vm_map code had to block waiting for
a collision to clear.
Reviewed by: alc, tegge
Testing by: "Marc G. Fournier" <scrappy@hub.org> (note: there are
still unresolved bugs on Marc's boxes unrelated to this
patch).
Notes:
svn path=/stable/4/; revision=104819
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Modify vm_map_clean() (and thus the msync(2) system call) to support
invalidation of cached pages for objects of type OBJT_DEVICE.
Submitted by: Christian Zander <zander@minion.de>
Reviewed by: alc
Approved by: re (jhb)
Notes:
svn path=/stable/4/; revision=104013
|
| |
|
|
|
|
|
| |
Reduce the swap meta calculation by a factor of 2, it's still massive overkill.
Notes:
svn path=/stable/4/; revision=102739
|
| |
|
|
|
|
|
|
|
|
|
|
| |
list of all zones if we fail to allocate KVA for it in zinitna().
Apparently this fixes panics while running sysctl on large-memory
machines. This code is not present in -current.
PR: kern/36605
Submitted by: Brian Buchanan <brian@ncircle.com>
Notes:
svn path=/stable/4/; revision=101764
|
| |
|
|
|
|
|
| |
a process (exec() to be handled in Stage II).
Notes:
svn path=/stable/4/; revision=99274
|
| |
|
|
|
|
|
|
|
|
| |
This greatly improves msync() and VM object flushing and greatly improves
cpu overheads related to VM object flushing on large objects. Yahoo has
been running this patch set since March (and it has also been in -current
since March).
Notes:
svn path=/stable/4/; revision=98398
|
| |
|
|
|
|
|
| |
malloc is called with both size > PAGE_SIZE and the M_NOWAIT flag set.
Notes:
svn path=/stable/4/; revision=92159
|
| |
|
|
|
|
|
| |
in contigmalloc1() rather than duplicating it.
Notes:
svn path=/stable/4/; revision=91980
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=91899
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For full log, see:
Revision Changes Path
1.84 +19 -5 src/sys/alpha/alpha/pmap.c
1.316 +19 -8 src/sys/i386/i386/pmap.c
1.44 +19 -6 src/sys/ia64/ia64/pmap.c
1.14 +21 -1 src/sys/powerpc/powerpc/pmap.c
1.35 +19 -2 src/sys/sparc64/sparc64/pmap.c
1.11 +9 -0 src/sys/sparc64/sparc64/pv.c
1.42 +2 -2 src/sys/vm/pmap.h
1.189 +1 -1 src/sys/vm/vm_pageout.c
Notes:
svn path=/stable/4/; revision=91768
|
| |
|
|
|
|
|
|
| |
object->memq scan-marker work (similar to the buffer queue scan marker
work).
Notes:
svn path=/stable/4/; revision=91721
|
| |
|
|
|
|
|
|
|
| |
is enabled. This bug appears to already be indirectly fixed in -current.
PR: kern/32659
Notes:
svn path=/stable/4/; revision=91718
|
| |
|
|
|
|
|
| |
[Revision 1.95] Remove dead code.
Notes:
svn path=/stable/4/; revision=91573
|
| |
|
|
|
|
|
|
| |
Add one more comment to the OOM changes so that future readers of
the code may better understand the code.
Notes:
svn path=/stable/4/; revision=91332
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes to make the OOM killer much more effective:
- Allow the OOM killer to target processes currently locked in
memory. These very often are the ones doing the memory hogging.
- Drop the wakeup priority of processes currently sleeping while
waiting for their page fault to complete. In order for the OOM
killer to work well, the killed process and other system processes
waiting on memory must be allowed to wakeup first.
Revision Changes Path
1.128 +2 -2 src/sys/vm/vm_fault.c
1.176 +23 -0 src/sys/vm/vm_page.c
1.188 +1 -2 src/sys/vm/vm_pageout.c
1.28 +3 -1 src/sys/vm/vm_pageout.h
Notes:
svn path=/stable/4/; revision=91284
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=90034
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* LK_TIMEOUT lock flag to separate lock acquisition with and without
a timeout (dillon)
* use of LK_TIMEOUT in BUF_TIMELOCK to avoid timeout race aginst
BUF_LOCK (dillon)
* use of LK_TIMEOUT in pageout vget() code to avoid deadlock (dillon)
* move vnode reclaim into its own kthread to avoid deadlocks (Yahoo)
* remove 'VXLOCK interlock avoided' messages.. they can occur
under normal operation and create a choking hazzard on the console.
* Adjust VMIGHTFREE macro used with vnode reclaim code to avoid
eating large amounts of cpu with little to show for it in certain
situations.
* Add VREF/VRELE around UFS_UPDATE() call to avoid update/reclaim
race (note: snuck in at last minute but I accidently did a partial
commit a moment ago and the tree is broken until I commit the rest
of it). This is minor and will be tested heavily.
Approved by: Release Engineers
Notes:
svn path=/stable/4/; revision=88467
|
| |
|
|
|
|
|
|
|
| |
kern/vfs_bio.c 1.295 and friends)
Approved by: Release Engineers
Notes:
svn path=/stable/4/; revision=88312
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=87906
|
| |
|
|
|
|
|
|
| |
(B_ -> BX_). Modify the VN device to use IO_NOWDRAIN (MFC from similar
change in -current's MD device).
Notes:
svn path=/stable/4/; revision=86541
|
| |
|
|
|
|
|
|
|
| |
mmap()'d file is truncated.
Submitted by: peter, ps
Notes:
svn path=/stable/4/; revision=86480
|
| |
|
|
|
|
|
|
| |
kern_synch.c. Add jitter to the timing of samples to avoid
synchronisation with processes that run periodically.
Notes:
svn path=/stable/4/; revision=86361
|
| |
|
|
|
|
|
| |
since it has been a no-op for as long as our CVS history goes back.
Notes:
svn path=/stable/4/; revision=86351
|
| |
|
|
|
|
|
|
| |
contained wired entries. vm_fault_unwire() depends on the mapping
being intact.
Notes:
svn path=/stable/4/; revision=86245
|
| |
|
|
|
|
|
| |
Fix cleanup after page wiring failure.
Notes:
svn path=/stable/4/; revision=86244
|
| |
|
|
|
|
|
|
|
|
| |
blocks beyond the file EOF. Fixes bogus mmap() fault on the
last block of certain files on CDRom.
Reported by: peter / Yahoo
Notes:
svn path=/stable/4/; revision=86202
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and other VM optimizations and fixes.
* Add VOBJDIRTY flag to vnode to avoid certain indirections.
* Turn the mount structure vnode list into an LRU queue (LIST -> TAILQ)
* Attempt to reuse vnodes when we hit the maxvnodes limit
* Optimize msync() to avoid unnecessary v_interlocks
* Optimize ffs_sync() for same
* Fix vm_object double-termination bug
* Add KASSERT to ensure that backing object is not freed out from
under remaining VM pages.
These fixes change the mount structure and will create a binary kld module
incompatibility with filesystem kld's, but I deem the scaling issues with
4.x that we are fixing to be more important.
Notes:
svn path=/stable/4/; revision=85987
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader
tunable.
- Change TUNABLE_*_FETCH to have a return value of 0 if the variable
was not found or successfully converted and true otherwise.
- Use vm_offset_t instead of caddr_t to fix a warning and remove
two casts in kern_exec.c.
Notes:
svn path=/stable/4/; revision=85936
|
| |
|
|
|
|
|
|
|
| |
pages (madvise kernel panic fix).
Submitted by: ps, peter
Notes:
svn path=/stable/4/; revision=85929
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=85333
|
| |
|
|
|
|
|
| |
Submitted by: mark tinguely <tinguely@web.cs.ndsu.nodak.edu>
Notes:
svn path=/stable/4/; revision=85071
|
| |
|
|
|
|
|
|
|
| |
MFCs Kirk's vnode freelist cleanup commit from July 2000 in preparation
for further work that will eventually make kern.maxvnodes actually do
something.
Notes:
svn path=/stable/4/; revision=85038
|
| |
|
|
|
|
|
|
|
|
| |
fragment where the dirty bits on the VM pages would never get cleared.
The bug could cause unnecessary disk writing every 30-60 seconds and
potentially force more vnodes to remain in the vnode cache, but doesn't
occur very often so most people don't need to worry.
Notes:
svn path=/stable/4/; revision=85003
|
| |
|
|
|
|
|
| |
contigmalloc[1]() so contigfree() actually works.
Notes:
svn path=/stable/4/; revision=85001
|
| |
|
|
|
|
|
| |
swapon(2).
Notes:
svn path=/stable/4/; revision=84924
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=84401
|