On Mon, Aug 30, 2021 at 07:55:02AM +0200, Juergen Gross wrote:
From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Subject: [PATCH] x86/xen: Move hypercall_page to top of the file
Because hypercall_page is page-aligned, the assembler inexplicably adds
an unreachable jump from after the end of the previous code to the
beginning of hypercall_page.
That confuses objtool, understandably. It also creates significant text
fragmentation. As a result, much of the object file is wasted text
(nops).
Move hypercall_page to the beginning of the file to both prevent the
text fragmentation and avoid the dead jump instruction.
$ size /tmp/head_64.before.o /tmp/head_64.after.o
text data bss dec hex filename
10924 307252 4096 322272 4eae0
/tmp/head_64.before.o
6823 307252 4096 318171 4dadb
/tmp/head_64.after.o
Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx
Reviewed-by: Juergen Gross <jgross@xxxxxxxx>
Umm, will this be carried through the tip tree, or shall I take it in
the xen tree?
I have it in the whole x86/objtool/paravirt series. I you want it in the
Xen tree, I'll be happy to drop it from there, although I hope to get
all that merged this cycles somewhere.
Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature