Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3380181pxk; Mon, 28 Sep 2020 16:24:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyc3ID9yYhp80cF+sFaV1SaEbD/lTjtCxIHe6jceWJD4LFY8Yu7bkqVoSCI4l+ha4wiM3b6 X-Received: by 2002:a17:906:5812:: with SMTP id m18mr1168085ejq.204.1601335473871; Mon, 28 Sep 2020 16:24:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601335473; cv=none; d=google.com; s=arc-20160816; b=p87VYepbLKXd/x1VQrATDnn6q5gnzlyDNB4Wpsa9GWqiXgNvStwsOq9AlKVOhD375q lT4knTXlOMszQmwZITQN14yU+X8vU3i1pCsA5hpWJgjKPaq0sNU+FifwrX4Kyvzd6wWD uLlImupckqO/kAVSzl8xDX04as7G0C4zewlbghItLy3zEo5BlM0+Awjw1qizicNlSb94 bJF704abi3oDu8EFNAeDPOFsB6NzZRTD6wWmPTEQaorUI1BCR5zT4JOLoB/eNYs1WMHw 4vEgnM75rIx/3UQEIM17ma7Ag6DeNb1EeAAnTi80cMd5Lsj5OC0lTo3l0IYGQMRrApn8 bJ3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=Aq7P6HYDKkA2aD5BkB/DJ+7sfWp2qNiiGUHyC+WigsE=; b=JBi0jX0qfr04dbo9K1Ne9xrZ6CYLGTqdv9uKVjhijDBEQMx6orx4cShfqutCJskudy GkjiZFuSTUdI27XO6zY3KhMOuIIlQrf4ipnprQfZnUIQMa2Uo05q4ytuwnxzaqzIsbsk Ctbezq0E9PN3SbJvRlaGNvdMuUxbSGkOlbO8P7XaXepSHHH3iXQZRUXdgNAe1RswFzwG tCm7ctqXe+T1E086rO4R2wtJhl1rQL0TdZVJi/tgw4aw6mPg8F4HfSXKaqADXikEcEi5 PeyJd1ipnxxIoo4i9FRLfz7S++krjUXaMcWAHElq2IlXCSeXAP/4ycDm6VmwJ6pTQPez +8Mg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=na+DVtNq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d7si1547041ejc.635.2020.09.28.16.24.05; Mon, 28 Sep 2020 16:24:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=na+DVtNq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727262AbgI1XUi (ORCPT + 99 others); Mon, 28 Sep 2020 19:20:38 -0400 Received: from mail.kernel.org ([198.145.29.99]:42854 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726369AbgI1XUc (ORCPT ); Mon, 28 Sep 2020 19:20:32 -0400 Received: from paulmck-ThinkPad-P72.home (unknown [50.45.173.55]) (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 05DD823A52; Mon, 28 Sep 2020 22:55:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1601333727; bh=nVv5eFMhZxzuUjz/hzt1MJOVFmdQT3QVpGthmSQf4Tg=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=na+DVtNqqzotWjIjIDUhDtGn4eiWCgc7gW9oZFsQJx1nI/IB9WSmHnqpJPLYWSuWy u7FScVx5yydPbLyz4zv8VDlRks/l75WDA0dUQB9SFckbpcdY8keaFkCyePUdrgloql TpRbxMDidOiQIP1/FWVt3+roJeQci+NOzn2Wx3kQ= Received: by paulmck-ThinkPad-P72.home (Postfix, from userid 1000) id B051035227DB; Mon, 28 Sep 2020 15:55:26 -0700 (PDT) Date: Mon, 28 Sep 2020 15:55:26 -0700 From: "Paul E. McKenney" To: Kim Phillips Cc: linux-kernel@vger.kernel.org, linux-tip-commits@vger.kernel.org, Thomas Gleixner , Alexandre Chartre , Peter Zijlstra , x86 , rostedt@goodmis.org Subject: Re: [tip: core/rcu] rcu/tree: Mark the idle relevant functions noinstr Message-ID: <20200928225526.GR29330@paulmck-ThinkPad-P72> Reply-To: paulmck@kernel.org References: <20200505134100.575356107@linutronix.de> <158991795300.17951.11897222265664137612.tip-bot2@tip-bot2> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 28, 2020 at 05:22:33PM -0500, Kim Phillips wrote: > Hi, > > On 5/19/20 2:52 PM, tip-bot2 for Thomas Gleixner wrote: > > The following commit has been merged into the core/rcu branch of tip: > > > > Commit-ID: ff5c4f5cad33061b07c3fb9187506783c0f3cb66 > > Gitweb: https://git.kernel.org/tip/ff5c4f5cad33061b07c3fb9187506783c0f3cb66 > > Author: Thomas Gleixner > > AuthorDate: Fri, 13 Mar 2020 17:32:17 +01:00 > > Committer: Thomas Gleixner > > CommitterDate: Tue, 19 May 2020 15:51:20 +02:00 > > > > rcu/tree: Mark the idle relevant functions noinstr > > > > These functions are invoked from context tracking and other places in the > > low level entry code. Move them into the .noinstr.text section to exclude > > them from instrumentation. > > > > Mark the places which are safe to invoke traceable functions with > > instrumentation_begin/end() so objtool won't complain. > > > > Signed-off-by: Thomas Gleixner > > Reviewed-by: Alexandre Chartre > > Acked-by: Peter Zijlstra > > Acked-by: Paul E. McKenney > > Link: https://lkml.kernel.org/r/20200505134100.575356107@linutronix.de > > > > > > --- > > I bisected a system hang condition down to this commit. > > To reproduce the hang, compile the below code and execute it as root > on an x86_64 server (AMD or Intel). The code is opening a > PERF_TYPE_TRACEPOINT event with a non-zero pe.config. > > If I revert the commit from Linus' ToT, the system stays up. "Linus' ToT" is current mainline? If so, what does your revert look like? Over here that revert wants to be hand applied for current mainline. Thanx, Paul > .config attached. > > Thanks, > > Kim > > #include > #include > #include > #include > #include > #include > #include > > static long > perf_event_open(struct perf_event_attr *hw_event, pid_t pid, > int cpu, int group_fd, unsigned long flags) > { > int ret; > > ret = syscall(__NR_perf_event_open, hw_event, pid, cpu, > group_fd, flags); > return ret; > } > > int > main(int argc, char **argv) > { > struct perf_event_attr pe; > long long count; > int fd; > > memset(&pe, 0, sizeof(struct perf_event_attr)); > pe.type = PERF_TYPE_TRACEPOINT; > pe.size = sizeof(struct perf_event_attr); > pe.config = PERF_COUNT_HW_INSTRUCTIONS; > pe.disabled = 1; > pe.exclude_kernel = 1; > pe.exclude_hv = 1; > > fd = perf_event_open(&pe, 0, -1, -1, 0); > if (fd == -1) { > fprintf(stderr, "Error opening leader %llx\n", pe.config); > exit(EXIT_FAILURE); > } > }