On Tue, 2018-11-13 at 08:45 +1100, Dave Chinner wrote: > On Mon, Nov 12, 2018 at 02:12:08PM -0600, Eric Sandeen wrote: > > On 11/10/18 7:21 PM, Joe Perches wrote: > > > Reduce total object size quite a bit (~32KB) and presumably > > > improve performance at the same time. > > > > > > Total object size old vs new (x86-64 defconfig with xfs) > > > > > > text data bss dec hex filename > > > - 959351 165573 632 1125556 112cb4 (TOTALS) (old) > > > + 924683 165669 632 1090984 10a5a8 (TOTALS) (new) > > > > And what does it do to maximum stack excursions? > > Better yet: what does it do to corruption stack traces and debugging > tools like profiling traces? > > i.e. this noinline directive isn't about stack usage, this is about > being able to debug production code. Basically the compiler inliner > is so agressive on static functions that it makes it impossible to > decipher the stack traces. It flattens them way too much to > be able to tell how we got to a specific location in the code. > > In reality, being able to find problems quickly and efficiently is > far more important to us than being able to run everything at > ludicrous speed.... Is that really a compelling argument given thw ~50:50 split of static/STATIC uses in xfs? $ git grep -w STATIC fs/xfs/ | wc -l 1064 $ git grep -w static fs/xfs/ | wc -l 942