Re: [PATCH 2/3] net can c_can: replace napi-hanlder with irqthread

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On di, 01 okt 2019 11:40:09 +0200, Marc Kleine-Budde wrote:
> On 9/30/19 9:30 PM, Kurt Van Dijck wrote:
> > The napi-handler defers c_can reception to softirq, but it is hard to
> > control the RT priority of the CAN recv end inside a softirq.
> > Using an irqthread allows precise control of it's RT priority.
> > Having the quota still around in the IRQ thread allows to restrict
> > the work_done per cycle.
> > 
> > Signed-off-by: Kurt Van Dijck <dev.kurt@xxxxxxxxxxxxxxxxxxxxxx>
> 
> NACK, not pushing CAN frames though NAPI results in very strange things,
> such like package reordering.

This becomes interesting.
Would you mind elaborating a bit on that.

I'm currently trying to avoid CAN overflows on an RT system, where
I eleveated the can irq thread above the others.
Then I discovered that the softirqd waits a lot before being scheduled,
but this one deal with all others too, so I started to question the whole
softirq thing because its a garbage can for all postponed work.
Mirgrating to a threaded irq seems wise to me then.

If a single thread reads all the incoming messages from the chip,
the are received in order, I assume. Who would reorder the packets?
Is synchronizing rx/tx paths handled in napi? they depend on different
softirqs, if I remember well.

Kind regards,

Kurt



[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux