| 
         
xen-devel
[Xen-devel] Re: [PATCH RFC V4 06/10] jump_label: add arch_jump_label_tra
 
| 
To:  | 
Jason Baron <jbaron@xxxxxxxxxx> | 
 
| 
Subject:  | 
[Xen-devel] Re: [PATCH RFC V4 06/10] jump_label: add arch_jump_label_transform_static() to optimise non-live code updates | 
 
| 
From:  | 
Peter Zijlstra <peterz@xxxxxxxxxxxxx> | 
 
| 
Date:  | 
Thu, 13 Oct 2011 18:32:05 +0200 | 
 
| 
Cc:  | 
rth@xxxxxxxxxx, Jeremy Fitzhardinge <jeremy@xxxxxxxx>,	the arch/x86 maintainers <x86@xxxxxxxxxx>,	"H. Peter Anvin" <hpa@xxxxxxxxx>,	Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>,	Daney <david.daney@xxxxxxxxxx>, Jan Glauber <jang@xxxxxxxxxxxxxxxxxx>,	Mailing List <linux-kernel@xxxxxxxxxxxxxxx>,	Steven Rostedt <rostedt@xxxxxxxxxxx>, David,	Michael Ellerman <michael@xxxxxxxxxxxxxx>,	Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Linux,	Ingo Molnar <mingo@xxxxxxx>, "David S. Miller" <davem@xxxxxxxxxxxxx> | 
 
| 
Delivery-date:  | 
Thu, 13 Oct 2011 09:33:22 -0700 | 
 
| 
Envelope-to:  | 
www-data@xxxxxxxxxxxxxxxxxxx | 
 
| 
In-reply-to:  | 
<20111013155553.GD2455@xxxxxxxxxx> | 
 
| 
List-help:  | 
<mailto:xen-devel-request@lists.xensource.com?subject=help> | 
 
| 
List-id:  | 
Xen developer discussion <xen-devel.lists.xensource.com> | 
 
| 
List-post:  | 
<mailto:xen-devel@lists.xensource.com> | 
 
| 
List-subscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=subscribe> | 
 
| 
List-unsubscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> | 
 
| 
References:  | 
<cover.1318464169.git.jeremy.fitzhardinge@xxxxxxxxxx>	<16f652166605c973e9817177b6ba6a081e3e5b3f.1318464413.git.jeremy.fitzhardinge@xxxxxxxxxx>	<1318501954.24856.5.camel@twins> <20111013135439.GA2455@xxxxxxxxxx>	<1318519758.27731.15.camel@twins> <20111013155553.GD2455@xxxxxxxxxx> | 
 
| 
Sender:  | 
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx | 
 
 
 
On Thu, 2011-10-13 at 11:55 -0400, Jason Baron wrote:
> > I actually need them to be either way.. no preference between on or off
> > just a means of very _very_ infrequent runtime change in behaviour.
> > 
> 
> ok, this is a new use case, all the current users are biased with gcc
> out-of-lining the infrequent case.
Right, 
> > If we can push jump_label init to before sched_init() all I need is a
> > static_branch() without the unlikely() in to avoid GCC out-of-lining the
> > branch.
> > 
> 
> hmmm....the current code (I believe) is biased  b/c gcc sees the
> branch as always false, see: arch_static_branch() - its not b/c we have
> an unlikely there. Without open coding the label, like we had before
> everybody hated, I'll have to play around and see what will create an
> unbiased branch...perhaps, somebody has an idea? 
Fix gcc and stick an unlikely in static_branch() ? :-)
> > > and by patching them early
> > > like this, at least for x86, we can avoid the stop machine calls. So its
> > > the combination of most are expected to be off and no sense to call extra
> > > stop machines that lead the code to its present state.
> > 
> > But we could use arch_jump_label_transform_static because its before we
> > actually execute any module text (sans the arg crap) which is
> > stomp-machine free, removing that obstacle.
> > 
> > Or am I confused more?
> > 
> 
> The MODULE_COMING callback happens *after* the call to 
> flush_module_icache(mod),
> so I'm not sure that is safe... 
We can issue another one of those?
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- [Xen-devel] [PATCH RFC V4 01/10] jump_label: use proper atomic_t	initializer, (continued)
- Message not available
 
- Message not available
 
 
  
- Message not available
 
- Message not available
 
- Message not available
 
 
Message not available
Message not available
Message not available
 |  
  
 | 
    |