[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Xen-devel] Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
- To: Richard Henderson <rth@xxxxxxxxxx>
- From: Steven Rostedt <rostedt@xxxxxxxxxxx>
- Date: Thu, 06 Oct 2011 15:28:39 -0400
- Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, arch/x86 maintainers <x86@xxxxxxxxxx>, Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>, David Daney <david.daney@xxxxxxxxxx>, peterz@xxxxxxxxxxxxx, Jason Baron <jbaron@xxxxxxxxxx>, Jan Glauber <jang@xxxxxxxxxxxxxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, Michael Ellerman <michael@xxxxxxxxxxxxxx>, Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, "H. Peter Anvin" <hpa@xxxxxxxxx>, the, "David S. Miller" <davem@xxxxxxxxxxxxx>
- Delivery-date: Thu, 06 Oct 2011 12:31:13 -0700
- List-id: Xen developer discussion <xen-devel.lists.xensource.com>
On Thu, 2011-10-06 at 11:50 -0700, Richard Henderson wrote:
> On 10/06/2011 11:26 AM, Steven Rostedt wrote:
>
> >
> > That jmp to l_yes should easily be a two byte jump.
>
> Until the compiler decides to re-order the code. That's the problem --
> in the general case you do not know how far away the destination is really
> going to be.
Yeah, I was discussing this with Peter Zijlstra on IRC.
>
> There are a couple of possibilities for improvement:
>
> (1) Do as Jason suggests above and let the assembler figure out the size
> of the branch that is needed. Without adding more data to __jump_table,
> you'll want to be extremely careful about checking the two pointers to
> see what size branch has been installed.
Yeah, that could be done at patch time.
>
> (2) Always reserve 5 bytes of space, but if the distance is small enough
> patch in a 2-byte jump. That doesn't help with the icache footprint.
I don't think this one is worth it.
-- Steve
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
- References:
- [Xen-devel] [PATCH RFC V2 0/5] jump-label: allow early jump_label_enable()
- From: Jeremy Fitzhardinge
- [Xen-devel] [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
- From: Jeremy Fitzhardinge
- [Xen-devel] Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
- [Xen-devel] Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
- From: Jeremy Fitzhardinge
- [Xen-devel] Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
- [Xen-devel] Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
- [Xen-devel] Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
- From: Jeremy Fitzhardinge
- [Xen-devel] Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
- [Xen-devel] Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
- From: Jeremy Fitzhardinge
- [Xen-devel] Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
- [Xen-devel] Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
- [Xen-devel] Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
|