Cyrill Gorcunov 834f82e2aa procfs: add VmFlags field in smaps output
During c/r sessions we've found that there is no way at the moment to
fetch some VMA associated flags, such as mlock() and madvise().

This leads us to a problem -- we don't know if we should call for mlock()
and/or madvise() after restore on the vma area we're bringing back to
life.

This patch intorduces a new field into "smaps" output called VmFlags,
where all set flags associated with the particular VMA is shown as two
letter mnemonics.

[ Strictly speaking for c/r we only need mlock/madvise bits but it has been
  said that providing just a few flags looks somehow inconsistent.  So all
  flags are here now. ]

This feature is made available on CONFIG_CHECKPOINT_RESTORE=n kernels, as
other applications may start to use these fields.

The data is encoded in a somewhat awkward two letters mnemonic form, to
encourage userspace to be prepared for fields being added or removed in
the future.

[a.p.zijlstra@chello.nl: props to use for_each_set_bit]
[sfr@canb.auug.org.au: props to use array instead of struct]
[akpm@linux-foundation.org: overall redesign and simplification]
[akpm@linux-foundation.org: remove unneeded braces per sfr, avoid using bloaty for_each_set_bit()]
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: Pavel Emelyanov <xemul@parallels.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-12-17 17:15:22 -08:00
..
2011-09-27 18:08:04 +02:00
2012-01-03 22:54:57 -05:00
2009-08-19 10:40:13 -07:00
2012-12-10 16:30:43 -05:00
2012-05-10 11:45:31 +01:00
2011-11-04 12:01:48 -07:00
2012-09-17 12:00:01 -05:00
2012-08-04 01:25:20 +04:00
2011-09-27 18:08:04 +02:00
2010-05-10 11:56:30 +02:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2012-08-04 01:25:20 +04:00
2012-01-03 22:55:03 -05:00
2012-08-04 01:25:20 +04:00
2008-11-12 17:17:17 -08:00