Google
  Web www.spinics.net

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


[Newbies FAQ]     [Kernel List]     [Site Home]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Rubini]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Networking]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]     [DDR & Rambus]     [UNIX Filesystems]     [Linux Resources]

Add to Google Powered by Linux