On Thursday 31 August 2006 20:33, Badari Pulavarty wrote:
> On Thu, 2006-08-31 at 20:10 +0200, Andi Kleen wrote:
>
> > Should be fixed in .19
>
> Andi,
>
> I am looking at the "validity" of the stack traces. What I
> find is that "unwinder" is skipping few stack frames..
>
> As you can see from the following stack - it shows
>
> msync_interval() ->
> set_page_dirty() ->
> __set_page_dirty_buffers()
>
> But actual trace is (looking at the code):
>
> msync_interval() ->
> msync_page_range() ->
> msync_pud_range() ->
> msync_pgd_range() ->
> msync_pte_range() ->
> set_page_dirty() ->
> __set_page_dirty_buffers()
>
> Why is it skipping all msync_page/pud/pgd/pte_range() routines ?
Most likely because they're inlined. gcc tends to always inline static functions
with only a single caller, which is usually true for all the nested page table functions
in mm/*. Inlined functions (or tail called functions like return foo()) are invisible
to the unwinder.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]