Re: [RFC] fs, proc: Introduce the /proc/<pid>/map_files/ directoryv2

From: Pavel Emelyanov
Date: Wed Aug 24 2011 - 05:34:22 EST


On 08/24/2011 01:21 PM, Pekka Enberg wrote:
> On Wed, Aug 24, 2011 at 11:53 AM, Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote:
>> From: Pavel Emelyanov <xemul@xxxxxxxxxxxxx>
>>
>> This one behaves similarly to the /proc/<pid>/fd/ one - it contains symlinks
>> one for each mapping with file, the name of a symlink is vma->vm_start, the
>> target is the file. Opening a symlink results in a file that point exactly
>> to the same inode as them vma's one.
>>
>> This thing is aimed to help checkpointing processes.
>
> OK, but you really should explain _how_ this will help with checkpointing.

This helps in three ways:

1. When dumping a task mappings we do know exact file that is mapped by particular
region. We do this by opening /proc/pid/map_files/address symlink the way we do
with file descriptors.

2. This also helps in determining which anonymous shared mappings are shared with
each other by comparing the inodes of them.

3. When restoring a set of process in case two of them has a mapping shared, we map
the memory by the 1st one and then open its /proc/pid/map_files/address file and
map it by the 2nd task.

> Pekka
> .
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/