Messages in this thread | | | Date | Thu, 11 Jul 2013 02:04:27 +0200 (CEST) | From | Jiri Kosina <> | Subject | Re: [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
| |