From: Peter Zijlstra <peterz@infradead.org>
To: Jason Baron <jbaron@redhat.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
Steven Rostedt <rostedt@goodmis.org>,
"David S. Miller" <davem@davemloft.net>,
David Daney <david.daney@cavium.com>,
Michael Ellerman <michael@ellerman.id.au>,
Jan Glauber <jang@linux.vnet.ibm.com>,
the arch/x86 maintainers <x86@kernel.org>,
Xen Devel <xen-devel@lists.xensource.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@elte.hu>, "H. Peter Anvin" <hpa@zytor.com>,
Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
rth@redhat.com
Subject: Re: [PATCH RFC V4 06/10] jump_label: add arch_jump_label_transform_static() to optimise non-live code updates
Date: Thu, 13 Oct 2011 18:32:05 +0200 [thread overview]
Message-ID: <1318523526.27731.18.camel@twins> (raw)
In-Reply-To: <20111013155553.GD2455@redhat.com>
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?
next prev parent reply other threads:[~2011-10-13 16:32 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-13 0:08 [PATCH RFC V4 00/10] jump-label: allow early jump_label_enable() Jeremy Fitzhardinge
[not found] ` <cover.1318464413.git.jeremy.fitzhardinge@citrix.com>
2011-10-13 0:08 ` [PATCH RFC V4 01/10] jump_label: use proper atomic_t initializer Jeremy Fitzhardinge
2011-10-13 0:08 ` [PATCH RFC V4 02/10] stop_machine: make stop_machine safe and efficient to call early Jeremy Fitzhardinge
2011-10-13 0:08 ` [PATCH RFC V4 03/10] jump_label: if a key has already been initialized, don't nop it out Jeremy Fitzhardinge
2011-10-13 0:08 ` [PATCH RFC V4 04/10] x86/jump_label: drop arch_jump_label_text_poke_early() Jeremy Fitzhardinge
2011-10-13 10:15 ` Peter Zijlstra
2011-10-13 0:08 ` [PATCH RFC V4 05/10] sparc/jump_label: " Jeremy Fitzhardinge
2011-10-13 0:08 ` [PATCH RFC V4 06/10] jump_label: add arch_jump_label_transform_static() to optimise non-live code updates Jeremy Fitzhardinge
2011-10-13 10:32 ` Peter Zijlstra
2011-10-13 13:54 ` Jason Baron
2011-10-13 15:29 ` Peter Zijlstra
2011-10-13 15:55 ` Jason Baron
2011-10-13 16:32 ` Peter Zijlstra [this message]
2011-10-13 0:08 ` [PATCH RFC V4 07/10] s390/jump-label: add arch_jump_label_transform_static() Jeremy Fitzhardinge
2011-10-13 0:08 ` [PATCH RFC V4 08/10] x86/jump_label: " Jeremy Fitzhardinge
2011-10-13 10:36 ` Peter Zijlstra
2011-10-13 0:08 ` [PATCH RFC V4 09/10] x86/jump_label: use GENERIC_NOP5_ATOMIC instead of jmp5 +0 Jeremy Fitzhardinge
2011-10-13 15:40 ` H. Peter Anvin
2011-10-13 16:50 ` Jeremy Fitzhardinge
2011-10-14 21:52 ` H. Peter Anvin
2011-10-13 16:57 ` Jeremy Fitzhardinge
2011-10-13 18:37 ` Steven Rostedt
2011-10-14 21:53 ` H. Peter Anvin
2011-10-15 0:22 ` Steven Rostedt
2011-10-14 21:53 ` H. Peter Anvin
2011-10-13 0:08 ` [PATCH RFC V4 10/10] jump-label: initialize jump-label subsystem much earlier Jeremy Fitzhardinge
2011-10-13 10:43 ` Peter Zijlstra
2011-10-13 13:59 ` Jason Baron
2011-10-13 16:56 ` Jeremy Fitzhardinge
2011-10-14 21:51 ` Jeremy Fitzhardinge
2011-10-15 8:42 ` Peter Zijlstra
2011-10-16 1:52 ` Jeremy Fitzhardinge
2011-10-18 11:02 ` Peter Zijlstra
2011-10-25 17:56 ` Jeremy Fitzhardinge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1318523526.27731.18.camel@twins \
--to=peterz@infradead.org \
--cc=davem@davemloft.net \
--cc=david.daney@cavium.com \
--cc=hpa@zytor.com \
--cc=jang@linux.vnet.ibm.com \
--cc=jbaron@redhat.com \
--cc=jeremy.fitzhardinge@citrix.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michael@ellerman.id.au \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.org \
--cc=rth@redhat.com \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox