From: Alexey Dobriyan <adobriyan@gmail.com>
To: Stefani Seibold <stefani@seibold.net>
Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] proc: remove /proc/*/status "Stack usage:"
Date: Mon, 2 Nov 2009 08:56:38 +0300 [thread overview]
Message-ID: <20091102055638.GA2186@x200> (raw)
In-Reply-To: <1257118328.7978.9.camel@wall-e>
On Mon, Nov 02, 2009 at 12:32:08AM +0100, Stefani Seibold wrote:
> Am Sonntag, den 01.11.2009, 18:53 +0300 schrieb Alexey Dobriyan:
> > On Sun, Nov 01, 2009 at 03:39:57PM +0100, Stefani Seibold wrote:
> > > Am Sonntag, den 01.11.2009, 16:15 +0300 schrieb Alexey Dobriyan:
> > > > We have /proc/*/pagemap to determine how much stack was consumed.
> > > > Leave "threadstack" though.
> > > >
> > >
> > > Stop! /proc/*/pagemap is not a real substitute for the stackm usage
> > > patch. If you have problems with this patch i will have a look on it.
> >
> > Why?
> >
> > You grab thread stack start from /proc/*/stat, then for every page of
> > stack VMA, you lookup state of page, which is exactly what you're doing
> > by employing page walker.
>
> First, as you figured out there is currently no way to get the stack
> start of a thread. But i currently check this and hope to find a
> solution in the next 24 hours.
>
> Second, this patch aims to the embedded world and there is normally no
> tools available when you need it, but /proc is always there. Especially
> outside in the field.
Poor embedded people!
There is even Documentation/vm/page-types.c which is trivially adapted
to show stack pages state.
> Like Dr Frank. N. Furter in the "Rocky Horror Picture Show" says: remove
> the cause but NOT the symptoms!
The root of the problem is that you're measuring badly defined value.
Kernel doesn't know SP register of a running task until it stops it.
Even if task is stopped or inside kernel, kernel doesn't know where
userpace stack starts, because, in theory, application can move it's
stack to anywhere.
> And the cause is the miss implemented KSTK_ESP in a x86_64. I also
> checked all other architekture depended KSTK_ESP definitions and this
> definitions looks okay for me.
next prev parent reply other threads:[~2009-11-02 5:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-01 13:15 [PATCH] proc: remove /proc/*/status "Stack usage:" Alexey Dobriyan
2009-11-01 14:39 ` Stefani Seibold
2009-11-01 15:53 ` Alexey Dobriyan
2009-11-01 23:32 ` Stefani Seibold
2009-11-02 5:56 ` Alexey Dobriyan [this message]
2009-11-02 10:13 ` Stefani Seibold
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=20091102055638.GA2186@x200 \
--to=adobriyan@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stefani@seibold.net \
/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