From: Jeremy Fitzhardinge Subject: Re: [PATCH RFC 0/8] jump-label: allow early jump_label_enable() Date: Thu, 29 Sep 2011 21:40:57 -0700 Message-ID: <4E854859.4020105@goop.org> References: <1317343975.4588.36.camel@gandalf.stny.rr.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1317343975.4588.36.camel@gandalf.stny.rr.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Steven Rostedt Cc: Xen Devel , Jan Glauber , Jason Baron , the arch/x86 maintainers , David Daney , Linux Kernel Mailing List , Michael Ellerman , Jeremy Fitzhardinge , "David S. Miller" List-Id: xen-devel@lists.xenproject.org On 09/29/2011 05:52 PM, Steven Rostedt wrote: > On Thu, 2011-09-29 at 16:26 -0700, Jeremy Fitzhardinge wrote: >> From: Jeremy Fitzhardinge >> >> One big question which arises is whether the _early() function is >> necessary at all. All the stop_machine/mutex/etc stuff that >> arch_jump_label_transform() ends up doing is redundant pre-SMP, but it >> shouldn't hurt. Maybe we can just drop the _early function? It works >> on x86, at least, because jump_label_enable() works, which uses the full >> form. And dropping it would reduce this to a very much smaller series. > It does slow down the boot process, which is not a good thing when > everyone is pushing for the fastest restarts. Would it really though? stop_machine() doesn't do very much when there are no other cpus. Not that I measured or anything, but there was no obvious big lag at boot. > What we should probably do is have a global read_mostly variable called, > smp_activated or something, then things that can be called before and > after can read this variable to determine if it can skip certain > protections. Could do that if it turns out to be a problem. > While we're at it, perhaps we could add a memory_initialized for things > like tracers that want to trace early but need to wait till it can > allocate buffers. If we had this flag, it could instead do an early > memory init to create the buffers. That seems orthogonal to the jump_label changes. J