stack trace dump and analysis in linux kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



As a result of a recent patch (I forgotten which one), the kernel
stack trace now can display like the following:

 [<c042bad6>] warn_on_slowpath+0x46/0x56
 [<c0415a33>] ? apic_wait_icr_idle+0x16/0x1d
 [<c0415243>] ? __send_IPI_dest_field+0x50/0x54
 [<c04020e5>] ? send_IPI_mask+0xd/0xf
 [<c046773c>] ? get_pageblock_flags_group+0x50/0x6e
 [<c046777e>] ? get_pageblock_migratetype+0x24/0x27
 [<c0468472>] ? free_hot_page+0xf/0x11
 [<c0468494>] ? __free_pages+0x20/0x2b
 [<c047f471>] ? __free_slab+0xac/0xb4
 [<c0480754>] kmem_cache_destroy+0xfe/0x108
 [<f8d337c0>] nf_conntrack_cleanup+0x53/0x7a [nf_conntrack]
 [<f8d3766d>] nf_conntrack_standalone_fini+0x1c/0x1e [nf_conntrack]
 [<c044b56f>] sys_delete_module+0x177/0x1af
 [<c0472c00>] ? remove_vma+0x31/0x53
 [<c0473468>] ? do_munmap+0x182/0x19c
 [<c0404bae>] sysenter_past_esp+0x6a/0x90
 [<c0640000>] ? pci_scan_bridge+0x1dc/0x2eb

Notice the "?" in front of the function, which is to indicate that
this function has just been executed and returned, so it is no longer
on the stack.

Some questions:

a.   Generally,  the start of the stack trace dumping should start
with the current function - warn_on_slowpath....and then walking
backwards....(towards higher end of virtual memory) identifying frame
by frame...correct? in the current case....how is it able to retrieve
the "?" functions?

b.   notice that to identify all the previously executed functions -
it cannot just blinding walk backward the stack....the virtual address
as shown actually move up and down....how is the traversing done?

c.   what are these parameters xxx/yyy after the fucntion names?

d.   sometimes there is a square bracker with function names inside.
why?  what does that mean?

-- 
Regards,
Peter Teoh

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux