Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753312AbbFHUxw (ORCPT ); Mon, 8 Jun 2015 16:53:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45121 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751616AbbFHUxq (ORCPT ); Mon, 8 Jun 2015 16:53:46 -0400 Date: Mon, 8 Jun 2015 22:52:46 +0200 From: Oleg Nesterov To: Thomas Gleixner Cc: Peter Zijlstra , umgwanakikbuti@gmail.com, mingo@elte.hu, ktkhai@parallels.com, rostedt@goodmis.org, 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: <20150608205246.GA24869@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: 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: 1959 Lines: 51 On 06/08, Thomas Gleixner wrote: > > On Mon, 8 Jun 2015, 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. > > Which won't work for the migration case unless we have some trickery > like we do with double linked lists (not setting the prev member to > NULL on dequeue). Of course, but this is trivial, no? Nevermind, I could easily miss somthing and right now this is off-topic. What do you think about this series? To me it makes sense in any case. But I need (at least)to update the changelogs. In particular 3/3 doesn't explain why do we need this change. If you missed the previous discussion, this (hopefully) fixes the problem with the auto-rearming timers, the "random" hrtimer_restart() wrongly creates a window when this timer looks as !hrtimer_inactive(). Peter, I tried to think again about ->running and all I can say is that I am totally confused ;) I'll try to write another email tomorrow. 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/