All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikanth Karthikesan <knikanth@suse.de>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Richard Guenther <rguenther@suse.de>,
	linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
	balbir@linux.vnet.ibm.com, Michael Matz <matz@novell.com>,
	Matt Mackall <mpm@selenic.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] After swapout/swapin private dirty mappings are reported clean in smaps
Date: Wed, 15 Sep 2010 12:01:11 +0530	[thread overview]
Message-ID: <201009151201.11359.knikanth@suse.de> (raw)
In-Reply-To: <20100915141710.C9F7.A69D9226@jp.fujitsu.com>

On Wednesday 15 September 2010 10:50:25 KOSAKI Motohiro wrote:
> > On Wednesday 15 September 2010 10:18:11 KOSAKI Motohiro wrote:
> > > > On Wednesday 15 September 2010 05:56:36 KOSAKI Motohiro wrote:
> > > > > > diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
> > > > > > index 439fc1f..06fc468 100644
> > > > > > --- a/fs/proc/task_mmu.c
> > > > > > +++ b/fs/proc/task_mmu.c
> > > > > > @@ -368,7 +368,11 @@ static int smaps_pte_range(pmd_t *pmd,
> > > > > > unsigned long addr, unsigned long end, mss->shared_clean +=
> > > > > > PAGE_SIZE; mss->pss += (PAGE_SIZE << PSS_SHIFT) / mapcount;
> > > > > >  		} else {
> > > > > > -			if (pte_dirty(ptent))
> > > > > > +			/*
> > > > > > +			 * File-backed pages, now anonymous are dirty
> > > > > > +			 * with respect to the file.
> > > > > > +			 */
> > > > > > +			if (pte_dirty(ptent) || (vma->vm_file && PageAnon(page)))
> > > > > >  				mss->private_dirty += PAGE_SIZE;
> > > > > >  			else
> > > > > >  				mss->private_clean += PAGE_SIZE;
> > > > >
> > > > > This is risky than v1. number of dirties are used a lot of
> > > > > application.
> > > >
> > > > This is exactly to help those applications, as currently after
> > > > swap-out and swap-in, the same pages are accounted as
> > > > "Private_Clean:" instead of "Private_Dirty:".
> > >
> > > I don't think so.
> >
> > Actually this behaviour is observed. With a simple memhog, you can see
> > pages which are "Private_Dirty:", become "Swap:" and then to
> > "Private_Clean:". And that confused GDB.
> 
> As I said, incorrect information is always no good solustion. We should
>  concern how to provide good and enough information, but not how to lie.
> If currect gdb is crappy, it should fix.
> 

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.

Thanks
Nikanth

> > > incorrect infomation bring a lot of confusion rather than
> > >  its worth.
> 

WARNING: multiple messages have this Message-ID (diff)
From: Nikanth Karthikesan <knikanth@suse.de>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Richard Guenther <rguenther@suse.de>,
	linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
	balbir@linux.vnet.ibm.com, Michael Matz <matz@novell.com>,
	Matt Mackall <mpm@selenic.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] After swapout/swapin private dirty mappings are reported clean in smaps
Date: Wed, 15 Sep 2010 12:01:11 +0530	[thread overview]
Message-ID: <201009151201.11359.knikanth@suse.de> (raw)
In-Reply-To: <20100915141710.C9F7.A69D9226@jp.fujitsu.com>

On Wednesday 15 September 2010 10:50:25 KOSAKI Motohiro wrote:
> > On Wednesday 15 September 2010 10:18:11 KOSAKI Motohiro wrote:
> > > > On Wednesday 15 September 2010 05:56:36 KOSAKI Motohiro wrote:
> > > > > > diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
> > > > > > index 439fc1f..06fc468 100644
> > > > > > --- a/fs/proc/task_mmu.c
> > > > > > +++ b/fs/proc/task_mmu.c
> > > > > > @@ -368,7 +368,11 @@ static int smaps_pte_range(pmd_t *pmd,
> > > > > > unsigned long addr, unsigned long end, mss->shared_clean +=
> > > > > > PAGE_SIZE; mss->pss += (PAGE_SIZE << PSS_SHIFT) / mapcount;
> > > > > >  		} else {
> > > > > > -			if (pte_dirty(ptent))
> > > > > > +			/*
> > > > > > +			 * File-backed pages, now anonymous are dirty
> > > > > > +			 * with respect to the file.
> > > > > > +			 */
> > > > > > +			if (pte_dirty(ptent) || (vma->vm_file && PageAnon(page)))
> > > > > >  				mss->private_dirty += PAGE_SIZE;
> > > > > >  			else
> > > > > >  				mss->private_clean += PAGE_SIZE;
> > > > >
> > > > > This is risky than v1. number of dirties are used a lot of
> > > > > application.
> > > >
> > > > This is exactly to help those applications, as currently after
> > > > swap-out and swap-in, the same pages are accounted as
> > > > "Private_Clean:" instead of "Private_Dirty:".
> > >
> > > I don't think so.
> >
> > Actually this behaviour is observed. With a simple memhog, you can see
> > pages which are "Private_Dirty:", become "Swap:" and then to
> > "Private_Clean:". And that confused GDB.
> 
> As I said, incorrect information is always no good solustion. We should
>  concern how to provide good and enough information, but not how to lie.
> If currect gdb is crappy, it should fix.
> 

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.

Thanks
Nikanth

> > > incorrect infomation bring a lot of confusion rather than
> > >  its worth.
> 

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2010-09-15  6:28 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-14 11:10 [PATCH] After swapout/swapin private dirty mappings become clean Nikanth Karthikesan
2010-09-14 11:10 ` Nikanth Karthikesan
2010-09-14 11:33 ` Richard Guenther
2010-09-14 11:33   ` Richard Guenther
2010-09-14 17:12   ` Nikanth Karthikesan
2010-09-14 17:12     ` Nikanth Karthikesan
2010-09-14 17:14     ` [PATCH v2] After swapout/swapin private dirty mappings are reported clean in smaps Nikanth Karthikesan
2010-09-14 17:14       ` Nikanth Karthikesan
2010-09-15  0:26       ` KOSAKI Motohiro
2010-09-15  0:26         ` KOSAKI Motohiro
2010-09-15  4:38         ` Nikanth Karthikesan
2010-09-15  4:38           ` Nikanth Karthikesan
2010-09-15  4:48           ` KOSAKI Motohiro
2010-09-15  4:48             ` KOSAKI Motohiro
2010-09-15  5:04             ` Nikanth Karthikesan
2010-09-15  5:04               ` Nikanth Karthikesan
2010-09-15  5:20               ` KOSAKI Motohiro
2010-09-15  5:20                 ` KOSAKI Motohiro
2010-09-15  6:31                 ` Nikanth Karthikesan [this message]
2010-09-15  6:31                   ` Nikanth Karthikesan
2010-09-15 14:09                   ` Balbir Singh
2010-09-15 14:09                     ` Balbir Singh
2010-09-15 14:14                     ` Richard Guenther
2010-09-15 14:14                       ` Richard Guenther
2010-09-15 14:46                       ` Matt Mackall
2010-09-15 14:46                         ` Matt Mackall
2010-09-15 14:53                         ` Richard Guenther
2010-09-15 14:53                           ` Richard Guenther
2010-09-15 17:24                           ` Matt Mackall
2010-09-15 17:24                             ` Matt Mackall
2010-09-15 19:08                             ` Richard Guenther
2010-09-15 19:08                               ` Richard Guenther
2010-09-15 19:18                             ` Hugh Dickins
2010-09-15 19:18                               ` Hugh Dickins
2010-09-15 19:46                               ` Matt Mackall
2010-09-15 19:46                                 ` Matt Mackall
2010-09-15 19:53                                 ` Richard Guenther
2010-09-15 19:53                                   ` Richard Guenther
2010-09-15 21:47                                 ` Hugh Dickins
2010-09-15 21:47                                   ` Hugh Dickins
2010-09-16  3:26                                   ` [PATCH] Export amount of anonymous memory in a mapping via smaps Nikanth Karthikesan
2010-09-16  3:26                                     ` Nikanth Karthikesan
2010-09-16  3:52                                     ` KOSAKI Motohiro
2010-09-16  3:52                                       ` KOSAKI Motohiro
2010-09-16  6:04                                       ` [PATCH] Document the new Anonymous field in smaps Nikanth Karthikesan
2010-09-16  6:04                                         ` Nikanth Karthikesan
2010-09-16  6:34                                         ` [PATCH] smaps: fix dirty pages accounting KOSAKI Motohiro
2010-09-16  6:34                                           ` KOSAKI Motohiro
2010-09-16 16:56                                           ` Hugh Dickins
2010-09-16 16:56                                             ` Hugh Dickins
2010-09-16 16:50                                         ` [PATCH] Document the new Anonymous field in smaps Hugh Dickins
2010-09-17  6:04                                           ` [PATCH v2] " Nikanth Karthikesan
2010-09-17  6:04                                             ` Nikanth Karthikesan
2010-09-20  7:11                                             ` Hugh Dickins
2010-09-20 19:24                                               ` Matt Mackall
2010-09-20 19:24                                                 ` Matt Mackall
2010-09-16 16:40                                     ` [PATCH] Export amount of anonymous memory in a mapping via smaps Hugh Dickins
2010-09-16 16:40                                       ` Hugh Dickins
2010-09-15 17:41                       ` [PATCH v2] After swapout/swapin private dirty mappings are reported clean in smaps Balbir Singh
2010-09-15 17:41                         ` Balbir Singh
2010-09-19 17:37                       ` Nikanth Karthikesan
2010-09-19 17:37                         ` Nikanth Karthikesan
2010-09-19 17:38                         ` [PATCH] Document /proc/pid/pagemap in Documentation/filesystems/proc.txt Nikanth Karthikesan
2010-09-19 17:38                           ` Nikanth Karthikesan
2010-09-20 21:27                           ` Matt Mackall
2010-09-20 21:27                             ` Matt Mackall
2010-09-20  5:24                         ` [PATCH v2] After swapout/swapin private dirty mappings are reported clean in smaps Nikanth Karthikesan
2010-09-20  5:24                           ` Nikanth Karthikesan
2010-09-20 14:30                         ` Richard Guenther
2010-09-20 14:30                           ` Richard Guenther
2010-09-15  0:24 ` [PATCH] After swapout/swapin private dirty mappings become clean KOSAKI Motohiro
2010-09-15  0:24   ` KOSAKI Motohiro
2010-09-15  4:37   ` Nikanth Karthikesan
2010-09-15  4:37     ` Nikanth Karthikesan
2010-09-15  4:46     ` KOSAKI Motohiro
2010-09-15  4:46       ` KOSAKI Motohiro
2010-09-15  5:00       ` Nikanth Karthikesan
2010-09-15  5:00         ` Nikanth Karthikesan
2010-09-15  5:15         ` KOSAKI Motohiro
2010-09-15  5:15           ` KOSAKI Motohiro
2010-09-15  6:29           ` Nikanth Karthikesan
2010-09-15  6:29             ` Nikanth Karthikesan
2010-09-15  8:40         ` Richard Guenther
2010-09-15  8:40           ` Richard Guenther
2010-09-16  1:29           ` KOSAKI Motohiro
2010-09-16  1:29             ` KOSAKI Motohiro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201009151201.11359.knikanth@suse.de \
    --to=knikanth@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=matz@novell.com \
    --cc=mpm@selenic.com \
    --cc=rguenther@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.