0152b031a4
RPMSG is associated with the use of HPWORK / LPWORK queues. After sending a message to the remote end (Linux), the system waits for an ack before proceeding. Unfortunately this may take sometimes more time than one would expect. Ack waiting is also unnecessary: nothing is done with that information. Even worse, the net_lock() is also held during the blocked time so it blocks other network stacks that are unrelated to this. Also reorganize the mpfs_opensbi_*.S so that the trap handler is easily relocated in the linker .ld file without the need to relocate the utils.S. This makes it easier to separate the files into own segments. The trap file should be located in the zero device. Moreover, provide support for simultaneous ACK and message present handling capabilities in both directions. There are times when both bits are set but only other is being handled. In the end, the maximum throughput of the RPMSG bus increases easily 10-20% or even more. Signed-off-by: Eero Nurkkala <eero.nurkkala@offcode.fi> |
||
---|---|---|
.. | ||
include | ||
src | ||
Kconfig |