[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <78d6b193-f248-559c-b153-9af571daa0d7@suse.com>
Date: Thu, 24 Jun 2021 14:12:51 +0200
From: Juergen Gross <jgross@...e.com>
To: Peter Zijlstra <peterz@...radead.org>, jpoimboe@...hat.com,
tglx@...utronix.de
Cc: linux-kernel@...r.kernel.org, joro@...tes.org,
boris.ostrovsky@...cle.com, x86@...nel.org, mbenes@...e.com,
rostedt@...dmis.org, dvyukov@...gle.com, elver@...gle.com
Subject: Re: [PATCH v2 23/24] x86/xen: Rework the xen_{cpu,irq,mmu}_ops[]
arrays
On 24.06.21 11:41, Peter Zijlstra wrote:
> In order to allow objtool to make sense of all the various paravirt
> functions, it needs to either parse whole pv_ops[] tables, or observe
> individual assignments in the form:
>
> bf87: 48 c7 05 00 00 00 00 00 00 00 00 movq $0x0,0x0(%rip)
> bf92 <xen_init_spinlocks+0x5f>
> bf8a: R_X86_64_PC32 pv_ops+0x268
>
> As is, xen_cpu_ops[] is at offset +0 in pv_ops[] and could thus be
> parsed as a 'normal' pv_ops[] table, however xen_irq_ops[] and
> xen_mmu_ops[] are not.
>
> Worse, both the latter two are compiled into the individual assignment
> for by current GCC, but that's not something one can rely on.
>
> Therefore, convert all three into full pv_ops[] tables. This has the
> benefit of not needing to teach objtool about the offsets and
> resulting in more conservative code-gen.
>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
First I was worried by the additional memory consumption, but as the
modified tables are all tagged to be __init I don't think this matters.
So:
Reviewed-by: Juergen Gross <jgross@...e.com>
Juergen
Download attachment "OpenPGP_0xB0DE9DD628BF132F.asc" of type "application/pgp-keys" (3092 bytes)
Download attachment "OpenPGP_signature" of type "application/pgp-signature" (496 bytes)
Powered by blists - more mailing lists