Re: [PATCH V2 3/7] x86/entry: move PUSH_AND_CLEAR_REGS out of error_entry

From: Peter Zijlstra
Date: Thu Mar 03 2022 - 03:55:19 EST


On Thu, Mar 03, 2022 at 11:54:30AM +0800, Lai Jiangshan wrote:
> From: Lai Jiangshan <jiangshan.ljs@xxxxxxxxxxxx>
>
> Moving PUSH_AND_CLEAR_REGS out of error_entry doesn't change any
> functionality. It will enlarge the size:
>
> size arch/x86/entry/entry_64.o.before:
> text data bss dec hex filename
> 17916 384 0 18300 477c arch/x86/entry/entry_64.o
>
> size --format=SysV arch/x86/entry/entry_64.o.before:
> .entry.text 5528 0
> .orc_unwind 6456 0
> .orc_unwind_ip 4304 0
>
> size arch/x86/entry/entry_64.o.after:
> text data bss dec hex filename
> 26868 384 0 27252 6a74 arch/x86/entry/entry_64.o
>
> size --format=SysV arch/x86/entry/entry_64.o.after:
> .entry.text 8200 0
> .orc_unwind 10224 0
> .orc_unwind_ip 6816 0
>
> But .entry.text in x86_64 is 2M aligned, enlarging it to 8.2k doesn't
> enlarge the final text size.
>
> The tables .orc_unwind[_ip] are enlarged due to it adds many pushes.
>
> It is prepared for not calling error_entry() from XENPV in later patch
> and for future converting the whole error_entry into C code.

And also, IIUC, folding that int80 thing a few patches down, right?