On 12/06/18 13:50, Nadav Amit wrote: > GCC considers the number of statements in inlined assembly blocks, > according to new-lines and semicolons, as an indication to the cost of > the block in time and space. This data is distorted by the kernel code, > which puts information in alternative sections. As a result, the > compiler may perform incorrect inlining and branch optimizations. > > The solution is to set an assembly macro and call it from the inlined > assembly block. As a result GCC considers the inline assembly block as > a single instruction. > > The effect of the patch is a more aggressive inlining, which also > causes a size increase of kernel. > > text data bss dec hex filename > 18147336 10226688 2957312 31331336 1de1408 ./vmlinux before > 18162555 10226288 2957312 31346155 1de4deb ./vmlinux after (+14819) > > Static text symbols: > Before: 40053 > After: 39942 (-111) > > Cc: Juergen Gross <jgr...@suse.com> > Cc: Alok Kataria <akata...@vmware.com> > Cc: Thomas Gleixner <t...@linutronix.de> > Cc: Ingo Molnar <mi...@redhat.com> > Cc: "H. Peter Anvin" <h...@zytor.com> > Cc: x...@kernel.org > Cc: virtualization@lists.linux-foundation.org > > Signed-off-by: Nadav Amit <na...@vmware.com>
Reviewed-by: Juergen Gross <jgr...@suse.com> Juergen _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization