All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	x86@kernel.org, Yang Bo <yangbo@deepin.com>,
	Ingo Molnar <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>,
	linux-kernel@vger.kernel.org,
	Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Laura Abbott <labbott@redhat.com>, Josef Bacik <jbacik@fb.com>,
	Alexei Starovoitov <ast@kernel.org>
Subject: Re: [RFC PATCH -tip 0/9] kprobes: Cleanup jprobe implementation
Date: Sat, 10 Mar 2018 09:24:44 +0100	[thread overview]
Message-ID: <20180310082444.uiy7fdqlxh6qbuwp@gmail.com> (raw)
In-Reply-To: <152059891712.4214.9539716544254881611.stgit@devbox>


* Masami Hiramatsu <mhiramat@kernel.org> wrote:

> Hello,
> 
> Since we decided to remove jprobe from kernel last year,
> its APIs are disabled and we worked on moving in-kernel
> jprobe users to kprobes or trace-events. And now no jprobe
> users are here anymore.
> 
> I think it is good time to get rid of jprobe implementation
> from the kernel. However, I need other arch developers help
> to complete it, since jprobe is implemented multi arch wide.
> I can remove those code, but can not test all of those.
> 
> Here is the series of patches to show how to do that.
> I tried to remove it from x86 tree. Basically we need to
> do 3 things;
> 
>  - Remove jprobe functions (register/unregister,
>    setjump/longjump) from generic/arch-dependent code.
>    [1/9][2/9][3/9]
>  - Remove break_handler related code.
>    [4/9][5/9][6/9]
>  - Do not disable preemption on exception handler
>    [7/9][8/9][9/9]
> 
> The [3/9] and [6/9] are destractive changes except for x86
> (means causes build errors) since those arch still have some
> references of those functions. So we need to write patches
> similar to [2/9] and [5/9] for each arch before applying those.
> In this series I sorted it as this order just for review,
> [3/9] and [6/9] should be applied after all archs have
> been fixed.
> 
> Also, [7/9] is a kind of destractive, which changes required
> behavior for the pre_handlers which changes regs->ip.
> So we also need a patch similar to [7/9] for each arch too.
> Fortunately, current in-tree such user is very limited, both
> works only on x86. So it is not hurry, but we need to change
> arch dependent code.
>
> Thank you,
> 
> ---
> 
> Masami Hiramatsu (9):
>       kprobes: Remove jprobe API implementation
>       x86: kprobes: Remove jprobe implementation
>       kprobes: Remove jprobe data structure and interfaces
>       kprobes: Ignore break_handler
>       x86: kprobes: Ignore break_handler
>       kprobes: Remove break_handler from struct kprobe
>       x86: kprobes: Do not disable preempt on int3 path
>       error-injection: Fix to not enabling preemption in pre_handler
>       tracing: kprobes: Fix to not enabling preemption
> 
> 
>  Documentation/kprobes.txt        |   13 ++--
>  arch/x86/include/asm/kprobes.h   |    3 -
>  arch/x86/kernel/kprobes/common.h |   10 ---
>  arch/x86/kernel/kprobes/core.c   |  114 ++------------------------------------
>  arch/x86/kernel/kprobes/ftrace.c |   21 +------
>  arch/x86/kernel/kprobes/opt.c    |    1 
>  include/linux/kprobes.h          |   54 ------------------
>  kernel/fail_function.c           |    1 
>  kernel/kprobes.c                 |  115 ++------------------------------------
>  kernel/trace/trace_kprobe.c      |    3 -
>  10 files changed, 20 insertions(+), 315 deletions(-)

Nice work, and I love the diffstat, but please do a series that works (builds and 
boots and has working kprobes) at every interim step.

Thanks,

	Ingo

  parent reply	other threads:[~2018-03-10  8:24 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-09 12:35 [RFC PATCH -tip 0/9] kprobes: Cleanup jprobe implementation Masami Hiramatsu
2018-03-09 12:35 ` [RFC PATCH -tip 1/9] kprobes: Remove jprobe API implementation Masami Hiramatsu
2018-03-09 12:36 ` [RFC PATCH -tip 2/9] x86: kprobes: Remove jprobe implementation Masami Hiramatsu
2018-03-09 12:36 ` [RFC PATCH -tip 3/9] kprobes: Remove jprobe data structure and interfaces Masami Hiramatsu
2018-03-09 12:37 ` [RFC PATCH -tip 4/9] kprobes: Ignore break_handler Masami Hiramatsu
2018-03-09 12:37 ` [RFC PATCH -tip 5/9] x86: " Masami Hiramatsu
2018-03-09 12:38 ` [RFC PATCH -tip 6/9] kprobes: Remove break_handler from struct kprobe Masami Hiramatsu
2018-03-09 12:38 ` [RFC PATCH -tip 7/9] x86: kprobes: Do not disable preempt on int3 path Masami Hiramatsu
2018-03-09 12:39 ` [RFC PATCH -tip 8/9] error-injection: Fix to not enabling preemption in pre_handler Masami Hiramatsu
2018-03-10  8:22   ` Ingo Molnar
2018-03-11 15:05     ` Masami Hiramatsu
2018-03-09 12:39 ` [RFC PATCH -tip 9/9] tracing: kprobes: Fix to not enabling preemption Masami Hiramatsu
2018-03-09 23:54 ` [RFC PATCH -tip 0/9] kprobes: Cleanup jprobe implementation Steven Rostedt
2018-03-10 13:55   ` Masami Hiramatsu
2018-03-10  8:24 ` Ingo Molnar [this message]
2018-03-11 15:13   ` Masami Hiramatsu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180310082444.uiy7fdqlxh6qbuwp@gmail.com \
    --to=mingo@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=ananth@linux.vnet.ibm.com \
    --cc=ast@kernel.org \
    --cc=hpa@zytor.com \
    --cc=jbacik@fb.com \
    --cc=labbott@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=mingo@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=yangbo@deepin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.