From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756716AbbBQKj6 (ORCPT ); Tue, 17 Feb 2015 05:39:58 -0500 Received: from bombadil.infradead.org ([198.137.202.9]:33881 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754911AbbBQKj5 (ORCPT ); Tue, 17 Feb 2015 05:39:57 -0500 Date: Tue, 17 Feb 2015 11:39:46 +0100 From: Peter Zijlstra To: Preeti U Murthy Cc: linux-kernel@vger.kernel.org, mingo@kernel.org, rjw@rjwysocki.net, tglx@linutronix.de Subject: Re: [PATCH 32/35] clockevents: Fix cpu down race for hrtimer based broadcasting Message-ID: <20150217103946.GD21418@twins.programming.kicks-ass.net> References: <20150216121435.203983131@infradead.org> <20150216122413.880378334@infradead.org> <54E2BDA1.3040003@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54E2BDA1.3040003@linux.vnet.ibm.com> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 17, 2015 at 09:33:45AM +0530, Preeti U Murthy wrote: > On 02/16/2015 05:45 PM, Peter Zijlstra wrote: > > >> From: Thomas Gleixner > > >> @@ -428,7 +428,7 @@ static int __ref _cpu_down(unsigned int > >> __cpu_die(cpu); > >> > >> /* CPU is completely dead: tell everyone. Too late to complain. */ > >>- tick_cleanup_dead_cpu(cpu); > >>+ tick_takeover(cpu); > > Why is tick_handover() called after __cpu_die()? See: [PATCH 11/35] clockevents: Cleanup dead cpu explicitely it used to be a CPU_DEAD notifier. But, I think, the actual reason would be that you cannot be sure its not still ticking until its actually proper dead and buried, so trying to take over a tick from a cpu that's still ticking is... well, suspect. > And the function tick_takeover() > is not introduced until the next patch. tick_broadcast_takeover_bc() is the > function used instead in this patch. Indeed so; let me correct that for bisection's sake.