From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754940AbbFRKAH (ORCPT ); Thu, 18 Jun 2015 06:00:07 -0400 Received: from mail-wi0-f181.google.com ([209.85.212.181]:35147 "EHLO mail-wi0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753219AbbFRKAA (ORCPT ); Thu, 18 Jun 2015 06:00:00 -0400 Date: Thu, 18 Jun 2015 11:59:55 +0200 From: Ingo Molnar To: "Paul E. McKenney" Cc: Andy Lutomirski , x86@kernel.org, linux-kernel@vger.kernel.org, =?iso-8859-1?Q?Fr=E9d=E9ric?= Weisbecker , Rik van Riel , Oleg Nesterov , Denys Vlasenko , Borislav Petkov , Kees Cook , Brian Gerst Subject: Re: [RFC/INCOMPLETE 01/13] context_tracking: Add context_tracking_assert_state Message-ID: <20150618095955.GB4528@gmail.com> References: <1d95640676a92a5ff7382e9c87517c12ea23ccd9.1434485184.git.luto@kernel.org> <20150617094114.GA3940@gmail.com> <20150617152756.GA3913@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150617152756.GA3913@linux.vnet.ibm.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Paul E. McKenney wrote: > On Wed, Jun 17, 2015 at 11:41:14AM +0200, Ingo Molnar wrote: > > > > * Andy Lutomirski wrote: > > > > > This will let us sprinkle sanity checks around the kernel without > > > making too much of a mess. > > > > > > Signed-off-by: Andy Lutomirski > > > --- > > > include/linux/context_tracking.h | 8 ++++++++ > > > 1 file changed, 8 insertions(+) > > > > > > diff --git a/include/linux/context_tracking.h b/include/linux/context_tracking.h > > > index 2821838256b4..0fbea4b152e1 100644 > > > --- a/include/linux/context_tracking.h > > > +++ b/include/linux/context_tracking.h > > > @@ -57,6 +57,13 @@ static inline void context_tracking_task_switch(struct task_struct *prev, > > > if (context_tracking_is_enabled()) > > > __context_tracking_task_switch(prev, next); > > > } > > > + > > > +static inline void context_tracking_assert_state(enum ctx_state state) > > > +{ > > > + rcu_lockdep_assert(!context_tracking_is_enabled() || > > > + this_cpu_read(context_tracking.state) == state, > > > + "context tracking state was wrong"); > > > +} > > > > Please don't introduce assert() style debug check interfaces! > > > > (And RCU should be fixed too I suspect.) > > The thought is to rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN() > by analogy to WARN()? Easy to do if so! Or am I missing the point? Yeah, and inverting the condition. Assuming the condition was assert()-style inverted to begin with! :-) and lockdep should be fixed too I suspect, lockdep_assert_held() was really a poorly chosen name I suspect, it should be 'lockdep_check_held()' or so? It has very little to do with the assert() interface. Thanks, Ingo