lkml.org 
[lkml]   [2013]   [Jul]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC] [PATCH 0/2] x86: make jump labels use int3-based breakpoint instead of stop_machine()
On Wed, 10 Jul 2013, Jason Baron wrote:

> > this is a resurrection of a few years old idea to have jump labels use
> > synchronization based on int3 breakpoint rather than relying on
> > stop_machine() with all the consequences.
> >
> > ftrace has been doing exactly this kind of patching for year since
> > 08d636b6 ("ftrace/x86: Have arch x86_64 use breakpoints instead of stop
> > machine").
> >
> > This patchset first introduces generic text_poke_bp() that provides means
> > to perform this method of patching in parallel to text_poke_smp(), and
> > then converts x86 jump label code to use it.
> >
> > If this is merged, I'll do a followup patch converting ftrace to use this
> > infrastructure as well, as it's doing the same thing in principle already.
> >
> > Comments welcome.
> >
>
> Cool. This definitely an area I've wanted to improve with jump labels.
>
> Perhaps, ftrace should be considered at this point to make sure the
> interface is suitable for both callers?

Yeah, Steven is CCed. From my understanding of the code, ftrace is
actually doing exactly what I have done for jump labels in 2/2, i.e. in
case the breakpoint is triggered, ftrace implicitly behaves like if "nop"
was the instruction that has been executed.

I even have preliminary (completely untested) patch, but would like to
have this merged/acked in the first round before proceeding with porting
ftrace to the new interface.

> Also, I wonder if its worth batching up updates. For example, right now
> we simply update each call-site one at a time even if its associated
> with the same control variable.

That does seem to make sense indeed, but it's not really closely tied to
this patchset, is it?

Thanks,

--
Jiri Kosina
SUSE Labs


\
 
 \ /
  Last update: 2013-07-11 02:41    [W:0.736 / U:0.300 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site