- I have my kernel module that receives interrupt (top-half) from the external GPIO pin change.
- After receiving the interrupt, kernel module should wake up or somehow invoke the function/thread in the user-space that will start processing. Time is very limited.
- No data needs to be sent, just the signal.
- CPU is multicore, user-space app will have affinity to one core.
There are so many ways to do kernel-userspace communication. Which one has the lowest latency? (i.e. the time between ISR and waking up the function).
(Side note: Yes, I can benchmark them, the reason I'm asking the question is because I may not know about every possible solution)