linux/Documentation/vm
Cyrill Gorcunov d9104d1ca9 mm: track vma changes with VM_SOFTDIRTY bit
Pavel reported that in case if vma area get unmapped and then mapped (or
expanded) in-place, the soft dirty tracker won't be able to recognize this
situation since it works on pte level and ptes are get zapped on unmap,
loosing soft dirty bit of course.

So to resolve this situation we need to track actions on vma level, there
VM_SOFTDIRTY flag comes in.  When new vma area created (or old expanded)
we set this bit, and keep it here until application calls for clearing
soft dirty bit.

Thus when user space application track memory changes now it can detect if
vma area is renewed.

Reported-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Matt Mackall <mpm@selenic.com>
Cc: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: Rob Landley <rob@landley.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-09-11 15:57:56 -07:00
..
.gitignore Documentation/vm/.gitignore: add page-types 2009-09-24 07:20:57 -07:00
00-INDEX slub: doc: update the slabinfo.c file path 2011-08-31 20:10:17 +03:00
active_mm.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
balance page allocator: use allocation flags as an index to the zone watermark 2009-06-16 19:47:35 -07:00
cleancache.txt Cleanups: rename of flush to invalidate, moving reporting of statistics 2012-03-22 19:52:47 -07:00
frontswap.txt doc: fix quite a few typos within Documentation 2012-11-19 14:28:24 +01:00
highmem.txt mm: highmem documentation 2010-10-26 16:52:08 -07:00
hugetlbpage.txt hugepage: mention libhugetlbfs in doc 2013-09-11 15:57:39 -07:00
hwpoison.txt Documentation: update cgroupfs mount point 2011-06-15 21:52:50 -07:00
ksm.txt ksm: add some comments 2013-02-23 17:50:23 -08:00
locking mm: Convert i_mmap_lock to a mutex 2011-05-25 08:39:18 -07:00
numa doc: fix broken references 2011-09-27 18:08:04 +02:00
numa_memory_policy.txt Doc: Fix typo s/packages/packaged 2010-09-21 17:03:27 +02:00
overcommit-accounting mm: limit growth of 3% hardcoded other user reserve 2013-04-29 15:54:36 -07:00
page_migration trivial: fix where cgroup documentation is not correctly referred to 2009-03-30 15:22:02 +02:00
pagemap.txt Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-07-04 11:40:58 -07:00
slub.txt Documentations: Fix slabinfo.c directory in vm/slub.txt 2012-05-10 11:45:23 +03:00
soft-dirty.txt mm: track vma changes with VM_SOFTDIRTY bit 2013-09-11 15:57:56 -07:00
transhuge.txt mm/thp: fix doc for transparent huge zero page 2013-07-09 10:33:23 -07:00
unevictable-lru.txt mm: remove vma arg from page_evictable 2012-10-09 16:22:55 +09:00
zswap.txt zswap: add documentation 2013-07-10 18:11:34 -07:00