freebsd-skq/sys/vm
avg 25c75ccb77 try to fix RACCT_RSS accounting
There could be a race between the vm daemon setting RACCT_RSS based on
the vm space and vmspace_exit (called from exit1) resetting RACCT_RSS to
zero.  In that case we can get a zombie process with non-zero RACCT_RSS.
If the process is jailed, that may break accounting for the jail.
There could be other consequences.

Fix this race in the vm daemon by updating RACCT_RSS only when a process
is in the normal state.  Also, make accounting a little bit more
accurate by refreshing the page resident count after calling
vm_pageout_map_deactivate_pages().
Finally, add an assert that the RSS is zero when a process is reaped.

PR:		210315
Reviewed by:	trasz
Differential Revision: https://reviews.freebsd.org/D9464
2017-02-14 13:54:05 +00:00
..
_vm_radix.h
default_pager.c
device_pager.c Consistently handle negative or wrapping offsets in the mmap(2) syscalls. 2017-02-12 21:05:44 +00:00
memguard.c
memguard.h
phys_pager.c
pmap.h
redzone.c
redzone.h
sg_pager.c Consistently handle negative or wrapping offsets in the mmap(2) syscalls. 2017-02-12 21:05:44 +00:00
swap_pager.c
swap_pager.h
uma_core.c
uma_dbg.c
uma_dbg.h
uma_int.h
uma.h
vm_domain.c
vm_domain.h
vm_extern.h Rework r313352. 2017-02-13 09:04:38 +00:00
vm_fault.c Use %s __func__ to print the actual function name (been looking at 2017-02-14 01:20:03 +00:00
vm_glue.c
vm_init.c
vm_kern.c
vm_kern.h
vm_map.c
vm_map.h
vm_meter.c
vm_mmap.c Rework r313352. 2017-02-13 09:04:38 +00:00
vm_object.c Avoid page lookups in the top-level object in vm_object_madvise(). 2017-01-30 18:51:43 +00:00
vm_object.h Consistently handle negative or wrapping offsets in the mmap(2) syscalls. 2017-02-12 21:05:44 +00:00
vm_page.c Over the years, the code and comments in vm_page_startup() have diverged in 2017-02-04 05:23:10 +00:00
vm_page.h
vm_pageout.c try to fix RACCT_RSS accounting 2017-02-14 13:54:05 +00:00
vm_pageout.h
vm_pager.c
vm_pager.h
vm_param.h
vm_phys.c Ifdef out the unused vm_rr_selectdomain(). 2017-02-02 17:44:55 +00:00
vm_phys.h
vm_radix.c
vm_radix.h
vm_reserv.c
vm_reserv.h
vm_unix.c
vm.h
vnode_pager.c
vnode_pager.h