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

From: Richard Guenther
Date: Mon Sep 20 2010 - 10:30:50 EST


On Sun, 19 Sep 2010, Nikanth Karthikesan wrote:

> 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.

Looks like /proc/kpageflags is root-only, so not a solution for gdb.

Richard.
--
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/