Messages in this thread | | | Date | Mon, 1 Apr 2024 18:50:37 -0500 | Subject | Re: [PATCH 13/13] mailbox: omap: Remove kernel FIFO message queuing | From | Andrew Davis <> |
| |
On 4/1/24 6:39 PM, Hari Nagalla wrote: > On 3/25/24 12:20, Andrew Davis wrote: >> The kernel FIFO queue has a couple issues. The biggest issue is that >> it causes extra latency in a path that can be used in real-time tasks, >> such as communication with real-time remote processors. >> >> The whole FIFO idea itself looks to be a leftover from before the >> unified mailbox framework. The current mailbox framework expects >> mbox_chan_received_data() to be called with data immediately as it >> arrives. Remove the FIFO and pass the messages to the mailbox >> framework directly. > Yes, this would definitely speed up the message receive path. With RT linux, the irq runs in thread context, so that is Ok. But with non-RT the whole receive path runs in interrupt context. So, i think it would be appropriate to use a threaded_irq()?
I was thinking the same at first, but seems some mailbox drivers use threaded, others use non-threaded context. Since all we do in the IRQ context anymore is call mbox_chan_received_data(), which is supposed to be IRQ safe, then it should be fine either way. So for now I just kept this using the regular IRQ context as before.
If that does turn out to be an issue then let's switch to threaded.
Andrew
| |