From: Marc Kleine-Budde <mkl@pengutronix.de>
To: Oliver Hartkopp <socketcan@hartkopp.net>
Cc: Judith Mendez <jm@ti.com>,
Chandrasekar Ramakrishnan <rcsekar@samsung.com>,
Nishanth Menon <nm@ti.com>, Vignesh Raghavendra <vigneshr@ti.com>,
Andrew Davis <afd@ti.com>,
Wolfgang Grandegger <wg@grandegger.com>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
linux-can@vger.kernel.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org, netdev@vger.kernel.org,
Schuyler Patton <spatton@ti.com>
Subject: Re: [RFC PATCH 5/5] can: m_can: Add hrtimer to generate software interrupt
Date: Mon, 17 Apr 2023 21:26:04 +0200 [thread overview]
Message-ID: <20230417-unsafe-porridge-0b712d137530-mkl@pengutronix.de> (raw)
In-Reply-To: <25806ec7-64c5-3421-aea1-c0d431e3f27f@hartkopp.net>
[-- Attachment #1: Type: text/plain, Size: 2040 bytes --]
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.
> > >
> > > @Judith: Can you acknowledge the value calculation?
> > >
> > > > > The "shortest" 11 bit CAN ID CAN frame is a Classical CAN frame with DLC = 0
> > > > > and 1 Mbit/s (arbitration) bitrate. This should be 48 bits @1Mbit => ~50
> > > > > usecs
> > > > >
> > > > > So it should be something about
> > > > >
> > > > > 50 usecs * (FIFO queue len - 2)
> > > >
> > > > Where does the "2" come from?
> > >
> > > I thought about handling the FIFO earlier than it gets completely "full".
> > >
> > > The fetching routine would need some time too and the hrtimer could also
> > > jitter to some extend.
> >
> > I was assuming something like this.
> >
> > I would argue that the polling time should be:
> >
> > 50 µs * FIFO length - IRQ overhead.
> >
> > The max IRQ overhead depends on your SoC and kernel configuration.
>
> 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
µs. I wanted to say there's an overhead (or latency) and we need enough
space in the FIFO, to cover it.
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung Nürnberg | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2023-04-17 19:26 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-13 22:30 [RFC PATCH 0/5] Enable multiple MCAN on AM62x Judith Mendez
2023-04-13 22:30 ` [RFC PATCH 1/5] arm64: dts: ti: Add AM62x MCAN MAIN domain transceiver overlay Judith Mendez
2023-04-13 22:30 ` [RFC PATCH 2/5] arm64: defconfig: Enable MCAN driver Judith Mendez
2023-04-13 22:30 ` [RFC PATCH 3/5] dt-binding: can: m_can: Remove required interrupt attributes Judith Mendez
2023-04-14 8:00 ` Krzysztof Kozlowski
2023-04-13 22:30 ` [RFC PATCH 4/5] arm64: dts: ti: Enable multiple MCAN for AM62x in MCU MCAN overlay Judith Mendez
2023-04-14 8:01 ` Krzysztof Kozlowski
2023-04-14 18:29 ` Nishanth Menon
2023-04-14 20:44 ` Krzysztof Kozlowski
2023-04-14 22:11 ` Nishanth Menon
2023-04-19 15:54 ` Mendez, Judith
2023-04-13 22:30 ` [RFC PATCH 5/5] can: m_can: Add hrtimer to generate software interrupt Judith Mendez
2023-04-14 18:20 ` Marc Kleine-Budde
2023-04-16 12:33 ` Oliver Hartkopp
2023-04-16 15:35 ` Marc Kleine-Budde
2023-04-16 19:46 ` Oliver Hartkopp
2023-04-17 7:26 ` Marc Kleine-Budde
2023-04-17 17:34 ` Oliver Hartkopp
2023-04-17 19:26 ` Marc Kleine-Budde [this message]
2023-04-18 20:59 ` Mendez, Judith
2023-04-19 6:13 ` Marc Kleine-Budde
2023-04-19 14:38 ` Mendez, Judith
2023-04-19 19:06 ` Mendez, Judith
2023-04-14 6:12 ` [RFC PATCH 0/5] Enable multiple MCAN on AM62x Vignesh Raghavendra
2023-04-19 15:12 ` Mendez, Judith
2023-04-14 17:49 ` Marc Kleine-Budde
2023-04-18 16:15 ` Mendez, Judith
2023-04-19 6:10 ` Marc Kleine-Budde
2023-04-19 20:40 ` Mendez, Judith
2023-04-20 9:36 ` Marc Kleine-Budde
2023-04-20 15:17 ` Mendez, Judith
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230417-unsafe-porridge-0b712d137530-mkl@pengutronix.de \
--to=mkl@pengutronix.de \
--cc=afd@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=jm@ti.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-can@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nm@ti.com \
--cc=rcsekar@samsung.com \
--cc=robh+dt@kernel.org \
--cc=socketcan@hartkopp.net \
--cc=spatton@ti.com \
--cc=vigneshr@ti.com \
--cc=wg@grandegger.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).