Messages in this thread | | | Date | Mon, 17 Apr 2023 09:26:13 +0200 | From | Marc Kleine-Budde <> | Subject | Re: [RFC PATCH 5/5] can: m_can: Add hrtimer to generate software interrupt |
| |
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.
regards, 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 | [unhandled content-type:application/pgp-signature] | |