|
Re: EXPENSIVE IO (in32() and out32()) calls in QNX when compared to Linux
|
10/13/2015 3:36 AM
post114631
|
Re: EXPENSIVE IO (in32() and out32()) calls in QNX when compared to Linux
Karan Shah schrieb:
> The in32() and out32() IO functions in QNX kernel is taking 2.5 us to execute, when compared to 1 us in Linux kernel.
Are the in32() / out32() function used in kernel or in user space ?
> The measurement in QNX was done using the Momentics IDE QNX 6.5 ver 4.7.0
>
> I also wrote a sample program by calling a in32() and out32() for over 1000 times and checking the time taken to
verify this. The test program showed similar results.
>
> It is because of this my driver performance in QNX is (2 â 2.5 times) worse compared to the one in Linux.
What compiler versions, compiler options are you using for QNX and
Linux. Could you show the individual assembler code produced by the
compiler ?
>
> The Hardware used was IMX6DQ clocking at 800MHz. The same configuration was used for tests in Linux and QNX.
>
> Can anyone suggest how to optimize the IO operations in QNX? Or any methods to work-around this issue?
>
> In file image001.png, the figure shows the in32() is called a total of 17 times and has 35.37us as total time, this
translates to 2.08us per in32().
>
> The other tests shows up-to 2.5 us to execute this function.
Could you show us the test code in details ??
Regards
Armin
|
|
|