From: Rob L. <ro...@la...> - 2005-11-21 08:31:35
|
Just curious if this is at all relevant to us, in light of the "yank 8k stacks" patch proposed... $ make checkstack objdump -d vmlinux $(find . -name '*.ko') | \ perl /home/landley/linux-2.6.15-rc1/scripts/checkstack.pl i386 0xa010ddcf buffered_vfprintf: 33168 0xa010deca buffered_vfprintf: 33168 0xa00e5d5b buffered_vfprintf: 8416 0xa00e5e43 buffered_vfprintf: 8416 0xa0121ffb __res_vinit: 8256 0xa012293a __res_vinit: 8256 0xa011199c phys_pages_info: 8212 0xa01117bf __get_nprocs: 8208 0xa010a426 _IO_vfwprintf: 4376 0xa00ebe33 _IO_wfile_seekoff: 4280 0xa00ec0b9 _IO_wfile_seekoff: 4280 0xa00f8626 __unix_grantpt: 4252 0xa00f848f grantpt: 4188 0xa01103c6 execle: 4140 0xa0005119 make_uml_dir: 4124 0xa00051bd make_uml_dir: 4124 0xa0023dc0 make_tempfile: 4124 0xa0023e5a make_tempfile: 4124 0xa00e01d7 openpty: 4124 0xa011cd40 _dl_get_origin: 4112 0xa011cdc4 _dl_get_origin: 4112 Rob |
From: Jeff D. <jd...@ad...> - 2005-11-21 14:03:45
|
On Mon, Nov 21, 2005 at 12:19:36AM -0600, Rob Landley wrote: > Just curious if this is at all relevant to us, in light of the "yank 8k > stacks" patch proposed... That's just on i386. Each arch defines its own stack size, and UML uses 16K. Not that that's good, so we might be following i386 at some point, at least to 8K. > $ make checkstack > objdump -d vmlinux $(find . -name '*.ko') | \ > perl /home/landley/linux-2.6.15-rc1/scripts/checkstack.pl i386 > 0xa010ddcf buffered_vfprintf: 33168 > 0xa010deca buffered_vfprintf: 33168 > 0xa00e5d5b buffered_vfprintf: 8416 > 0xa00e5e43 buffered_vfprintf: 8416 I don't think these are of concern, but feel free to double-check :-) If you look at the code, you'll see some care in making sure that certain things (like printf) run only on the initial process stack, which is expanded as needed by the host, and not on a UML kernel, which isn't. Jeff |
From: Blaisorblade <bla...@ya...> - 2005-11-22 19:54:54
|
On Monday 21 November 2005 07:19, Rob Landley wrote: > Just curious if this is at all relevant to us, in light of the "yank 8k > stacks" patch proposed... > > $ make checkstack > objdump -d vmlinux $(find . -name '*.ko') | \ > perl /home/landley/linux-2.6.15-rc1/scripts/checkstack.pl i386 That's _SO_ much? Ouch... I now understand a lot more why Al Viro removed printf from UML usage (I tried to use printf rather than printk to report that a console channel is disabled; I later solved the problem with the kernel sprintf + a direct write() on stdout). > 0xa010ddcf buffered_vfprintf: 33168 > 0xa010deca buffered_vfprintf: 33168 > 0xa00e5d5b buffered_vfprintf: 8416 > 0xa00e5e43 buffered_vfprintf: 8416 > 0xa0121ffb __res_vinit: 8256 > 0xa012293a __res_vinit: 8256 > 0xa011199c phys_pages_info: 8212 > 0xa01117bf __get_nprocs: 8208 > 0xa010a426 _IO_vfwprintf: 4376 > 0xa00ebe33 _IO_wfile_seekoff: 4280 > 0xa00ec0b9 _IO_wfile_seekoff: 4280 > 0xa00f8626 __unix_grantpt: 4252 > 0xa00f848f grantpt: 4188 > 0xa01103c6 execle: 4140 Ok, the two below functions are plain dumb - there's a MAXPATHLEN (i.e. PATH_MAX i.e. 4096) array on the stack, and they could happily be fixed. All the rest seems plain glibc code and thus unfixable. > 0xa0005119 make_uml_dir: 4124 > 0xa00051bd make_uml_dir: 4124 > 0xa0023dc0 make_tempfile: 4124 > 0xa0023e5a make_tempfile: 4124 > 0xa00e01d7 openpty: 4124 > 0xa011cd40 _dl_get_origin: 4112 > 0xa011cdc4 _dl_get_origin: 4112 > > Rob -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) http://www.user-mode-linux.org/~blaisorblade ___________________________________ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it |
From: Rob L. <ro...@la...> - 2005-11-23 04:44:36
|
On Tuesday 22 November 2005 13:24, Blaisorblade wrote: > Ok, the two below functions are plain dumb - there's a MAXPATHLEN (i.e. > PATH_MAX i.e. 4096) array on the stack, and they could happily be fixed. > > All the rest seems plain glibc code and thus unfixable. I can link against uClibc and see what the result is... :) Rob |