linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Eric B Munson <emunson@mgebm.net>
To: Dave Hansen <dave@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	Michael J Wolf <mjwolf@us.ibm.com>,
	Andrea Arcangeli <aarcange@redhat.com>
Subject: Re: [PATCH 0/5] fix up /proc/$pid/smaps to not split huge pages
Date: Tue, 15 Feb 2011 11:55:10 -0500	[thread overview]
Message-ID: <20110215165510.GA2550@mgebm.net> (raw)
In-Reply-To: <20110209195406.B9F23C9F@kernel>

[-- Attachment #1: Type: text/plain, Size: 2318 bytes --]

On Wed, 09 Feb 2011, Dave Hansen wrote:

> Andrea, after playing with this for a week or two, I'm quite a bit
> more confident that it's not causing much harm.  Seems a fairly
> low-risk feature.  Could we stick these somewhere so they'll at
> least hit linux-next for the 2.6.40 cycle perhaps?
> 
> --
> 
> I'm working on some more reports that transparent huge pages and
> KSM do not play nicely together.  Basically, whenever THP's are
> present along with KSM, there is a lot of attrition over time,
> and we do not see much overall progress keeping THP's around:
> 
> 	http://sr71.net/~dave/ibm/038_System_Anonymous_Pages.png
> 
> (That's Karl Rister's graph, thanks Karl!)
> 
> However, I realized that we do not currently have a nice way to
> find out where individual THP's might be on the system.  We
> have an overall count, but no way of telling which processes or
> VMAs they might be in.
> 
> I started to implement this in the /proc/$pid/smaps code, but
> quickly realized that the lib/pagewalk.c code unconditionally
> splits THPs up.  This set reworks that code a bit and, in the
> end, gives you a per-map count of the numbers of huge pages.
> It also makes it possible for page walks to _not_ split THPs.
> 

I have been running these patches on top of 2.6.38-rc4 all
morning and looked at a number of smaps files for processes
using THP areas.  They don't seem to be pulled apart as my
AnonHugePages: counter in meminfo is stable.

I am noticing in smaps that KernelPageSize is wrong of areas
that have been merged into THP.  For instance:

7ff852a00000-7ff852c00000 rw-p 00000000 00:00 0 
Size:               2048 kB
Rss:                2048 kB
Pss:                2048 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:      2048 kB
Referenced:         2048 kB
Anonymous:          2048 kB
AnonHugePages:      2048 kB
Swap:                  0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Locked:                0 kB

The entire mapping is contained in a THP but the
KernelPageSize shows 4kb.  For cases where the mapping might
have mixed page sizes this may be okay, but for this
particular mapping the 4kb page size is wrong.

Tested-by: Eric B Munson <emunson@mgebm.net>

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

  parent reply	other threads:[~2011-02-15 16:55 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-09 19:54 Dave Hansen
2011-02-09 19:54 ` [PATCH 1/5] pagewalk: only split huge pages when necessary Dave Hansen
2011-02-10 11:11   ` Mel Gorman
2011-02-10 13:19     ` Andrea Arcangeli
2011-02-10 13:34       ` Mel Gorman
2011-02-09 19:54 ` [PATCH 2/5] break out smaps_pte_entry() from smaps_pte_range() Dave Hansen
2011-02-10 11:15   ` Mel Gorman
2011-02-09 19:54 ` [PATCH 3/5] pass pte size argument in to smaps_pte_entry() Dave Hansen
2011-02-10 11:16   ` Mel Gorman
2011-02-09 19:54 ` [PATCH 4/5] teach smaps_pte_range() about THP pmds Dave Hansen
2011-02-10 11:17   ` Mel Gorman
2011-02-10 18:08   ` Andrea Arcangeli
2011-02-10 19:32     ` Dave Hansen
2011-02-09 19:54 ` [PATCH 5/5] have smaps show transparent huge pages Dave Hansen
2011-02-10 11:20   ` Mel Gorman
2011-02-10 15:01     ` Dave Hansen
2011-02-10 15:09       ` Mel Gorman
2011-02-10 18:09         ` Andrea Arcangeli
2011-02-10 18:20           ` Dave Hansen
2011-02-10 18:39             ` Andrea Arcangeli
2011-02-09 21:24 ` [PATCH 0/5] fix up /proc/$pid/smaps to not split " Andrea Arcangeli
2011-02-20 21:54   ` David Rientjes
2011-02-15 16:55 ` Eric B Munson [this message]
2011-02-15 17:01   ` Andrea Arcangeli
2011-02-15 17:05     ` Dave Hansen
2011-02-15 18:00       ` Andrea Arcangeli
2011-02-22  1:53 Dave Hansen

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=20110215165510.GA2550@mgebm.net \
    --to=emunson@mgebm.net \
    --cc=aarcange@redhat.com \
    --cc=dave@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mjwolf@us.ibm.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox