Changing RPMsg Buffer Size

Dear All,

I’d like to thanks the team and community for being supportive. I hope each one of you is safe.

I’ve successfully implemented and tested RPMsg on imx7 with default size of 512. I get about 5 KBytes/Sec of transfer rate from M4 to A7 (Python Serial script) with the default settings. Anything beyond this creates buffer full warnings on Linux. I have a requirement of around 100KBytes/Sec.

As per my previous post at https://www.toradex.com/community/questions/43578/imx7-remoteproc-communication-speed.html?childToView=43597#answer-43597 and a reference to the following post https://www.toradex.com/community/questions/35761/how-to-change-the-size-of-rpmsg-buffer.html?childToView=50535#comment-50535

I am trying to set RPMsg Buffer size to 8192 Bytes.

  1. imx_rpmsg.c file location has changed to drivers/rpmsg/imx_rpmsg.c (different from 2nd post).

  2. I changed the buffer size to 8192 at that file and compiled kernel, also rpms_core.h in FreeRTOS rpmsg buffer size is changed to 8192. Yet buffer size allocated by rpmsg on m4 side is 496 Bytes only.

  3. Could I get a right method to change RPMsg Buffer Size?

  4. Is the Buffer size right amount for 100KBytes/Sec Transfer Rate.?

Regards

Dear @jaski.tx i have been stuck at further development on this could anyone from toradex give me some quick leads into this.

My apologies!!!

Regards

Hi @gada.kashyap

Thanks for writing to the Toradex Community!

Regarding the buffer size of RpMsg Buffer, did you have a look here?

Is the Buffer size right amount for 100KBytes/Sec Transfer Rate.?

Transfer Rate between Arm core and M4? or other devices?

Best regards,
Jaski

Regarding the buffer size of RpMsg Buffer, did you have a look here?
I did check it. Also checked
https://www.toradex.com/community/questions/35761/how-to-change-the-size-of-rpmsg-buffer.html?childToView=50535#comment-50535

Firstly, the file arm/mach-imx/imx_rpmsg.c is not available at this location in Linux 3.0 for imx7. I found the file at drivers/rpmsg/imx_rpmsg.c and changed it as per the tutorial on toradex site for both Linux and FREERTOS.
yet the buffer size didn’t change it was fixed at 496.

Also, buffer size and num of buf in the imx_rpmsg.c. C file is 512 each where as in freertos is 512 and 256 respectively. **why? **

Transfer Rate between Arm core and M4? or other devices?
Between A7 and M4!

Dear @jaski.tx ,

Its been long time. Could you please give me some pointers where we could try and solve it.

Regards
Kashyap

Hi @gada.kashyap

Thanks for your patience.
@deven.tx is working on this issue and he will answer you.

Best regards,
Jaski

Reply Received - from @deven.tx

Dear Kashyap,

I tried at my end but still no success.
I will suggest you if you can send the data in the form of 496Bytes and try, whether it is fulfiling your requirement.
Since NXP is providing the RPMsg libraries and its from SoC level. We don’t have much expertise. You can make use of NXP community for this.


Should we expect this to be final?

HI @gada.kashyap

For the moment, this is our final answer

If we get any news on this topic, we will let you know.

Best regards,
Jaski