Received: by 10.223.148.5 with SMTP id 5csp7222314wrq; Thu, 18 Jan 2018 02:35:23 -0800 (PST) X-Google-Smtp-Source: ACJfBov+6KGahUcmc92qfRx28ibnodXx1h1jsXWOiBnuQAXKU95FuI0C2j4pGLW1rEhkCqywURVr X-Received: by 10.84.137.106 with SMTP id 97mr36671884plm.233.1516271723190; Thu, 18 Jan 2018 02:35:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516271723; cv=none; d=google.com; s=arc-20160816; b=a2IdpMj89xpv1mI6kvJQwXyY9eGQy1i+j/FKjrrgYvn50+ukpiy+pxPkOhLbm6tsz0 zJJz6HUOoaXvl2UGq3+ZGo0uOoHSlHa2tj4EOS8j73INn6SPlckrUD7C0OtUjMsxwf49 SESqvp/eWkgBFLKCGjVQTlbUd24Y0wETG3vn2mOf938AflQfhVexi4B4J8CBuPkZgmaZ W6e+Dl2cvhLU1yg2OqWRavcDIuRDWUjGxTg30VUaVCyr/RM139rLSwjdZtjBIehz7Jyn Ostn2CDzwcCZ3qsdQCb3H/Q1RvvPJ7ojyvR5y/U+kOgvJivn8DTM6LDgDyOim9FVYWD4 XR6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:content-disposition :mime-version:message-id:subject:cc:to:from:date :arc-authentication-results; bh=PMmI4oI8LI+P41HrS4zjcNBWgfbf0t9867jrPM9YMjM=; b=LlfrzIZjjY+YTyP8K+ciqtVygNnytlITrAWo36rio/ZSpnWD0u9YYYKZ761NRTIn6E NJKPNVuk2aGo67Gj+oDLrVCNycI3SmLwrrr4Ijt4cTeYIfhbTC2/Ege2IEpizYC8NK7p NmRkFF6+iEo7rrDliRxq8t5Xynf8PvErivwqpcfFSRyMjsoYFhp1nTdfFsXCt7LpWkU8 Tjwm6cTBmGiOmmmxZwC/8jgAYbZxL3LqJ2o7+wDyyWVsVMFTQu/ml+lRvmMEOJeDykbY WmJSi7XPrLWSNXnj3wg7xBasaDcREfKeje48j9p3NFv9sixPpLyZ0aVbXe6Cz7J4t51p XPmA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c13si5663611pgt.228.2018.01.18.02.35.08; Thu, 18 Jan 2018 02:35:23 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755604AbeARKej (ORCPT + 99 others); Thu, 18 Jan 2018 05:34:39 -0500 Received: from mga05.intel.com ([192.55.52.43]:13147 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754759AbeARKei (ORCPT ); Thu, 18 Jan 2018 05:34:38 -0500 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Jan 2018 02:34:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,377,1511856000"; d="scan'208";a="167112750" Received: from sofia.sh.intel.com (HELO sofia) ([10.239.147.120]) by orsmga004.jf.intel.com with ESMTP; 18 Jan 2018 02:34:36 -0800 Date: Thu, 18 Jan 2018 18:33:43 +0800 From: "Liu, Changcheng" To: Lai Jiangshan , Mathieu Desnoyers , "Paul E. McKenney" Cc: linux-kernel@vger.kernel.org, changcheng.liu@intel.com Subject: [PATCH] rcu: refine structure rcu_node field for rcu boost Message-ID: <20180118103342.GA114176@sofia> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Do not allocate space for rcu boost field when RCU BOOST is not configured. Signed-off-by: Liu Changcheng diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h index 46a5d19..88f087e 100644 --- a/kernel/rcu/tree.h +++ b/kernel/rcu/tree.h @@ -129,6 +129,7 @@ struct rcu_node { /* if there is no such task. If there */ /* is no current expedited grace period, */ /* then there can cannot be any such task. */ +#ifdef CONFIG_RCU_BOOST struct list_head *boost_tasks; /* Pointer to first task that needs to be */ /* priority boosted, or NULL if no priority */ @@ -153,6 +154,8 @@ struct rcu_node { /* Number of tasks boosted for expedited GP. */ unsigned long n_normal_boosts; /* Number of tasks boosted for normal GP. */ +#endif/* #ifdef CONFIG_RCU_BOOST*/ + #ifdef CONFIG_RCU_NOCB_CPU struct swait_queue_head nocb_gp_wq[2]; /* Place for rcu_nocb_kthread() to wait GP. */ diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h index db85ca3..fee0b1e 100644 --- a/kernel/rcu/tree_plugin.h +++ b/kernel/rcu/tree_plugin.h @@ -506,8 +506,10 @@ void rcu_read_unlock_special(struct task_struct *t) if (IS_ENABLED(CONFIG_RCU_BOOST)) { /* Snapshot ->boost_mtx ownership w/rnp->lock held. */ drop_boost_mutex = rt_mutex_owner(&rnp->boost_mtx) == t; +#ifdef CONFIG_RCU_BOOST if (&t->rcu_node_entry == rnp->boost_tasks) rnp->boost_tasks = np; +#endif } /* -- 2.7.4