In article <[email protected]>, Martin Husemann <[email protected]> wrote: >Hey folks, > >triggered by some experiments simonb did on mips I wrote a script to find >the functions using the bigest stack frame in my current sparc64 kernel. > >The top 15 list is: > >Frame/b Function >4096 pci_conf_print at pci_subr.c:4812 >4096 dtv_demux_read at dtv_demux.c:493 >3536 SHA3_Selftest at sha3.c:430 >3408 genfb_calc_hsize at genfb.c:630 >3248 radeonfb_pickres at radeonfb.c:4127 >2304 radeonfb_set_cursor at radeonfb.c:3690 >2272 gem_pci_attach at if_gem_pci.c:147 >2256 twoway_memmem at memmem.c:84 >2240 bwfm_rx_event_cb at bwfm.c:2099 >2240 compat_60_ptmget_ioctl at tty_60.c:70 >2112 db_stack_trace_print at db_trace.c:77 >1664 wdcprobe_with_reset at wdc.c:491 >1424 nfsrv_rename at nfs_serv.c:1906 >1408 OF_mapintr at ofw_machdep.c:728 >1344 sysctl_hw_firmware_path at firmload.c:81 >1280 fw_bmr at firewire.c:2296 >1264 cdioctl at cd.c:1204 >1248 cpu_reset_fpustate at cpu.c:400 >1248 aubtfwl_attach_hook at aubtfwl.c:273 >1248 uvm_swap_stats at uvm_swap.c:726 > >(left column is size of the frame on sparc64 in bytes) > >I think anything > 1k is dubious and should be checked.
I agree, here is the same for x86_64/GENERIC... 4408 ffffffff8027af14:pci_conf_print+0xd 4128 ffffffff80a8dca0:dtv_demux_read+0xb 3352 ffffffff80b940bb:procfs_domounts+0xd 3272 ffffffff80e36b4b:SHA3_Selftest+0xd 3264 ffffffff80c677da:coredump_note_elf64+0xb 3240 ffffffff80b537c6:genfb_calc_hsize.isra.0+0x5 2704 ffffffff80c66a88:coredump_note_elf32+0xb 2408 ffffffff80227a71:process_machdep_doxstate+0xd 2184 ffffffff804381fd:linux_ioctl_termios+0xd 2168 ffffffff80440b2d:linux32_ioctl_termios+0xd 2112 ffffffff802c5579:gem_pci_attach+0xb 2104 ffffffff80e465c3:twoway_memmem+0xd 2088 ffffffff806b5c18:bwfm_rx_event_cb+0xd 2072 ffffffff8097e221:compat_60_ptmget_ioctl+0xd 2064 ffffffff8053ce72:db_stack_trace_print+0x11 1488 ffffffff8064f943:wdcprobe_with_reset+0xb 1384 ffffffff80d7ee2b:ipmi_match+0x9 1328 ffffffff80467a95:usb_add_event+0x7 1304 ffffffff80ba85bb:nfsrv_rename+0xd 1256 ffffffff8053069f:acpicpu_md_pstate_sysctl_all+0xd 1256 ffffffff8052cd13:acpicpu_start+0x9 1240 ffffffff8043b162:linux_sys_rt_sigreturn+0x9 1192 ffffffff80b9392a:procfs_do_pid_stat+0xd 1176 ffffffff80d70810:sysctl_hw_firmware_path+0xd 1160 ffffffff807b30a3:radeon_cs_ioctl+0xd 1128 ffffffff8044610f:oss_ioctl_mixer+0xd 1128 ffffffff8024dd3c:cdioctl+0xd 1112 ffffffff80c633ca:uvm_swap_stats.part.1+0xd 1104 ffffffff804fdf59:fw_bmr+0xb 1096 ffffffff80c8c0ab:ktrwrite+0xd 1080 ffffffff80573ca6:ahc_print_register+0xd 1080 ffffffff80550de8:procfs_getonecpu+0xd 1080 ffffffff8048d95e:aubtfwl_attach_hook+0x9 1064 ffffffff80cf925d:proc_regio+0xd 1064 ffffffff80ccb407:bufq_alloc+0xd 1064 ffffffff80ae8090:ar5112SetPowerTable+0xd 1064 ffffffff80582aa0:ahd_print_register+0xd 1064 ffffffff80568a53:tpmread+0xd 1064 ffffffff80382262:txp_attach+0xd 1064 ffffffff802636da:ata_probe_caps+0xd 1048 ffffffff80e06097:ar9003_paprd_tx_tone_done+0xd 1048 ffffffff80d87e9b:sdl_print+0x9 1048 ffffffff80c67604:coredump_getseghdrs_elf64+0xd
