From: Alexey Dobriyan <adobriyan@gmail.com>
To: Mel Gorman <mel@csn.ul.ie>
Cc: akpm@linux-foundation.org, kosaki.motohiro@jp.fujitsu.com,
dave@linux.vnet.ibm.com, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] Report the pagesize backing a VMA in /proc/pid/maps
Date: Sun, 5 Oct 2008 02:13:39 +0400 [thread overview]
Message-ID: <20081004221339.GA20175@x200.localdomain> (raw)
In-Reply-To: <1223052415-18956-3-git-send-email-mel@csn.ul.ie>
On Fri, Oct 03, 2008 at 05:46:55PM +0100, Mel Gorman wrote:
> This patch adds a new field for hugepage-backed memory regions to show the
> pagesize in /proc/pid/maps. While the information is available in smaps,
> maps is more human-readable and does not incur the cost of calculating Pss. An
> example of a /proc/self/maps output for an application using hugepages with
> this patch applied is;
>
> 08048000-0804c000 r-xp 00000000 03:01 49135 /bin/cat
> 0804c000-0804d000 rw-p 00003000 03:01 49135 /bin/cat
> 08400000-08800000 rw-p 00000000 00:10 4055 /mnt/libhugetlbfs.tmp.QzPPTJ (deleted) (hpagesize=4096kB)
> To be predictable for parsers, the patch adds the notion of reporting on VMA
> attributes by appending one or more fields that look like "(attribute)". This
> already happens when a file is deleted and the user sees (deleted) after the
> filename. The expectation is that existing parsers will not break as those
> that read the filename should be reading forward after the inode number
> and stopping when it sees something that is not part of the filename.
> Parsers that assume everything after / is a filename will get confused by
> (hpagesize=XkB) but are already broken due to (deleted).
Looks like procps will start showing hpagesize tag as a mapping name
(apologies for pasting crappy code):
static const char *mapping_name(proc_t *p, unsigned KLONG addr, unsigned KLONG len, const char *mapbuf, unsigned showpath, unsigned dev_major, unsigned dev_minor, unsigned long long inode){
const char *cp;
if(!dev_major && dev_minor==shm_minor && strstr(mapbuf,"/SYSV")){
static char shmbuf[64];
snprintf(shmbuf, sizeof shmbuf, " [ shmid=0x%Lx ]", inode);
return shmbuf;
}
cp = strrchr(mapbuf,'/');
if(cp){
if(showpath) return strchr(mapbuf,'/');
return cp[1] ? cp+1 : cp;
}
cp = strchr(mapbuf,'/');
if(cp){
if(showpath) return cp;
return strrchr(cp,'/') + 1; // it WILL succeed
}
cp = " [ anon ]";
if( (p->start_stack >= addr) && (p->start_stack <= addr+len) ) cp = " [ stack ]";
return cp;
}
static int one_proc(proc_t *p){
...
while(fgets(mapbuf,sizeof mapbuf,stdin)){
...
if(x_option){
const char *cp = mapping_name(p, start, diff, mapbuf, 0, dev_major, dev_minor, inode);
printf(
(sizeof(KLONG)==8)
? "%016"KLF"x %7lu - - - %s %s\n"
: "%08lx %7lu - - - %s %s\n",
start,
(unsigned long)(diff>>10),
flags,
cp
);
}
--
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>
next prev parent reply other threads:[~2008-10-04 22:11 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-03 16:46 [PATCH 0/2] Report the size of pages backing VMAs in /proc V3 Mel Gorman
2008-10-03 16:46 ` [PATCH 1/2] Report the pagesize backing a VMA in /proc/pid/smaps Mel Gorman
2008-10-08 21:38 ` Alexey Dobriyan
2008-10-09 2:16 ` KOSAKI Motohiro
2008-10-09 10:24 ` Mel Gorman
2008-10-03 16:46 ` [PATCH 2/2] Report the pagesize backing a VMA in /proc/pid/maps Mel Gorman
2008-10-04 8:14 ` KOSAKI Motohiro
2008-10-04 12:04 ` [RFC PATCH] Report the shmid backing a VMA in maps KOSAKI Motohiro
2008-10-04 12:07 ` KOSAKI Motohiro
2008-10-04 21:52 ` Alexey Dobriyan
2008-10-05 5:48 ` KOSAKI Motohiro
2008-10-04 22:13 ` Alexey Dobriyan [this message]
2008-10-05 6:00 ` [PATCH 2/2] Report the pagesize backing a VMA in /proc/pid/maps KOSAKI Motohiro
2008-10-06 10:09 ` Mel Gorman
-- strict thread matches above, loose matches on Subject: below --
2008-09-22 1:38 [PATCH 0/2] Report the pagesize backing VMAs in /proc Mel Gorman
2008-09-22 1:38 ` [PATCH 2/2] Report the pagesize backing a VMA in /proc/pid/maps Mel Gorman
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=20081004221339.GA20175@x200.localdomain \
--to=adobriyan@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=dave@linux.vnet.ibm.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
/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