lkml.org 
[lkml]   [2011]   [Apr]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] jump_label,x86: use text_poke_smp_batch for entries update
On Fri, Apr 29, 2011 at 11:15:09AM -0400, Jason Baron wrote:
> On Thu, Apr 28, 2011 at 10:52:41PM +0200, Jiri Olsa wrote:
> > Changing the jump label update code to use batch processing
> > for x86 architectures.
> >
> > Currently each jump label update calls text_poke_smp for each
> > jump label key entry. Thus one key update ends up calling stop
> > machine multiple times.
> >
>
> cool. Batching the updates is a nice idea.
>
> > This patch is using text_poke_smp_batch, which is called for
> > all the key's entries. Ensuring the stop machine is called
> > only once.
> >
>
> Since we walk the modules list per key (calling __jump_label_update()),
> this is not always the case. I'm wondering then if maybe what we want to do
> is 'queue' each update from the core code. Then, when the queue fills
> up, we flush out the queue. In this way, we cover jump labels that might
> be in both the core kernel and in modules. This also has the side effect
> of moving code such as:
>
> /*
> * The entry->code set to 0 invalidates module
> * init text
> * sections (see
> * jump_label_invalidate_module_init).
> */
> if (!entry->code || !kernel_text_address(entry->code))
> continue;
>
>
> out of the arch code into the generic code, which in my opinion is a bit
> cleaner. thoughts?

nice, we'd safe another few stop machine calls
I'll update the patch

thanks,
jirka


\
 
 \ /
  Last update: 2011-04-29 17:41    [W:0.066 / U:0.728 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site