Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp7612654rwb; Tue, 15 Nov 2022 15:12:29 -0800 (PST) X-Google-Smtp-Source: AA0mqf4gB77xcWtrqGDffHl7Fjoc0hNs7qNGC9bCaLjFPAKONcaDOsOF0N19teqfYl5kM+dnaEg8 X-Received: by 2002:a05:6a00:428b:b0:56c:bfe:1cd7 with SMTP id bx11-20020a056a00428b00b0056c0bfe1cd7mr20383476pfb.83.1668553949423; Tue, 15 Nov 2022 15:12:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668553949; cv=none; d=google.com; s=arc-20160816; b=leNq/dKJP92yQqxhr/SzEIRTIokg7Q0y1RTz6OzufneMhEaYzQqA0sWT5uqaomczDK 492r7gX5HSRdgiZwV0sXfICq8wOgl4BZJWKk7nYnlPxYbgsVQYJi3gyJRb/wP1UGM8Gy 8+/6TCHgYxy+1+OLE4cskyjuEAZjd31zmL6cqL17kMCwZplHHGScYAmlig8AHCk6vYE9 95nxmkBAYwF9VrcJYhUgahKcMiY5RRUSs1WtXz3I/5lH9i/vrWs3Kvv8npdsnzEZu+89 TMRsz9GV9WuDEHGKeFzFEJymIggc/gQLAXnFYA3PYb/9fyWal/UknpmRxI6w3l4bUluK YR9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=sRXAKmxY2Zgdo+X9gt/mNX08DcVIzoQ+YqWw8idM1+s=; b=RmTw4tsSUc04rk79VCwZciUj5M+XePPCaS2BkKO/FVsF8PMGWVrNcXsVbGu2YDCkjv s1mvnN16cvN4776Z078x5TpLc2dMeo8I+BiRZL9MOllpo10QXLVH+B+1SOJf7wmOIJcr 08BZz0N1ZMgnIS4ISXzdQujATpBqjDUrbJuT+nnfkZyLrhEGqg4zSzHV2aZ/v1gZheSD pwRYb4BBfJdPzOF6q45/Yp9fwv9W3i6k89QbitoInpADnbVi4miydJDK7VMydu8njjMs VztqwlN6kPZj+pgCm7lNdhl7P64T92sIPCmOFjYvsXSFjTjujiE7qKzB53Svh/K/bysV OrrQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="P/4fbRkN"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v3-20020a17090a778300b00213a3a2a09csi205439pjk.159.2022.11.15.15.12.17; Tue, 15 Nov 2022 15:12:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="P/4fbRkN"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230438AbiKOWlR (ORCPT + 90 others); Tue, 15 Nov 2022 17:41:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40756 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229710AbiKOWkt (ORCPT ); Tue, 15 Nov 2022 17:40:49 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 95E8EA1A7 for ; Tue, 15 Nov 2022 14:40:48 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 39C51B81B8B for ; Tue, 15 Nov 2022 22:40:47 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5BBCAC433C1; Tue, 15 Nov 2022 22:40:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1668552045; bh=JiFlzgedeiJa2EV18L8uT1+agi0HgcdcNrox4VF6fdU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=P/4fbRkN04g/ko6drcGu5hZlH8vXr94R0TQYroNgFRtxUz4TmTutLFcWoNp/SLoXt ZWC9x6azBnsJuAO7gVMTQJe93olRmNijuDh1qSWq+rxgbkAoWaFG0Eck+NBh6e+CE5 99QmH40BvQL6PdEMIesgdtl8sgLyba45NGXCipYprM3Cps394goMpWULSP0N1az6an pgVk7EY4cVXdr94YaJL6Uccn4cDcIWH1pUtOfX7gxe16QX8DkjjZpXO3eqeKOIF+Mx jqIYGp0WIWRylq6pP7Zvcf6NhklHJk1sOl/TQNK6c30F0gpE8frKhA6pLY9T8Ig6tG ao8iFTK8LdmNw== Date: Tue, 15 Nov 2022 23:40:42 +0100 From: Frederic Weisbecker To: "Zhou, Yun" Cc: "jstultz@google.com" , "tglx@linutronix.de" , "sboyd@kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] timers: fix LVL_START macro Message-ID: <20221115224042.GA722789@lothringen> References: <20221115025614.79537-1-yun.zhou@windriver.com> <20221115120239.GA721394@lothringen> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Nov 15, 2022 at 01:15:11PM +0000, Zhou, Yun wrote: > Hi Frederic, > > The issue now is that a timer may be thrown into the upper level bucket. For example, expires 4090 and 1000 HZ, it should be in level 2, but now it will be placed in the level 3. Is this expected? > > * HZ 1000 steps > * Level Offset Granularity Range > * 0 0 1 ms 0 ms - 63 ms > * 1 64 8 ms 64 ms - 511 ms > * 2 128 64 ms 512 ms - 4095 ms (512ms - ~4s) > * 3 192 512 ms 4096 ms - 32767 ms (~4s - ~32s) > * 4 256 4096 ms (~4s) 32768 ms - 262143 ms (~32s - ~4m) The rule is that a timer is not allowed to expire too early. But it can expire a bit late. Hence why it is always rounded up. So in the case of 4090, we have the choice between: 1) expiring at bucket 2 after 4096 - 64 = 4032 ms 2) expiring at bucket 3 after 4096 ms The 1) rounds down and expires too early. The 2) rounds up and expires a bit late. So the second solution is preferred. Thanks.