From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751420AbdJEH5J (ORCPT ); Thu, 5 Oct 2017 03:57:09 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:34881 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751272AbdJEH5I (ORCPT ); Thu, 5 Oct 2017 03:57:08 -0400 X-Google-Smtp-Source: AOwi7QCzE+XE+8uwbXWAAKqzqpdA5HnCBtktxhWuV7vdey4ieyw8jyWVvHZHWGegBxXHKEuLkBP5lw== Date: Thu, 5 Oct 2017 09:57:04 +0200 From: Ingo Molnar To: Masami Hiramatsu Cc: mingo@redhat.com, x86@kernel.org, Steven Rostedt , linux-kernel@vger.kernel.org, Peter Zijlstra , Ananth N Mavinakayanahalli , Thomas Gleixner , "H . Peter Anvin" , "Paul E . McKenney" , Alexei Starovoitov , Alexei Starovoitov , Linus Torvalds Subject: Re: [BUGFIX PATCH] kprobes/x86: Remove IRQ disabling from jprobe handlers Message-ID: <20171005075704.2wv3vcg35s4g5jhq@gmail.com> References: <20170930231251.emiuyrapdgzpcylp@inn> <150701508194.32266.14458959863314097305.stgit@devbox> <20171003093344.feh7gqa4aimsjwqv@gmail.com> <20171004002437.66c15c68ef662c0d9a458bef@kernel.org> <20171003171100.p535ul3wml4uhsow@gmail.com> <20171004151830.1e460cb7250b8741af0e2dbc@kernel.org> <20171004104101.nhtsotudcrh4d354@gmail.com> <20171004230804.9427341c928923a196c2a2b5@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171004230804.9427341c928923a196c2a2b5@kernel.org> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Masami Hiramatsu wrote: > On Wed, 4 Oct 2017 12:41:01 +0200 > Ingo Molnar wrote: > > > > > * Masami Hiramatsu wrote: > > > > > Hmm, actually we can not disable jprobe, that has no separate Kconfig. > > > So we need to introduce new kconfig for that. > > > > > > And, there are several network protocols using jprobe to trace events. > > > (e.g. NET_DCCPPROBE and NET_TCPPROBE) > > > I think they need to migrate to trace-event at first. > > > > > > So, how about below idea? > > > > > > 1. Introduce CONFIG_JPROBE_API which only separate jprobe general parts > > > (no arch dependent code involves) and make it default n. > > > 2. Mark break_handler and jprobe APIs deprecated so that no new user comes up. > > > 3. migrate in-kernel jprobe user to trace-event or ftrace. > > > (may take some time) > > > > So my suggestion would be to just return from register_jprobe() and don't register > > anything. > > with CONFIG_JPROBE_API=n, is that right? No, unconditionally off with a WARN_ON_ONCE() warning in the registry function and the deactivation of all in-kernel uses (such as self-tests). The point is to make people that _truly_ rely on it complain - not just make them silently turn on a Kconfig option ... > > Yes, there are usecases of jprobes in the kernel, but they all look > > pretty ancient and unused. > > Hmm, in that case, should we also remove those users? If we disable such way > those features are just useless. My hypothesis is that those features are not used (hence useless), but we should first test whether there's any reliance before we remove code. Thanks, Ingo