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+0xc6from 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>