Improving app performance in WP

I am seeing these two independent issues on different apps in WP.

  1. The performance of the app(the speed at which data is transferred on CAN) varies based on whether logs are enabled using logread -f command on a terminal. I am seeing better performance when logread -f | grep appName command is used on the terminal.
  2. The app performance is varying considerably on subsequent runs. The time taken by app to complete a task is varying from 22 to 28 mins. Is there a way by which I can make the app run at a higher priority and always complete in 22 mins? I am using rt32 priority right now.

Please let me know if you have any solution for this. The performance is important for our application, I have been stuck on this for quite some time now.

logread is for debug only, for production, you would not enable it.

have you maximized the cpushare and priority value?

https://docs.legato.io/latest/defFilesAdef.html#defFilesAdef_cpuShare

Have you disabled other application and see if there is improvement?

Here also shows an example in driver layer tp use “local_irq_disable” and “local_irq_enable”

Thanks for replying @jyijyi.

Yes, logread will not be enabled in production. While debugging the app we are seeing better performance when logread is used.

After maximizing the cpushare and priority, no performance improvement is observed.

I have tried running the required application in stand-alone mode, with other applications removed from sdef file. There isn’t much improvement in performance with this.

I cannot use “local_irq_disable” and “local_irq_enable” as we are using multiple sockets at the same time. The code functionality is breaking when I add “local_irq_disable” and “local_irq_enable” in ISR.

We are able to achieve the desired performance with current code implementation, just the time is varying every time I run the app and I also have to keep the logread command running in one terminal.

it does not quite make sense that performance will be better if logread is used…

Have you run it in standalone native C program?
It willl no longer relate to legato, and you can see if it has improvement.

How to run a standalone native C program? Can you please help me with the steps.

you can see here to use the WP76 R9 toolchain:

I have downloaded the toolchain from https://source.sierrawireless.com/resources/airprime/software/wp76xx/wp76xx-firmware-latest-release-components/#sthash.RWXHEE1A.dpbs

In the next step, you have mentioned to Install it to the/opt/swi/y22-ext folder. I do not have such a folder in /opt directory. I have the following folder structure in /opt folder:
image

Where should I paste the downloaded toolchain?

you need to download the R9 toolchain and install the .sh file

https://source.sierrawireless.com/resources/airprime/software/wp76xx/wp76xx-firmware-release-9-components/#sthash.WPPvRrYH.dpbs

I am getting the above error when I run the script for installing the toolchain. I just downloaded the script and ran ./poky-swi-ext-glibc-x86_64-meta-toolchain-swi-ext-armv7a-neon-toolchain-swi-ext-2.2.3.sh. Am I missing some step before this?

I installed the toolchain in ubuntu 18 successfully, you can try on that