From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752184Ab2GUCVK (ORCPT ); Fri, 20 Jul 2012 22:21:10 -0400 Received: from hrndva-omtalb.mail.rr.com ([71.74.56.122]:26516 "EHLO hrndva-omtalb.mail.rr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751669Ab2GUCVI (ORCPT ); Fri, 20 Jul 2012 22:21:08 -0400 X-Authority-Analysis: v=2.0 cv=ZuBv2qHG c=1 sm=0 a=s5Htg7xnQOKvHEu9STBOug==:17 a=OpT9cpI26MMA:10 a=Ciwy3NGCPMMA:10 a=9JffKFENbIYA:10 a=5SG0PmZfjMsA:10 a=bbbx4UPp9XUA:10 a=meVymXHHAAAA:8 a=VwQbUJbxAAAA:8 a=zUdNcWRJiuJ6KYwvtrwA:9 a=QEXdDO2ut3YA:10 a=YbNPXYEMyD8QA41JLDoA:9 a=s5Htg7xnQOKvHEu9STBOug==:117 X-Cloudmark-Score: 0 X-Originating-IP: 72.230.195.127 Message-Id: <20120721021943.274162381@goodmis.org> User-Agent: quilt/0.60-1 Date: Fri, 20 Jul 2012 22:19:43 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Ingo Molnar , Andrew Morton , Masami Hiramatsu , Frederic Weisbecker , Thomas Gleixner , "H. Peter Anvin" Subject: [PATCH 00/19] [GIT PULL][v3.6] ftrace: Allow kprobes to work with ftace Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="00GvhwF7k39YY" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --00GvhwF7k39YY Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Ingo, This patch series extends ftrace function tracing utility to be more dynamic for its users. It allows for data passing to the callback functions, as well as reading regs as if a breakpoint were to trigger at function entry. The main goal of this patch series was to allow kprobes to use ftrace as an optimized probe point when a probe is placed on an ftrace nop. With lots of help from Masami Hiramatsu, and going through lots of iterations, we finally came up with a good solution. I've tested it vigorously (although, like always, there may be some subtle bug), but I feel it is ready for inclussion for the 3.6 merge window. Please pull the latest tip/perf/core tree, which can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git tip/perf/core Head SHA1: aa5e57294ac5614ac395a9733d3e050eace4764e Masami Hiramatsu (5): ftrace: add ftrace_set_filter_ip() for address based filter kprobes: cleanup to separate probe-able check kprobes: Move locks into appropriate functions kprobes: introduce ftrace based optimization kprobes/x86: ftrace based optimization for x86 Steven Rostedt (13): ftrace: Pass ftrace_ops as third parameter to function trace callback ftrace: Consolidate arch dependent functions with 'list' function ftrace: Return pt_regs to function trace callback ftrace/x86_32: Push ftrace_ops in as 3rd parameter to function tracer ftrace/x86: Add separate function to save regs ftrace/x86: Add save_regs for i386 function calls ftrace/x86: Remove function_trace_stop check from graph caller ftrace: Add default recursion protection for function tracing ftrace: Only compile ftrace selftest if selftests are enabled ftrace: Add selftest to test function trace recursion protection ftrace: Add selftest to test function save-regs support kprobes: Inverse taking of module_mutex with kprobe_mutex ftrace: Make ftrace_location() a nop on !DYNAMIC_FTRACE Uros Bizjak (1): ftrace/x86_32: Simplify parameter setup for ftrace_regs_caller ---- arch/x86/include/asm/ftrace.h | 49 +++--- arch/x86/include/asm/kprobes.h | 1 + arch/x86/kernel/entry_32.S | 75 ++++++++- arch/x86/kernel/entry_64.S | 96 +++++++++-- arch/x86/kernel/ftrace.c | 73 ++++++++- arch/x86/kernel/kprobes.c | 48 ++++++ include/linux/ftrace.h | 158 ++++++++++++++++-- include/linux/kprobes.h | 27 ++++ kernel/kprobes.c | 250 ++++++++++++++++++++-------- kernel/trace/Makefile | 2 + kernel/trace/ftrace.c | 322 ++++++++++++++++++++++++++++-----= ---- kernel/trace/trace.h | 2 +- kernel/trace/trace_event_perf.c | 3 +- kernel/trace/trace_events.c | 4 +- kernel/trace/trace_functions.c | 14 +- kernel/trace/trace_irqsoff.c | 5 +- kernel/trace/trace_sched_wakeup.c | 5 +- kernel/trace/trace_selftest.c | 277 ++++++++++++++++++++++++++++++- kernel/trace/trace_stack.c | 4 +- 19 files changed, 1199 insertions(+), 216 deletions(-) --00GvhwF7k39YY Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJQChINAAoJEIy3vGnGbaoAe7sP/RHTGWHhal+hi/pfTJL1Q/YA Iw1WGlLqKy+9TExttIYv5GLQO8wmaxAP6P5XOyw1Xevc8gPp3Zx8Y6Kp8aG/ptoH a7cFI+QtErbn32VY0Q4M4JAcvLSCOGhZ9TgKpOry8sHJ4P/45CGtNZorvZmFVkea 6MXGS7LSXO3teO7yM9o9xcTjh9JtQKL6NHjpRved7mJl6fUD+rxJJMk4tHNHjFbH LXLRc8EKXo3aWazmHf2byNW65o++SICcbdG6u6KczLGFhl7lhhiglkYoiy2/Lk9j BuMn5PRVMIKaOMYbGJ0qmqYytvZ/+XlcXVAMoJ3euuP2hoJJjQKb5JCax1wVzvuu /4a5AwohlCpYiyY9aivkUeJX9UQ89s4akwScYBgbvKjtp4Wzd62itJwKjD75vGcX utpNM4raX4mVEBQnBevhLuG8P/QxqGyv9Di+x0YJGBOYs8De95oxbbfPx+6BvwDh dmhFtQU8Nk7X2VjOy2d4d8moT8PbBuaD/hBSVdN6UYS0stbyv9AYwGEZk+aipeZj lIDfBPGHIBeJNV1+iGfC4qf+8nVif04jM6Klq8MdSsKruFwu5ClPFUmecews39wK aO33BdGT8WPvJW1Ra2O9BNTFQQLkB/DeY7fwOB7erh1VHcKfuv2j/sCG6AhSnyv+ YpheGXdTNYMeszgvPnAK =Uiwj -----END PGP SIGNATURE----- --00GvhwF7k39YY--