Re: [PATCH v2] After swapout/swapin private dirty mappings are reported clean in smaps

From: Nikanth Karthikesan
Date: Sun Sep 19 2010 - 23:54:10 EST


On Wednesday 15 September 2010 19:44:17 Richard Guenther wrote:
> On Wed, 15 Sep 2010, Balbir Singh wrote:
> > * Nikanth Karthikesan <knikanth@xxxxxxx> [2010-09-15 12:01:11]:
> > > How? Current smaps information without this patch provides incorrect
> > > information. Just because a private dirty page became part of swap
> > > cache, it shown as clean and backed by a file. If it is shown as clean
> > > and backed by swap then it is fine.
> >
> > How is GDB using this information?
>
> GDB counts the number of dirty and swapped pages in a private mapping and
> based on that decides whether it needs to dump it to a core file or not.
> If there are no dirty or swapped pages gdb assumes it can reconstruct
> the mapping from the original backing file. This way for example
> shared libraries do not end up in the core file.
>

Well, may be /proc/pid/pagemap + /proc/kpageflags is enough for this! One can
get the pageflags using these interfaces. See Documentation/vm/pagemap.txt for
the explanation on how to do it. There is also a sample program that prints
page flags using this interface in Documentation/vm/page-types.c.

It is bad that /proc/pid/pagemap is never mentioned in
Documentation/filesystems/proc.txt. I will send a patch to rectify this.

Thanks
Nikanth
--
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/