Re: [RFC PATCH 5/5] can: m_can: Add hrtimer to generate software interrupt

From: Marc Kleine-Budde
Date: Mon Apr 17 2023 - 03:26:56 EST


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 |

Attachment: signature.asc
Description: PGP signature