Messages in this thread | | | Subject | Re: [PATCH RFC 0/8] jump-label: allow early jump_label_enable() | From | Steven Rostedt <> | Date | Fri, 30 Sep 2011 11:28:00 -0400 |
| |
On Thu, 2011-09-29 at 21:40 -0700, Jeremy Fitzhardinge wrote: > 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 <jeremy.fitzhardinge@citrix.com> > >> > >> 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.
Just bringing up the point, but without measurements, its all hand waving. It may not be a big deal, and simpler code is always better if it doesn't harm anything else.
> > > 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.
It is. But it's something that bugs me and this just reminded me of it ;)
-- Steve
| |