Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753449AbbFCHck (ORCPT ); Wed, 3 Jun 2015 03:32:40 -0400 Received: from casper.infradead.org ([85.118.1.10]:34417 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753014AbbFCHcc (ORCPT ); Wed, 3 Jun 2015 03:32:32 -0400 Date: Wed, 3 Jun 2015 09:32:27 +0200 From: Peter Zijlstra To: Kirill Tkhai Cc: "umgwanakikbuti@gmail.com" , "mingo@elte.hu" , "ktkhai@parallels.com" , "rostedt@goodmis.org" , "juri.lelli@gmail.com" , "pang.xunlei@linaro.org" , "oleg@redhat.com" , "linux-kernel@vger.kernel.org" , "luca.abeni@unitn.it" Subject: Re: [RFC][PATCH 3/7] sched: Allow balance callbacks for check_class_changed() Message-ID: <20150603073227.GW3644@twins.programming.kicks-ass.net> References: <20150601135818.506080835@infradead.org> <20150601140839.852669281@infradead.org> <449191433253514@web6g.yandex.ru> <1433255230.1495.2.camel@twins> <20150602160724.GS18673@twins.programming.kicks-ass.net> <249151433262439@web6m.yandex.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <249151433262439@web6m.yandex.ru> 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 Content-Length: 1009 Lines: 29 On Tue, Jun 02, 2015 at 07:27:19PM +0300, Kirill Tkhai wrote: > > + * task_dead_dl() will cancel our timer if we happen to die while > > + * its still pending. > > task_dead_dl() is called for tasks of deadline class only. So if we do that, > the timer may be executed after final task's dead. Indeed; sleep deprived brain misses the obvious :/ I can't seem to come up with anything much better than pulling that hrtimer_cancel() into finish_task_switch(), however sad that is. Something like: for_each_class(class) { if (class->task_dead) class->task_dead(prev); } Would be nicest, but will slow down the common case. And a callback list has the downside of having to preallocate entries for every task, causing mostly pointless memory overhead. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/