Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp4795903imm; Mon, 18 Jun 2018 23:23:34 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKHdXdtUawmjxzYPbpnFl4Z7qzgbF/AoLWn0dstelQaqwbht3NIF0/N80s1muvM0iTTtJB+ X-Received: by 2002:a65:4042:: with SMTP id h2-v6mr13315610pgp.78.1529389414607; Mon, 18 Jun 2018 23:23:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529389414; cv=none; d=google.com; s=arc-20160816; b=fWRDbE8Q9F/rkixlVoj9GBT1y+K281XVAC4+B/ZoG7qT+3Dl/1l9DdpBGtX8ArxGHU LcbTBxM1ReevFUULH2tjrfn7hB7E+GEgf+qwcpZBrOUvVr+e9qQ/c2QxWUK17f+qGXEh 2e7FQlbo8IrWMWflXdXTgzzQXkgpL1rMpiguP+B3v/gj3/TKW3DhA3HALVQHBHS+zG5N Pobv6VqTah+qxnAjx3/3W7a0CD7/PbOYq+hnRMHqV3lmvkaGeg57pItnn94279tzHx3C 1DUvLyt3jX3Nalm4dznRM8uFpOlpsUiVNF5KOtPXzPPwQCv4MuzRzFxjLe8ZIfBBuled tIOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=i/euKh4aL5QYt5ujsp73zYpWHKN8Nyt1smtc8AQstlg=; b=HBggznCexvyjGcVKF9jbYDhAXYOB3jnlfZA82TVADLyUwldXXDQnxXP+ldSFztSNci vyvjws9biPiwoN6NXfWvwNvCeXajVdDBYwLpcEUkB10etnSGBNINKD08A6e+H7NNS4jb WYPheGNAlEi5ClPGryfZG4ze3naeg977op+/Ss2CFHV4p1jV8btzHP2x6g7NcP9UkPtM 4y5GUfKm+1cnnCcgy43BdbTCuVqKGvXdRdxvy8Z6F/j8aJEXUhge0QOAhgAd33lTBMnW 7S1udLkurlK6sATZZKWQeKvs4AakAZVF42mj/VsVdcMFZIk5F4J3aX282W4PS/+kF55C QZfA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=qujezV51; 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 f26-v6si15349881pfn.366.2018.06.18.23.23.20; Mon, 18 Jun 2018 23:23:34 -0700 (PDT) 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; dkim=pass header.i=@joelfernandes.org header.s=google header.b=qujezV51; 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 S965224AbeFSGWl (ORCPT + 99 others); Tue, 19 Jun 2018 02:22:41 -0400 Received: from mail-pl0-f67.google.com ([209.85.160.67]:32863 "EHLO mail-pl0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755856AbeFSGWi (ORCPT ); Tue, 19 Jun 2018 02:22:38 -0400 Received: by mail-pl0-f67.google.com with SMTP id 6-v6so9832153plb.0 for ; Mon, 18 Jun 2018 23:22:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; h=from:to:cc:subject:date:message-id; bh=i/euKh4aL5QYt5ujsp73zYpWHKN8Nyt1smtc8AQstlg=; b=qujezV51CxmG1GNjIuGXJCVg7JJe9IGT+xB+az9xc4yqxXhPtdiLD1Cp83OzCuQg7+ 8ZIivYa/zJGM4Re+AOT37Nu8J4txQOxcWdVb7p6L6p5hWhLCB4SrrhC+TjP9tddOHWqR 85+iN8oSCjNf06t0ksd2X3p2H9qQ5Z0GHbz3A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=i/euKh4aL5QYt5ujsp73zYpWHKN8Nyt1smtc8AQstlg=; b=OfaN6kV6G1njC3TxisVb02GCVVOEDRZ+NSjItrKpkhKOpVIHea8AUFwCVSbg8DEetf lq6d5HUusMlzska2AAbhDF97Lfsuw6Llc5RKbjW0xOyE5oD51sSzjrlHhnbhqZ2GWpPa xud9P01lXbmKruLBMjPQ2vojo1xYtCdEJIQkQJlTQpwAcChbKwsQkeI3WdwkjGMNorjb FUmoPJfn9zfGgEhbBoIx36lwyI/83C0Xkk8d7zA1Ksm9cLo+i8WHdVivRezAdZgmz7Vm R/s5DOtMakca9uvA3X4bL5g/8/r0JfVSF0JUtNMRCrdxZHN95HynkKS30rkKp2jyKelV n+fw== X-Gm-Message-State: APt69E0kp/l85Mrp8cDGyoojhEvWxs3dQ80eydxn+yqgcsHP2hF15n5A 4CfSXIWRtUiNUfLO855o+6rU0EHIO3c= X-Received: by 2002:a17:902:7e42:: with SMTP id a2-v6mr17249563pln.151.1529389357673; Mon, 18 Jun 2018 23:22:37 -0700 (PDT) Received: from joelaf.mtv.corp.google.com ([2620:0:1000:1600:3122:ea9c:d178:eb]) by smtp.gmail.com with ESMTPSA id z19-v6sm19564858pgv.12.2018.06.18.23.22.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 18 Jun 2018 23:22:37 -0700 (PDT) From: Joel Fernandes To: linux-kernel@vger.kernel.org Cc: kernel-team@android.com, "Joel Fernandes (Google)" , Josh Triplett , Lai Jiangshan , Mathieu Desnoyers , "Paul E. McKenney" , Steven Rostedt , Byungchul Park Subject: [PATCH 1/2] rcu: Assign higher priority to RCU threads if its rcutorture Date: Mon, 18 Jun 2018 23:22:14 -0700 Message-Id: <20180619062215.221564-1-joel@joelfernandes.org> X-Mailer: git-send-email 2.18.0.rc1.244.gcf134e6275-goog Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: "Joel Fernandes (Google)" rcutorture boost tests fail even with CONFIG_RCU_BOOST set because rcutorture's threads are equal priority to the default RCU kthreads (RT class with priority of 1). This patch checks if RCU torture is built into the kernel and if so, assigns a higher priority to the RCU threads. With this the rcutorture boost tests pass. Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/tree.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index deb2508be923..a141d6314622 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -171,7 +171,7 @@ static void rcu_report_exp_rdp(struct rcu_state *rsp, static void sync_sched_exp_online_cleanup(int cpu); /* rcuc/rcub kthread realtime priority */ -static int kthread_prio = IS_ENABLED(CONFIG_RCU_BOOST) ? 1 : 0; +static int kthread_prio; module_param(kthread_prio, int, 0644); /* Delay in jiffies for grace-period initialization delays, debug only. */ @@ -3884,12 +3884,16 @@ static int __init rcu_spawn_gp_kthread(void) struct task_struct *t; /* Force priority into range. */ - if (IS_ENABLED(CONFIG_RCU_BOOST) && kthread_prio < 1) + if (IS_ENABLED(CONFIG_RCU_BOOST) && kthread_prio < 2 + && IS_BUILTIN(CONFIG_RCU_TORTURE_TEST)) + kthread_prio = 2; + else if (IS_ENABLED(CONFIG_RCU_BOOST) && kthread_prio < 1) kthread_prio = 1; else if (kthread_prio < 0) kthread_prio = 0; else if (kthread_prio > 99) kthread_prio = 99; + if (kthread_prio != kthread_prio_in) pr_alert("rcu_spawn_gp_kthread(): Limited prio to %d from %d\n", kthread_prio, kthread_prio_in); -- 2.18.0.rc1.244.gcf134e6275-goog