Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755798AbcDDQ4u (ORCPT ); Mon, 4 Apr 2016 12:56:50 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48947 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753745AbcDDQ4s (ORCPT ); Mon, 4 Apr 2016 12:56:48 -0400 Date: Mon, 4 Apr 2016 11:56:46 -0500 From: Josh Poimboeuf To: Jiri Slaby Cc: Jiri Kosina , Jessica Yu , Miroslav Benes , linux-kernel@vger.kernel.org, live-patching@vger.kernel.org, Vojtech Pavlik Subject: Re: [RFC PATCH v1.9 13/14] livepatch: add /proc//patch_status Message-ID: <20160404165646.qxar2kqczxgl6h5m@treble.redhat.com> References: <9de6283945f99958dfd7fac0f24fcce98d5410a6.1458933243.git.jpoimboe@redhat.com> <56FCEEFA.3030309@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <56FCEEFA.3030309@suse.cz> User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1577 Lines: 48 On Thu, Mar 31, 2016 at 11:33:46AM +0200, Jiri Slaby wrote: > On 03/25/2016, 08:35 PM, Josh Poimboeuf wrote: > > Expose the per-task klp_universe value so users can determine which > > tasks are holding up completion of a patching operation. > > > > Call it "patch_status" rather than "universe": it's at least more > > descriptive for the average user. > > > > Signed-off-by: Josh Poimboeuf > > --- > > fs/proc/base.c | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/fs/proc/base.c b/fs/proc/base.c > > index b1755b2..f90998b 100644 > > --- a/fs/proc/base.c > > +++ b/fs/proc/base.c > > @@ -2801,6 +2801,15 @@ static int proc_pid_personality(struct seq_file *m, struct pid_namespace *ns, > > return err; > > } > > > > +#ifdef CONFIG_LIVEPATCH > > +static int proc_pid_patch_status(struct seq_file *m, struct pid_namespace *ns, > > + struct pid *pid, struct task_struct *task) > > +{ > > + seq_printf(m, "%d\n", task->klp_universe); > > + return 0; > > +} > > +#endif /* CONFIG_LIVEPATCH */ > > + > > /* > > * Thread groups > > */ > > @@ -2900,6 +2909,9 @@ static const struct pid_entry tgid_base_stuff[] = { > > REG("timers", S_IRUGO, proc_timers_operations), > > #endif > > REG("timerslack_ns", S_IRUGO|S_IWUGO, proc_pid_set_timerslack_ns_operations), > > +#ifdef CONFIG_LIVEPATCH > > + ONE("patch_status", S_IRUSR, proc_pid_patch_status), > > +#endif > > I think we want to know the state about all tasks, not only group > leaders. This should go to tid_base_stuff. Good catch, thanks! -- Josh