From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751759AbdBYJw5 (ORCPT ); Sat, 25 Feb 2017 04:52:57 -0500 Received: from bombadil.infradead.org ([65.50.211.133]:33658 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751571AbdBYJw4 (ORCPT ); Sat, 25 Feb 2017 04:52:56 -0500 Date: Sat, 25 Feb 2017 10:51:17 +0100 From: Peter Zijlstra To: Tan Xiaojun Cc: jolsa@redhat.com, alexander.shishkin@linux.intel.com, eranian@google.com, hpa@zytor.com, mingo@kernel.org, linux-kernel@vger.kernel.org, acme@redhat.com, acme@kernel.org, vincent.weaver@maine.edu, tglx@linutronix.de, torvalds@linux-foundation.org, linux-tip-commits@vger.kernel.org, "linux-arm-kernel@lists.infradead.org" Subject: Re: [tip:perf/urgent] perf/core: Fix the perf_cpu_time_max_percent check Message-ID: <20170225095117.GU6500@twins.programming.kicks-ass.net> References: <1487829879-56237-1-git-send-email-tanxiaojun@huawei.com> <58B13BFD.2050304@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <58B13BFD.2050304@huawei.com> User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Feb 25, 2017 at 04:10:37PM +0800, Tan Xiaojun wrote: > Recently I was using perf_fuzzer for testing in Hisilicon > D03/D05(arm64, linux-4.10-rc1). > > As we know perf_fuzzer will write a random value to procfs interface > of perf event(like sysctl_perf_cpu_time_max_percent). The value may be > 0 or 100, and I get logs like below: > > ---------------------------------- > [ 4046.358811] perf: Dynamic interrupt throttling disabled, can hang your system! > ---------------------------------- > > Most of the time, there is no problem, and the perf_fuzzer test can > end without any warings or errors. But there is a small probability > that triggers the RCU and watchdog (The log is attached at the end). > It hungs after local_irq_enable() in __do_softirq. > > I think this is due to the dynamic interrupt throttling disabled and > too many hardware interruptions come. So I limit the > sysctl_perf_cpu_time_max_percent can only be set 1 to 99 in the kernel > codes. I test more than 20 times in D03, and there are no errors or > warnings in the test. > > So I want to ask: > > 1)Is it a problem or not? (It has already given you a warning.) > > 2)If it is, where we will fix it more appropriate, perf_fuzzer(not set > 0 or 100) or kernel(limit 1 to 99), or maybe it is the bug of > hardware(too many hardware interruptions)? I think the best would be if the fuzzer would not set 0,100, those are clearly 'unsafe' settings and you pretty much get to keep the pieces. I would like to preserve these settings for people that 'know' what they're doing and are willing to take the risk, but clearly, when you take the guard-rails off, things can come apart.