From: Andrew Morton <akpm@zip.com.au>
To: William Lee Irwin III <wli@holomorphy.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, riel@surriel.com
Subject: Re: statm_pgd_range() sucks!
Date: Wed, 04 Sep 2002 23:49:21 -0700 [thread overview]
Message-ID: <3D76FE71.E6633D03@zip.com.au> (raw)
In-Reply-To: <20020905060534.GZ888@holomorphy.com>
William Lee Irwin III wrote:
>
> William Lee Irwin III wrote:
> >> I lost track of what the TODO's were but this is of relatively minor
> >> import, and I lagged long enough this is against 2.5.33-mm2:
>
> On Wed, Sep 04, 2002 at 09:48:07PM -0700, Andrew Morton wrote:
> > Well the TODO was to worry about the (very) incorrect reporting of
> > mapping occupancy. mmap(1G file), touch one byte of it (or none)
> > and the thing will report 1G?
>
> I don't know of anything actually meant to report mapping occupancy
> (except full RSS) before or after this patch. Or have I blundered?
statm_pgd_range(pgd, vma->vm_start, vma->vm_end, &pages, &shared, &dirty, &total);
^^^^^
`pages' there is the number of actually resident pages, yes?
And it gets fed into trs, drs and lrs.
But converting it to this:
+ int pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
...
+ if (vma->vm_flags & VM_SHARED)
+ shared += pages;
Will mean that `shared' can be vastly overestimated. I think??
> On Wed, Sep 04, 2002 at 09:48:07PM -0700, Andrew Morton wrote:
> > We figured that per-vma rss accounting would be easy and would fix
> > it, then we remembered that vma's can be split into two, which
> > screwed that plan most royally.
> > Maybe when a VMA is split, we set the new VMA to have an rss of zero,
> > and keep on doing the accounting. That way, the sum-of-vmas is
> > still correct even though the individual ones are wildly wrong??
>
> Hmm, that could get hairy depending on how we want them grouped. It
> might be better just to maintain RSS counters for the kinds of mappings
> we're interested in. Doing pagetable walks to make splitvma() do that
> right could perform poorly. Otherwise we'd have to find another
> instance of the same kind of thing to "donate" our RSS to on unmap.
A walk in split_vma would be unpopular.. Could we separate mm->rss
up into text, stack and library or something?
Or do we just not care? I guess it's conceivably useful to know
the residency of each mapping, but there doesn't seem to be an
existing proc interface for that anyway. And having them all
rolled up into an mm-wide number is a lot of information loss.
--
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/
next prev parent reply other threads:[~2002-09-05 6:49 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-30 1:58 William Lee Irwin III
2002-08-30 2:51 ` Andrew Morton
2002-08-30 3:12 ` William Lee Irwin III
2002-08-30 3:54 ` Andrew Morton
2002-08-30 17:45 ` Gerrit Huizenga
2002-09-01 22:02 ` Daniel Phillips
2002-09-05 3:20 ` William Lee Irwin III
2002-09-05 4:48 ` Andrew Morton
2002-09-05 6:05 ` William Lee Irwin III
2002-09-05 6:49 ` Andrew Morton [this message]
2002-09-05 7:07 ` William Lee Irwin III
2002-09-05 6:22 ` William Lee Irwin III
2002-08-30 8:24 ` Anton Blanchard
2002-08-30 8:31 ` William Lee Irwin III
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=3D76FE71.E6633D03@zip.com.au \
--to=akpm@zip.com.au \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=riel@surriel.com \
--cc=wli@holomorphy.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