Thread (7 messages) 7 messages, 6 authors, 2011-03-23

Re: ext4 deep stack with mark_page_dirty reclaim

From: Chris Mason <hidden>
Date: 2011-03-15 16:27:33
Also in: lkml

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:
quoted
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...
quoted
quoted
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, 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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help