Received: by 2002:a05:6358:53a8:b0:117:f937:c515 with SMTP id z40csp4428092rwe; Mon, 17 Apr 2023 12:30:01 -0700 (PDT) X-Google-Smtp-Source: AKy350ZSYOt6sO+HDTuNuBCgsVQzGEQ/82oBOsaxyG1mZ2i5puj+NDAd6Nh2arTHOTxM4/Ug7uzR X-Received: by 2002:a05:6a00:2da2:b0:63d:27a1:d578 with SMTP id fb34-20020a056a002da200b0063d27a1d578mr3917033pfb.20.1681759800904; Mon, 17 Apr 2023 12:30:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681759800; cv=none; d=google.com; s=arc-20160816; b=Uuy0Evsikivt+B8X40F5O71N8C78Q8Wfzpfv5o0QB7VUJo+inkQkJvhBjI7Chmda9R CJL7jD8UUQYZdikRxAYbp3GnfX9Sl7bCiUql1ci0QaCtbq+rYao/NA67+j8cLyHghn6w nkCiBoWTR0x5FiCerr5vmHLhSOCF/B8ibVdRCDd7DGgAznU79I+x14VFTktLNUwSsJwq LG1LnX4oCD8ovrcxqQn2Me1UHnGoGL0Nq74w7GGth38xCcUUrb3TXNryvo/J7VppK2Js nFys+2xv5U3Za1sCphgcmZVM5qYyk1dd4GbYQN+COaMMq0awTX+nNDmCtfTOI9GINPPv C57A== 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; bh=GZHf25kmOPaLgKaI2OFTHdjHwyvxEZ8uvnbbRRUGjjg=; b=GBim3XscPIulJS3Tw8GfFf+3Yo3oWHTp5hLDZXmZepmYr7bH07iikDtnMBHXpKs3gZ CSDKkAhymuwXypwAEFlVpqlgC2RMVhOukzVOrOPmHTZKY5ZYB6MVr3GjP2lr7f2l7kvn 4iRdM7iJG+MTXDBxmxNKua+rHTF80nUri42n70n5pAKbK1rcj3eujYDwuqXwQlpPQoLZ SnDKv70dj783n5aO0QtcA91TYa3QUW1b1trsg/J9ePscMBViuUCODRyI4UFW1ix0L8zZ uERZlTViUWNu5WEsx8dPvSEtV4M0WSUW1tGAt1dNKwWD2JX/wbk/6BU/p8LlhcIjnsVE mTRg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b74-20020a621b4d000000b0063b6ae02400si8934664pfb.293.2023.04.17.12.29.47; Mon, 17 Apr 2023 12:30:00 -0700 (PDT) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230464AbjDQT0e (ORCPT + 99 others); Mon, 17 Apr 2023 15:26:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229531AbjDQT0Z (ORCPT ); Mon, 17 Apr 2023 15:26:25 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B386576A8 for ; Mon, 17 Apr 2023 12:26:22 -0700 (PDT) Received: from moin.white.stw.pengutronix.de ([2a0a:edc0:0:b01:1d::7b] helo=bjornoya.blackshift.org) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1poUUJ-0004Fg-PX; Mon, 17 Apr 2023 21:26:07 +0200 Received: from pengutronix.de (unknown [172.20.34.65]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: mkl-all@blackshift.org) by smtp.blackshift.org (Postfix) with ESMTPSA id BC3631B175F; Mon, 17 Apr 2023 19:26:04 +0000 (UTC) Date: Mon, 17 Apr 2023 21:26:04 +0200 From: Marc Kleine-Budde To: Oliver Hartkopp Cc: Judith Mendez , Chandrasekar Ramakrishnan , Nishanth Menon , Vignesh Raghavendra , Andrew Davis , Wolfgang Grandegger , Rob Herring , Krzysztof Kozlowski , linux-can@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, netdev@vger.kernel.org, Schuyler Patton Subject: Re: [RFC PATCH 5/5] can: m_can: Add hrtimer to generate software interrupt Message-ID: <20230417-unsafe-porridge-0b712d137530-mkl@pengutronix.de> References: <20230413223051.24455-1-jm@ti.com> <20230413223051.24455-6-jm@ti.com> <20230414-bounding-guidance-262dffacd05c-mkl@pengutronix.de> <4a6c66eb-2ccf-fc42-a6fc-9f411861fcef@hartkopp.net> <20230416-failing-washbasin-e4fa5caea267-mkl@pengutronix.de> <20230417-taking-relieving-f2c8532864c0-mkl@pengutronix.de> <25806ec7-64c5-3421-aea1-c0d431e3f27f@hartkopp.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="clk4ct7erfqsly7j" Content-Disposition: inline In-Reply-To: <25806ec7-64c5-3421-aea1-c0d431e3f27f@hartkopp.net> X-SA-Exim-Connect-IP: 2a0a:edc0:0:b01:1d::7b X-SA-Exim-Mail-From: mkl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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 --clk4ct7erfqsly7j Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 17.04.2023 19:34:03, Oliver Hartkopp wrote: > On 17.04.23 09:26, Marc Kleine-Budde wrote: > > On 16.04.2023 21:46:40, Oliver Hartkopp wrote: > > > > I had the 5ms that are actually used in the code in mind. But this = is a > > > > good calculation. > > >=20 > > > @Judith: Can you acknowledge the value calculation? > > >=20 > > > > > The "shortest" 11 bit CAN ID CAN frame is a Classical CAN frame w= ith DLC =3D 0 > > > > > and 1 Mbit/s (arbitration) bitrate. This should be 48 bits @1Mbit= =3D> ~50 > > > > > usecs > > > > >=20 > > > > > So it should be something about > > > > >=20 > > > > > 50 usecs * (FIFO queue len - 2) > > > >=20 > > > > Where does the "2" come from? > > >=20 > > > I thought about handling the FIFO earlier than it gets completely "fu= ll". > > >=20 > > > The fetching routine would need some time too and the hrtimer could a= lso > > > jitter to some extend. > >=20 > > I was assuming something like this. > >=20 > > I would argue that the polling time should be: > >=20 > > 50 =C2=B5s * FIFO length - IRQ overhead. > >=20 > > The max IRQ overhead depends on your SoC and kernel configuration. >=20 > I just tried an educated guess to prevent the FIFO to be filled up > completely. How can you estimate the "IRQ overhead"? And how do you catch > the CAN frames that are received while the IRQ is handled? We're talking about polling, better call it "overhead" or "latency from timer expiration until FIFO has at least one frame room". This value depends on your system. It depends on many, many factors, SoC, Kernel configuration (preempt RT, powersaving, frequency scaling, system load. In your example it's 100 =C2=B5s. I wanted to say there's an overhead (or latency) and we need enough space in the FIFO, to cover it. Marc --=20 Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung N=C3=BCrnberg | Phone: +49-5121-206917-129 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 | --clk4ct7erfqsly7j Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEDs2BvajyNKlf9TJQvlAcSiqKBOgFAmQ9nUkACgkQvlAcSiqK BOixwwf/S6gpZAbZI0gDLqq59QAhT0OVgjq9E8jQRb6b3SM430nhVX/oOlfIXRCJ mz76H1v+b1fURaOi+VZC5zoVb5MF8WhJtBEAWa2IbLNGA1A/6UMtQ466nbNCXPYP dFBo+MfWZrkcSayCEYuWdwiPPHJSkOtNeZnjRDwMm2uPF1CeSrQlS5Fbi0GNJy// 7hVBMN7Jm4qlCQxCC3jHRm0Gtc8qWz5n1v2DyxokjtT4jMo9Iwni6wnPB9ni5JHT SldeHxtqHDcc4i83eUxhZzsYD6WDV+J7VAkARfnJBcDnFX8qCznvU5eOjBMU3qgr IIraJi0ns1cH/zWAc/yyMoaL+/vn9A== =PGh8 -----END PGP SIGNATURE----- --clk4ct7erfqsly7j--