Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2236680imm; Mon, 28 May 2018 04:30:53 -0700 (PDT) X-Google-Smtp-Source: AB8JxZohw3l5VJJdJdOYj2RKf6q6jYVMDYbcGTXjqo1W8SwZLX8vblTDvYX5Vwn0nPCe9XHfmL0H X-Received: by 2002:a65:4282:: with SMTP id j2-v6mr10235369pgp.189.1527507053720; Mon, 28 May 2018 04:30:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527507053; cv=none; d=google.com; s=arc-20160816; b=h7qt2QDWDJV5g3o3EM0vBAEUiAdi9cyqXUH5ZmpVt48DjS6S16+iY/q87j07inhFXJ 9wfwGcyM63wEAXuyoe0fnYENp1yB0Waur6UQzVRF+t0vQvIZ8Oz9axrTyPeX5yE9nqtq F2sqM+6FaF01t/CIHHnweNP0plopEM8EEQFgj5kiL9Gf1pdZUbE7v6sZmZVnEskdPxE7 QCd+c4SSc9m5yEv/h4IJWLbFsDMOwWAEmvJRBeY28o43XXtRwBvsPQte7+c0VC/z97V4 +tJAEs8lDsgo/sp2iR00wYHj1ar/2gSqOJ/BHNqOgelKix/OJoNJ8ktXrIXXdOUG6pZK jw5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=Wxb2nn4y5pagfiuUpYonPgcGgQOGgHnK9WFTyj7xc6I=; b=nE84d6gCFavoYpaiu/flVGH98zyAXySg7uGIVsQ1q+w7lHAMV19Gd3w7DRbOBazrl7 q9tFBVl5TYsjYi9E0ZN0muWs8pzF2TKNYJroh+qS0C3n2hlFH6kBvm0VO70rA/9qx2GN 2Gocilfd3EJARsuY5bggvyA0NcQFoTXbAECA4j7iM+vI79MpVfIORoTX7xGQs+XHsAP3 IC5PqsKMKnDvvz5jKbrKlj/iSIH9XZh8D7JxjpHYwYU9i7Sm44BuX0ysFNkQWP5jWNop U2pFGVtpLu1y7fTgqgVTbB6P3WGhjL+VbRz1T16oZxI2DF2er6biXfGkjrZ5BeEAOSxi zIlg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=pCqfNE/q; 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 g22-v6si23214328pgv.468.2018.05.28.04.30.38; Mon, 28 May 2018 04:30:53 -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=@kernel.org header.s=default header.b=pCqfNE/q; 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 S938288AbeE1L2r (ORCPT + 99 others); Mon, 28 May 2018 07:28:47 -0400 Received: from mail.kernel.org ([198.145.29.99]:34160 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1424487AbeE1LPC (ORCPT ); Mon, 28 May 2018 07:15:02 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 478CC206B7; Mon, 28 May 2018 11:15:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527506101; bh=EF9TOo145kUXYkeE8NKfxkwCkTHMisYcwX4xqM/jCzA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pCqfNE/qY+QIlHdt3ry4Lg/bIoV1Im2ak9IWwN8kXQFF3xb0Z/p87u91q1wvjl/hR N/Nt27cvmHzhtVbJjopJSpnssz/rGuDmYL4hVKmm7bMGLZPdfbJVpYAT6HZKSTTv4A dYMCpmCZvjMvm/rDm+iKPtzDC1Va1cBRYGImknYs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org Subject: [PATCH 4.16 241/272] rcu: Call touch_nmi_watchdog() while printing stall warnings Date: Mon, 28 May 2018 12:04:34 +0200 Message-Id: <20180528100300.561016308@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100240.256525891@linuxfoundation.org> References: <20180528100240.256525891@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.16-stable review patch. If anyone has any objections, please let me know. ------------------ From: Tejun Heo [ Upstream commit 3caa973b7a260e7a2a69edc94c300ab9c65148c3 ] When RCU stall warning triggers, it can print out a lot of messages while holding spinlocks. If the console device is slow (e.g. an actual or IPMI serial console), it may end up triggering NMI hard lockup watchdog like the following. --- kernel/rcu/tree_plugin.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) --- a/kernel/rcu/tree_plugin.h +++ b/kernel/rcu/tree_plugin.h @@ -560,8 +560,14 @@ static void rcu_print_detail_task_stall_ } t = list_entry(rnp->gp_tasks->prev, struct task_struct, rcu_node_entry); - list_for_each_entry_continue(t, &rnp->blkd_tasks, rcu_node_entry) + list_for_each_entry_continue(t, &rnp->blkd_tasks, rcu_node_entry) { + /* + * We could be printing a lot while holding a spinlock. + * Avoid triggering hard lockup. + */ + touch_nmi_watchdog(); sched_show_task(t); + } raw_spin_unlock_irqrestore_rcu_node(rnp, flags); } @@ -1677,6 +1683,12 @@ static void print_cpu_stall_info(struct char *ticks_title; unsigned long ticks_value; + /* + * We could be printing a lot while holding a spinlock. Avoid + * triggering hard lockup. + */ + touch_nmi_watchdog(); + if (rsp->gpnum == rdp->gpnum) { ticks_title = "ticks this GP"; ticks_value = rdp->ticks_this_gp;