This adds the allocation of dynamic trampolines. It still does not
allow for dynamic ftrace_ops to use them on CONFIG_PREEMPT systems.
That will come in 3.20, as I want to test out call_rcu_tasks() for
a bit first on my own boxes.
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
for-next
Head SHA1: 9fd7caf67913fbf35d834beaa8f9764d733a9236
Steven Rostedt (Red Hat) (4):
ftrace/x86: Add dynamic allocated trampoline for ftrace_ops
ftrace/x86: Show trampoline call function in enabled_functions
ftrace/x86: Allow !CONFIG_PREEMPT dynamic ops to use allocated trampolines
ftrace: Add more information to ftrace_bug() output
----
arch/powerpc/kernel/ftrace.c | 2 +-
arch/x86/kernel/ftrace.c | 281 +++++++++++++++++++++++++++++++++++++++++--
arch/x86/kernel/mcount_64.S | 25 +++-
include/linux/ftrace.h | 12 +-
kernel/trace/ftrace.c | 118 +++++++++++++++---
5 files changed, 409 insertions(+), 29 deletions(-)
On Mon, 27 Oct 2014, Steven Rostedt wrote:
> This adds the allocation of dynamic trampolines. It still does not
> allow for dynamic ftrace_ops to use them on CONFIG_PREEMPT systems.
> That will come in 3.20, as I want to test out call_rcu_tasks() for
> a bit first on my own boxes.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
> for-next
>
> Head SHA1: 9fd7caf67913fbf35d834beaa8f9764d733a9236
>
>
> Steven Rostedt (Red Hat) (4):
> ftrace/x86: Add dynamic allocated trampoline for ftrace_ops
> ftrace/x86: Show trampoline call function in enabled_functions
> ftrace/x86: Allow !CONFIG_PREEMPT dynamic ops to use allocated trampolines
> ftrace: Add more information to ftrace_bug() output
FWIW I just did a very quick test, and kGraft seems to run flawlessly on
top of this.
Thanks,
--
Jiri Kosina
SUSE Labs
On Wed, 29 Oct 2014 17:27:30 +0100 (CET)
Jiri Kosina <[email protected]> wrote:
> On Mon, 27 Oct 2014, Steven Rostedt wrote:
>
> > This adds the allocation of dynamic trampolines. It still does not
> > allow for dynamic ftrace_ops to use them on CONFIG_PREEMPT systems.
> > That will come in 3.20, as I want to test out call_rcu_tasks() for
> > a bit first on my own boxes.
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
> > for-next
> >
> > Head SHA1: 9fd7caf67913fbf35d834beaa8f9764d733a9236
> >
> >
> > Steven Rostedt (Red Hat) (4):
> > ftrace/x86: Add dynamic allocated trampoline for ftrace_ops
> > ftrace/x86: Show trampoline call function in enabled_functions
> > ftrace/x86: Allow !CONFIG_PREEMPT dynamic ops to use allocated trampolines
> > ftrace: Add more information to ftrace_bug() output
>
> FWIW I just did a very quick test, and kGraft seems to run flawlessly on
> top of this.
>
Does that mean I can add your Tested-by: for all these patches?
-- Steve
On Thu, 30 Oct 2014, Steven Rostedt wrote:
> > > This adds the allocation of dynamic trampolines. It still does not
> > > allow for dynamic ftrace_ops to use them on CONFIG_PREEMPT systems.
> > > That will come in 3.20, as I want to test out call_rcu_tasks() for
> > > a bit first on my own boxes.
> > >
> > > git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
> > > for-next
> > >
> > > Head SHA1: 9fd7caf67913fbf35d834beaa8f9764d733a9236
> > >
> > >
> > > Steven Rostedt (Red Hat) (4):
> > > ftrace/x86: Add dynamic allocated trampoline for ftrace_ops
> > > ftrace/x86: Show trampoline call function in enabled_functions
> > > ftrace/x86: Allow !CONFIG_PREEMPT dynamic ops to use allocated trampolines
> > > ftrace: Add more information to ftrace_bug() output
> >
> > FWIW I just did a very quick test, and kGraft seems to run flawlessly on
> > top of this.
> >
>
> Does that mean I can add your Tested-by: for all these patches?
Yup, Tested-by: is fine by me, thanks.
I haven't yet read the code though, so anything other than this tag isn't
applicable.
--
Jiri Kosina
SUSE Labs
(2014/10/28 3:27), Steven Rostedt wrote:
> This adds the allocation of dynamic trampolines. It still does not
> allow for dynamic ftrace_ops to use them on CONFIG_PREEMPT systems.
> That will come in 3.20, as I want to test out call_rcu_tasks() for
> a bit first on my own boxes.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
> for-next
>
> Head SHA1: 9fd7caf67913fbf35d834beaa8f9764d733a9236
Anyway, usually flush_icache_range() is not so critical. I've tested
this with ftracetest and following 2 testcases :)
http://marc.info/?l=linux-kernel&m=141150834012382
http://marc.info/?l=linux-kernel&m=141353397907456
Tested-by: Masami Hiramatsu <[email protected]>
for this series.
Thank you,
--
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Research Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: [email protected]