[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out



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



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.