Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751673AbcDRCAo (ORCPT ); Sun, 17 Apr 2016 22:00:44 -0400 Received: from mail-oi0-f68.google.com ([209.85.218.68]:33520 "EHLO mail-oi0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751274AbcDRCAn (ORCPT ); Sun, 17 Apr 2016 22:00:43 -0400 MIME-Version: 1.0 In-Reply-To: References: <1459539771-4251-1-git-send-email-cmetcalf@mellanox.com> <1459797143.6219.22.camel@redhat.com> Date: Mon, 18 Apr 2016 10:00:42 +0800 Message-ID: Subject: Re: [PATCH] nohz_full: Make sched_should_stop_tick() more conservative From: Wanpeng Li To: Peter Zijlstra Cc: Rik van Riel , Chris Metcalf , Frederic Weisbecker , Christoph Lameter , Ingo Molnar , Luiz Capitulino , Thomas Gleixner , Viresh Kumar , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 978 Lines: 34 Hi Peterz, 2016-04-05 3:23 GMT+08:00 Peter Zijlstra : > > > On 4 April 2016 21:12:23 CEST, Rik van Riel wrote: > >>What is the difference between cfs_rq->h_nr_running, >>and rq->cfs.nr_running? >> >>Why do we have two? > > > H is for hierarchy. That counts the total of runnable tasks in the entire child hierarchy. Nr_running is the number of se entities in the current tree. So I think we should at least change cfs_rq->nr_running to cfs->h_nr_running, I can send a formal patch if you think it makes sense. :-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 1159423..79197df 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -616,7 +616,7 @@ bool sched_can_stop_tick(struct rq *rq) } /* Normal multitasking need periodic preemption checks */ - if (rq->cfs.nr_running > 1) + if (rq->cfs.h_nr_running > 1) return false; return true; Regards, Wanpeng Li