Messages in this thread | | | Date | Thu, 27 Feb 1997 15:55:34 +0100 (MET) | From | Ingo Molnar <> | Subject | Re: a.out binaries that are 66% faster than ELF, problem found? |
| |
On Thu, 27 Feb 1997, Bernd Schmidt wrote:
> > for example, aic7xxx_isr() has a real stack usage of 53 bytes, > > There aren't only the variables at the start of the function. Look a bit > further down, somewhere in a local block they allocate a huge array. [...]
ok, to avoid such problems in the future, here is a one-liner shell-script that lists the largest stacks in the system (x86). (also a good candidate for the ugliest shellscript ever):
---------------------------------------------------------------------> objdump --disassemble vmlinux | grep esp | grep subl | grep -v '+' | awk '{print $4","$2}' | cut -c4- | awk -F , '{print " "$1" "$3}' | grep -E '^ ... <' | sort -r | tee ueberstacks.txt <--------------------------------------------------------------------
In my setup this gives the following ueberstacks.txt:
49c <aic7xxx_isr> 448 <smb_proc_readdir_long> 440 <smb_proc_setattr_trans2> 424 <smb_proc_getattr_trans2> 424 <aic7xxx_reset_device> 294 <elf_core_dump> 240 <block_write> 240 <block_read> 218 <cdrom_read_intr> 200 <scsi_make_blocked_list> 200 <cdrom_buffer_sectors> 18c <smb_read_super> 18c <fat_readdirx> 17c <aout_core_dump> 144 <nfsiod> 140 <smb_lookup> 13c <smb_notify_change> 13c <smb_create> 138 <read_core> 138 <do_mount_root> 130 <do_execve> 12c <scan_scsis> 128 <SHATransform> 124 <vc_resize> 118 <aic7xxx_detect> 10c <smb_proc_reconnect> 10c <load_elf_binary> 108 <sys_sendmsg> 100 <sys_semop> 100 <isofs_get_last_session>
Brave souls might want to enable all config options and see what happens?
-- mingo
| |