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