[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1300206353-sup-9759@think>
Date: Tue, 15 Mar 2011 12:26:43 -0400
From: Chris Mason <chris.mason@...cle.com>
To: dave <dave@...os.cz>
Cc: linux-kernel <linux-kernel@...r.kernel.org>,
linux-mm <linux-mm@...ck.org>, adilger <adilger@...ger.ca>
Subject: Re: ext4 deep stack with mark_page_dirty reclaim
Excerpts from David Sterba's message of 2011-03-15 11:22:22 -0400:
> On Mon, Mar 14, 2011 at 07:25:10PM -0700, Andreas Dilger wrote:
> > Is there a script which you used to generate this stack trace to
> > function size mapping, or did you do it by hand? I've always wanted
> > such a script, but the tricky part is that there is so much garbage on
> > the stack that any automated stack parsing is almost useless.
> > Alternately, it would seem trivial to have the stack dumper print the
> > relative address of each symbol, and the delta from the previous
> > symbol...
>
> > > 240 schedule+0x25a
> > > 368 io_schedule+0x35
> > > 32 get_request_wait+0xc6
>
> from the callstack:
>
> ffff88007a704338 schedule+0x25a
> ffff88007a7044a8 io_schedule+0x35
> ffff88007a7044c8 get_request_wait+0xc6
>
> subtract the values and you get the ones Ted posted,
>
> eg. for get_request_wait:
>
> 0xffff88007a7044c8 - 0xffff88007a7044a8 = 32
>
> There'se a script scripts/checkstack.pl which tries to determine stack
> usage from 'objdump -d' looking for the 'sub 0x123,%rsp' instruction and
> reporting the 0x123 as stack consumption. It does not give same results,
> for the get_request_wait:
>
> ffffffff81216205: 48 83 ec 68 sub $0x68,%rsp
>
> reported as 104.
Also, the ftrace stack usage tracer gives more verbose output that
includes the size of each function.
-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists