Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753236AbbFHP5l (ORCPT ); Mon, 8 Jun 2015 11:57:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49221 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753036AbbFHP52 (ORCPT ); Mon, 8 Jun 2015 11:57:28 -0400 Date: Mon, 8 Jun 2015 17:56:28 +0200 From: Oleg Nesterov To: Peter Zijlstra Cc: umgwanakikbuti@gmail.com, mingo@elte.hu, ktkhai@parallels.com, rostedt@goodmis.org, tglx@linutronix.de, juri.lelli@gmail.com, pang.xunlei@linaro.org, wanpeng.li@linux.intel.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH 0/3] hrtimer: HRTIMER_STATE_ fixes Message-ID: <20150608155628.GB23743@redhat.com> References: <20150605084836.364306429@infradead.org> <20150605085205.723058588@infradead.org> <20150607223317.GA5193@redhat.com> <20150608091417.GM19282@twins.programming.kicks-ass.net> <20150608141709.GX18673@twins.programming.kicks-ass.net> <20150608151039.GA23138@redhat.com> <1433777745.1495.41.camel@twins> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1433777745.1495.41.camel@twins> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1481 Lines: 44 On 06/08, Peter Zijlstra wrote: > > On Mon, 2015-06-08 at 17:10 +0200, Oleg Nesterov wrote: > > On 06/08, Peter Zijlstra wrote: > > > > > > > I tend to agree, but I think its a pre-existing problem, not one > > > > introduced by my proposed patch. > > > > > > Something like this would fix that I think. It fully preserves > > > timer->state over hrtimer_start_range_ns(). > > > > Yes, but I think we can do a bit better. > > > > Only for initial review, I need to re-check this... > > I'm having a wee bit of bother spotting how you version is 'better'. > > > And. I think that after you remove STATE_CALLBACK we can even kill > > timer->state altogether, but this is another story. > > Ah, yes, we could introduce timerqueue_is_queued() which uses > RB_EMPTY_NODE(). Obviating the need for hrtimer::state entirely. Yes exactly. And to me 2/3 looks like a cleanup in any case, __remove_hrtimer() should do nothing with other bits. Yes, timer->state |= HRTIMER_STATE_CALLBACK; __remove_hrtimer(timer, base, true, 0); in __run_hrtimer() looks worse than __remove_hrtimer(CALLBACK), but you are going to kill STATE_CALLBACK. And this should even simplify your patch a little bit. But I agree, this is minor and subjective. Oleg. -- 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/