Path: csiph.com!aioe.org!bofh.it!news.nic.it!robomod From: Peter Zijlstra Newsgroups: linux.kernel Subject: Re: [PATCH 10/25] hrtimer: Make handling of hrtimer reprogramming and enqueuing not conditional Date: Tue, 26 Sep 2017 14:20:01 +0200 Message-ID: References: Dkim-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=kkEPRSZHXELv26ZLTrTf41ZmjRAZPFmwkr5ksLJnKd4=; b=sZWnUgs6vMssDyyeENiUvwzCh N3TyLSGpoV9E8WaPgqHT2cSB7yEJSwYUa/VwcqM7FnnxkRa/CeMgbaZ71NAHV/Qrq8UukpE8ifLPq xOzOBuLSFBxW4Dn6/OYtoh0utKuxH8fzkvGTVR4U03ZIgFJd/43bbYoWTiORfor1mlBlEGCRjOPC1 L6FtQSWknn1FkPOlnCwb+GCYlbVAzgD1F3sv07pZu2265LAAXtn4eFJnNTRgvu3RtG85m/HXoU8yk A6oNluePjIOofbnyzpYZv0UacBb45rEkYWFQCEpPin0c9+hFgXE7n2mfOixO/SgGff/ptzEhpVnLM RVZ88kggQ==; MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: NeoMutt/20170609 (1.8.3) Sender: robomod@news.nic.it List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Approved: robomod@news.nic.it Lines: 16 Organization: linux.* mail to news gateway X-Original-Cc: LKML , Ingo Molnar , Christoph Hellwig , keescook@chromium.org, John Stultz , Thomas Gleixner X-Original-Date: Tue, 26 Sep 2017 14:14:35 +0200 X-Original-Message-ID: <20170926121435.sr35j6anagg5ckof@hirez.programming.kicks-ass.net> X-Original-References: <20170831105725.809317030@linutronix.de> <20170831105826.365542256@linutronix.de> X-Original-Sender: linux-kernel-owner@vger.kernel.org Xref: csiph.com linux.kernel:1739822 On Thu, Aug 31, 2017 at 12:23:38PM -0000, Anna-Maria Gleixner wrote: > The hrtimer_reprogramming, remote timer enqueuing and handling of the > hrtimer_cpu_base struct member expires_next depend on the active high > resolution timers. This makes the code harder to understand. > > To simplify the code, the hrtimer reprogramming is now executed > independently except for the real reprogramming part. The expires_next > stores now the first enqueued timer. Due to the adaption of the > check_target function, remote enqueuing is now only possible when the > expiry time is after the currently first expiry time independent of the > active high resolution timers. Sorry, very hard to follow. What? So we do this to unconditionally track expire_next, such that we can (later) use hrtimer_check_target()?