Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751516Ab3FZPkG (ORCPT ); Wed, 26 Jun 2013 11:40:06 -0400 Received: from merlin.infradead.org ([205.233.59.134]:33213 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751347Ab3FZPkE (ORCPT ); Wed, 26 Jun 2013 11:40:04 -0400 Date: Wed, 26 Jun 2013 15:05:11 +0200 From: Peter Zijlstra To: Frederic Weisbecker Cc: LKML , Ingo Molnar , Li Zhong , "Paul E. McKenney" , Steven Rostedt , Thomas Gleixner , Borislav Petkov , Alex Shi , Paul Turner , Mike Galbraith , Vincent Guittot Subject: Re: [RFC PATCH 4/4] sched: Consolidate open coded preemptible() checks Message-ID: <20130626130511.GL28407@twins.programming.kicks-ass.net> References: <1371761141-25386-1-git-send-email-fweisbec@gmail.com> <1371761141-25386-5-git-send-email-fweisbec@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1371761141-25386-5-git-send-email-fweisbec@gmail.com> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1773 Lines: 52 On Thu, Jun 20, 2013 at 10:45:41PM +0200, Frederic Weisbecker wrote: > preempt_schedule() and preempt_schedule_context() open > code their preemptability checks. > > Use the standard API instead for consolidation. > > Signed-off-by: Frederic Weisbecker > Cc: Ingo Molnar > Cc: Li Zhong > Cc: Paul E. McKenney > Cc: Peter Zijlstra > Cc: Steven Rostedt > Cc: Thomas Gleixner > Cc: Borislav Petkov > Cc: Alex Shi > Cc: Paul Turner > Cc: Mike Galbraith > Cc: Vincent Guittot > --- > kernel/context_tracking.c | 3 +-- > kernel/sched/core.c | 4 +--- > 2 files changed, 2 insertions(+), 5 deletions(-) > > diff --git a/kernel/context_tracking.c b/kernel/context_tracking.c > index 6667700..08db730 100644 > --- a/kernel/context_tracking.c > +++ b/kernel/context_tracking.c > @@ -88,10 +88,9 @@ void user_enter(void) > */ > void __sched notrace preempt_schedule_context(void) > { > - struct thread_info *ti = current_thread_info(); > enum ctx_state prev_ctx; > > - if (likely(ti->preempt_count || irqs_disabled())) > + if (likely(!preemptible())) > return; > #ifdef CONFIG_PREEMPT_COUNT # define preemptible() (preempt_count() == 0 && !irqs_disabled()) #else # define preemptible() 0 #endif Wouldn't that give a problem for !PREEMPT_COUNT? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/