From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Zijlstra Subject: Re: clocksource_watchdog causing scheduling of timers every second (was [v13] support "task_isolation" mode) Date: Thu, 11 Aug 2016 10:40:02 +0200 Message-ID: <20160811084002.GV30192@twins.programming.kicks-ass.net> References: <1468529299-27929-1-git-send-email-cmetcalf@mellanox.com> <7a3f66f7-5011-7d59-2e0e-f57e4e42e6b6@mellanox.com> <20160810221656.GC19757@lerouge> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20160810221656.GC19757@lerouge> Sender: linux-doc-owner@vger.kernel.org To: Frederic Weisbecker Cc: Christoph Lameter , Chris Metcalf , Gilad Ben Yossef , Steven Rostedt , Ingo Molnar , Andrew Morton , Rik van Riel , Tejun Heo , Thomas Gleixner , "Paul E. McKenney" , Viresh Kumar , Catalin Marinas , Will Deacon , Andy Lutomirski , Daniel Lezcano , linux-doc@vger.kernel.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-api@vger.kernel.org On Thu, Aug 11, 2016 at 12:16:58AM +0200, Frederic Weisbecker wrote: > I had similar issues, this seems to happen when the tsc is considered not reliable > (which doesn't necessarily mean unstable. I think it has to do with some x86 CPU feature > flag). Right, as per the other email, in general we cannot know/assume the TSC to be working as intended :/ > IIRC, this _has_ to execute on all online CPUs because every TSCs of running CPUs > are concerned. With modern Intel we could run it on one CPU per package I think, but at the same time, too much in NOHZ_FULL assumes the TSC is indeed sane so it doesn't make sense to me to keep the watchdog running, when it triggers it would also have to kill all NOHZ_FULL stuff, which would probably bring the entire machine down.. Arguably we should issue a boot time warning if NOHZ_FULL is configured and the TSC watchdog is running. > I personally override that with passing the tsc=reliable kernel > parameter. Of course use it at your own risk. Yes, that is (sadly) our only option. Manually assert our hardware is solid under the intended workload and then manually disabling the watchdog.