sys/bhp_msg: add IPC based implementation of Bottom Half Processor#18464
sys/bhp_msg: add IPC based implementation of Bottom Half Processor#18464benpicco merged 3 commits intoRIOT-OS:masterfrom
Conversation
|
This is a bad idea. Messages sent from ISR silently vanish if the receiver is not waiting (in The effect would be easy to show with a unit test that calls I'm beginning to think we should deprecate |
|
As discussed in many old PRs, I was never a fan of ISR offloading using IPC and I 100% agree with what you describe. I plan to migrate all the remaining IPC based IRQ Offloading modules to Events or Thread Flags at some point. |
|
OK I see, this is needed because LWIP uses msg already for netdev events and this will integrate with it. |
benpicco
left a comment
There was a problem hiding this comment.
Code looks good, but there should be some explanation as to when bhp_event and when bhp_msg should be used.
CI has some comments too.
|
done! |
benpicco
left a comment
There was a problem hiding this comment.
Static tests are still failing
|
Please squash! |
|
squashed! |
Contribution description
This PR adds an IPC version of the
bhpmodule. It allows device independent IRQ offloading using message queues.A
bhp_msg_tdescriptor holds the PID of a thread that performs Bottom Half processing on reception of a message with a dedicated type. Similar to #18435, this mechanism can be adapted to existinginitfunctions of drivers to hook in IRQ offloading.Testing procedure
tests/unittestsshould pass.Issues/PRs references
#18435
Required for adding LWIP support for radios that require IRQ offloading