Re: [PATCH v2 01/24] x86/xen: Mark cpu_bringup_and_idle() as dead_end_function

Juergen Gross
2021-08-30T07:56:07Z

[-- Attachment #1.1.1: Type: text/plain, Size: 1605 bytes --]

On 30.08.21 09:48, Peter Zijlstra wrote:
> On Mon, Aug 30, 2021 at 07:55:02AM +0200, Juergen Gross wrote:
>>>> From: Josh Poimboeuf <jpoimboe@redhat.com>
>>>> 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@redhat.com
>>>
>>> Reviewed-by: Juergen Gross <jgross@suse.com>
>>
>> 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.
>

Okay, I think it is better kept in your series then.

Juergen

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3135 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]