Messages in this thread | | | Subject | Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out | From | Steven Rostedt <> | Date | Mon, 03 Oct 2011 11:47:26 -0400 |
| |
On Mon, 2011-10-03 at 11:02 -0400, Jason Baron wrote:
> if (!enabled) > arch_jump_label_transform(iter, JUMP_LABEL_DISABLE); > > > > + if (iterk == key) > > continue; > > > > - key = (struct jump_label_key *)(unsigned long)iter->key; > > - atomic_set(&key->enabled, 0); > > + key = iterk; > > key->entries = iter; > > #ifdef CONFIG_MODULES > > key->next = NULL; > > @@ -212,7 +208,7 @@ void jump_label_apply_nops(struct module *mod) > > return; > > > > for (iter = iter_start; iter < iter_stop; iter++) > > - arch_jump_label_text_poke_early(iter->code); > > + arch_jump_label_transform(iter, JUMP_LABEL_DISABLE); > > } > > > > static int jump_label_add_module(struct module *mod) > > -- > > 1.7.6.2 > > > > hmmm...this is used on module load in smp - so this would introduce a number of > calls to stop_machine() where we didn't have them before. Yes, module > load is a very slow path to begin with, but I think its at least worth > pointing out...
And it is a good point to point out. As stop_machine becomes noticeable by users on large scale CPU boxes. Ideally, we want to avoid stopmachine when we do not need it.
-- Steve
| |