lkml.org 
[lkml]   [2011]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
From
Date
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




\
 
 \ /
  Last update: 2011-10-03 17:49    [W:0.139 / U:1.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site