Date: Tue, 30 Nov 1999 10:22:36 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Marcel Moolenaar <marcel@scc.nl> Cc: Ville-Pertti Keinonen <will@iki.fi>, current@FreeBSD.ORG Subject: Re: kernel: -mpreferred-stack-boundary=2 ?? Message-ID: <199911301822.KAA26455@apollo.backplane.com> References: <19991130133337.25847.qmail@ns.demophon.com> <199911301735.JAA25885@apollo.backplane.com> <384410F3.F5247785@scc.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
:> I can't think of a single case where the stack isn't inherently :> 4-byte aligned already, whether you use the option or not. : :It's more a case of overriding the new behaviour of gcc to align the :stack on 16-byte boundaries by default (for performance reasons for the :PIII SIMD instructions, IIRC) : :> To whomever added the option: Did you actually test to see that :> this option resulted in an improvement? If not, I recommend removing :> it. It sounds like unnecessary extra junk to me. : :For the bootcode the option is necessary. It does remove a lot of "subl :$..,%esp" instructions that bloated the code, which in turn prevented :boot2 to build. It's not necessary for kernel/module builds. But the :option does prevent a lot of unnecessary alignment instructions in the :code... : :Maybe -mpreferred-stack-boundary=2 should be the default so that we :don't need the option in the general case. Overriding this in certain :cases, can be considered an optimisation... : :-- :Marcel Moolenaar mailto:marcel@scc.nl SIMD? It sounds like they are trying to enforce alignment against the cache line size in general. I can sorta see how it might help, but it's a huge waste of space! -rwxr-xr-x 1 root wheel 2051069 Nov 29 17:59 kernel EGCS -rwxr-xr-x 1 root wheel 2081364 Nov 30 10:18 kernel NEW GCC -rwxr-xr-x 1 root wheel 2008468 Nov 30 10:15 kernel NEW GCC w/ -m The new GCC does a better job verses the old EGCS if you use the option to limit alignment to 4 bytes. If you do not use the option the 16 byte alignment adds 70K to the size of the kernel. All I can say to that is "bleh". The real question is whether performance is actually improved significantly or not. If not, I'd sent a nasty email to the gcc folks :-) The extra subl's are not going to cost anything in regards to cpu so the real question is whether the cache line alignment boosts performance. -Matt Matthew Dillon <dillon@backplane.com> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199911301822.KAA26455>