* [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency
@ 2015-12-08 10:43 eric
2015-12-08 11:23 ` Gilles Chanteperdrix
0 siblings, 1 reply; 15+ messages in thread
From: eric @ 2015-12-08 10:43 UTC (permalink / raw)
To: xenomai@xenomai.org
hello:
I use xenomai-2.6.4 with kernel ipipe-gch-ipipe-3.0-imx6q.tar.bz2 with sample test , build the flow module with timer 250us cycle,if I make a user space application with memory copy ,the kernel latency will very big ,why??? thanks
latency :
pmax: 0.508624 ms
pmax: 0.533823 ms
pmax: 0.553197 ms
pmax: 0.603770 ms
pmax: 0.613982 ms
pmax: 0.638025 ms
pmax: 0.662129 ms
pmax: 0.699245 ms
pmax: 0.780533 ms
pmax: 0.800770 ms
pmax: 0.802066 ms
pmax: 0.813921 ms
pmax: 0.816330 ms
pmax: 0.820429 ms
pmax: 0.820483 ms
pmax: 0.821783 ms
pmax: 0.827649 ms
pmax: 0.833197 ms
pmax: 0.837606 ms
pmax: 0.843921 ms
pmax: 0.874033 ms
pmax: 0.892414 ms
pmax: 0.892788 ms
usr application:
#include <stdio.h>
int main()
{
char a[1024*1024]={9};
char b[1024*1024];
while(1){
memcpy(b,a,1024*800);
}
return 0;
}
kernel module code :
#define TASK_PRIO 99 // 99 is Highest RT priority
#define TASK_MODE 0 // No flags
#define TASK_STKSZ 0 // default Stack size
#define TASK_PERIOD 250000ll // in nano seconds = 500 ms
long long pmax,start,stop;
static rtdm_task_t td; //RTDM Real time task pointer
char logo[40*1024]={0};
char mem_spvm[40*1024];
long long runcount=0;
void periodic (void *arg) {
long max,pmax;
for (;;) {
rtdm_task_wait_period(); //deschedule until next period
stop =rtdm_clock_read();
memset(mem_spvm,0,sizeof(logo));
memcpy(mem_spvm,logo,sizeof(logo));
memset(mem_spvm,127,sizeof(logo));
memcpy(mem_spvm,logo,sizeof(logo));
//stop = rtdm_clock_read();
if(runcount<1000)
{
pmax=0;
}
if(pmax<(stop-start)){
pmax=stop-start;
printk("pmax: %ld.%06ld ms\n",(long)pmax/1000000,(long)pmax%1000000);
}
start=stop;
runcount++;
}
}
int init_module(void) {
return rtdm_task_init (&td, "periodic", &periodic, NULL, TASK_PRIO,TASK_PERIOD);
}
void cleanup_module(void) {
rtdm_task_destroy(&td);
}
MODULE_LICENSE("GPL");
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency 2015-12-08 10:43 [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency eric @ 2015-12-08 11:23 ` Gilles Chanteperdrix 2015-12-14 2:13 ` eric 0 siblings, 1 reply; 15+ messages in thread From: Gilles Chanteperdrix @ 2015-12-08 11:23 UTC (permalink / raw) To: eric; +Cc: xenomai@xenomai.org On Tue, Dec 08, 2015 at 06:43:02PM +0800, eric wrote: > hello: > I use xenomai-2.6.4 with kernel > ipipe-gch-ipipe-3.0-imx6q.tar.bz2 with sample test , build > the flow module with timer 250us cycle,if I make a user > space application with memory copy ,the kernel latency > will very big ,why??? thanks Do you have the same problem if you use a recent mainline kernel? Such as 3.14 or 3.18 ? -- Gilles. https://click-hack.org ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency 2015-12-08 11:23 ` Gilles Chanteperdrix @ 2015-12-14 2:13 ` eric 2015-12-14 6:42 ` Gilles Chanteperdrix 0 siblings, 1 reply; 15+ messages in thread From: eric @ 2015-12-14 2:13 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org It is much better with 3.18.20 ,it is the test result with xenomai-3.0.1 500us cycle ,still a little big ,thanks! -sh-2.05b# [ 154.812032] pmax: 0.597303 ms [ 245.216863] pmax: 0.600940 ms [ 249.992395] pmax: 0.603288 ms [ 277.280006] pmax: 0.610470 ms At 2015-12-08 19:23:20, "Gilles Chanteperdrix" <gilles.chanteperdrix@xenomai.org> wrote: >On Tue, Dec 08, 2015 at 06:43:02PM +0800, eric wrote: >> hello: >> I use xenomai-2.6.4 with kernel >> ipipe-gch-ipipe-3.0-imx6q.tar.bz2 with sample test , build >> the flow module with timer 250us cycle,if I make a user >> space application with memory copy ,the kernel latency >> will very big ,why??? thanks > >Do you have the same problem if you use a recent mainline kernel? >Such as 3.14 or 3.18 ? > >-- > Gilles. >https://click-hack.org ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency 2015-12-14 2:13 ` eric @ 2015-12-14 6:42 ` Gilles Chanteperdrix 2015-12-14 7:57 ` eric 0 siblings, 1 reply; 15+ messages in thread From: Gilles Chanteperdrix @ 2015-12-14 6:42 UTC (permalink / raw) To: eric; +Cc: xenomai@xenomai.org On Mon, Dec 14, 2015 at 10:13:57AM +0800, eric wrote: > It is much better with 3.18.20 ,it is the test result with xenomai-3.0.1 500us cycle ,still a little big ,thanks! > -sh-2.05b# [ 154.812032] pmax: 0.597303 ms > [ 245.216863] pmax: 0.600940 ms > [ 249.992395] pmax: 0.603288 ms > [ 277.280006] pmax: 0.610470 ms I am not sure about what you measure, but if you observe a 500us latency, you have a problem. What latency does Xenomai latency test give? -- Gilles. https://click-hack.org ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency 2015-12-14 6:42 ` Gilles Chanteperdrix @ 2015-12-14 7:57 ` eric 2015-12-14 8:03 ` Gilles Chanteperdrix 2015-12-14 8:08 ` eric 0 siblings, 2 replies; 15+ messages in thread From: eric @ 2015-12-14 7:57 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org kernel space: #define TASK_PRIO 99 // 99 is Highest RT priority #define TASK_MODE 0 // No flags #define TASK_STKSZ 0 // default Stack size #define TASK_PERIOD 500000ll // in nano seconds = 500 ms long long pmax,start,stop; static rtdm_task_t td; //RTDM Real time task pointer char logo[40*1024]; char mem_spvm[40*1024]; long long runcount=0; void periodic (void *arg) { long max,pmax; for (;;) { rtdm_task_wait_period(NULL); //deschedule until next period stop =rtdm_clock_read(); memset(mem_spvm,0,sizeof(logo)); memcpy(mem_spvm,logo,sizeof(logo)); memset(mem_spvm,127,sizeof(logo)); memcpy(mem_spvm,logo,sizeof(logo)); memset(mem_spvm,0,sizeof(logo)); memcpy(mem_spvm,logo,sizeof(logo)); memset(mem_spvm,127,sizeof(logo)); memcpy(mem_spvm,logo,sizeof(logo)); memset(mem_spvm,0,sizeof(logo)); memcpy(mem_spvm,logo,sizeof(logo)); memset(mem_spvm,127,sizeof(logo)); if(runcount<1000) { pmax=0; } if(pmax<(stop-start)){ pmax=stop-start; printk("pmax: %ld.%06ld ms\n",(long)pmax/1000000,(long)pmax%1000000); } start=stop; runcount++; } } int init_module(void) { return rtdm_task_init (&td, "periodic", &periodic, NULL, TASK_PRIO,TASK_PERIOD); } void cleanup_module(void) { rtdm_task_destroy(&td); } user space: #include <stdio.h> int main() { char a[1024*1024]={0xff}; char b[1024*1024]; int i=0; while(1){ for(i=1000000;i>0;i--) system("sync"); memcpy(b,a,1024*800); } return 0; } At 2015-12-14 14:42:53, "Gilles Chanteperdrix" <gilles.chanteperdrix@xenomai.org> wrote: >On Mon, Dec 14, 2015 at 10:13:57AM +0800, eric wrote: >> It is much better with 3.18.20 ,it is the test result with xenomai-3.0.1 500us cycle ,still a little big ,thanks! >> -sh-2.05b# [ 154.812032] pmax: 0.597303 ms >> [ 245.216863] pmax: 0.600940 ms >> [ 249.992395] pmax: 0.603288 ms >> [ 277.280006] pmax: 0.610470 ms > >I am not sure about what you measure, but if you observe a 500us >latency, you have a problem. > >What latency does Xenomai latency test give? > >-- > Gilles. >https://click-hack.org ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency 2015-12-14 7:57 ` eric @ 2015-12-14 8:03 ` Gilles Chanteperdrix 2015-12-14 8:30 ` eric 2015-12-14 8:08 ` eric 1 sibling, 1 reply; 15+ messages in thread From: Gilles Chanteperdrix @ 2015-12-14 8:03 UTC (permalink / raw) To: eric; +Cc: xenomai@xenomai.org On Mon, Dec 14, 2015 at 03:57:01PM +0800, eric wrote: > kernel space: This does not answer my question. here is my question again, so that you can read it again: > >What latency does Xenomai latency test give? -- Gilles. https://click-hack.org ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency 2015-12-14 8:03 ` Gilles Chanteperdrix @ 2015-12-14 8:30 ` eric 2015-12-14 9:04 ` [Xenomai] Compileerror rt_imx_uart.c on kernel 3.10.53 ARM Wolfgang Netbal 2015-12-14 9:05 ` [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency eric 0 siblings, 2 replies; 15+ messages in thread From: eric @ 2015-12-14 8:30 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org I use latency test ,it show this -sh-2.05b# ./latency 0"000.000| WARNING: [main] cannot open RTDM device /dev/rtdm/memdev-private: No such file or directory 0"000.000| WARNING: [main] cannot map private umm area: No such file or directory 0"000.000| BUG in init_bind(): [main] (CONFIG_DEVTMPFS_MOUNT not enabled?) -sh-2.05b# ./latency -t 1 0"000.000| WARNING: [main] cannot open RTDM device /dev/rtdm/memdev-private: No such file or directory 0"000.000| WARNING: [main] cannot map private umm area: No such file or directory 0"000.000| BUG in init_bind(): [main] (CONFIG_DEVTMPFS_MOUNT not enabled?) At 2015-12-14 16:03:17, "Gilles Chanteperdrix" <gilles.chanteperdrix@xenomai.org> wrote: >On Mon, Dec 14, 2015 at 03:57:01PM +0800, eric wrote: >> kernel space: > >This does not answer my question. here is my question again, so that >you can read it again: > >> >What latency does Xenomai latency test give? > >-- > Gilles. >https://click-hack.org ^ permalink raw reply [flat|nested] 15+ messages in thread
* [Xenomai] Compileerror rt_imx_uart.c on kernel 3.10.53 ARM 2015-12-14 8:30 ` eric @ 2015-12-14 9:04 ` Wolfgang Netbal 2015-12-14 22:48 ` Gilles Chanteperdrix 2015-12-14 9:05 ` [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency eric 1 sibling, 1 reply; 15+ messages in thread From: Wolfgang Netbal @ 2015-12-14 9:04 UTC (permalink / raw) To: xenomai Dear All, when I activated the serial realtime driver (CONFIG_XENO_DRIVERS_IMX_UART) in my kernel 3.10.53 I get the following compile errors. drivers/xenomai/serial/rt_imx_uart.c: In function 'rt_imx_uart_probe': drivers/xenomai/serial/rt_imx_uart.c:2032:20: error: 'struct imxuart_platform_data' has no member named 'init' if (pdata && pdata->init) { ^ drivers/xenomai/serial/rt_imx_uart.c:2033:14: error: 'struct imxuart_platform_data' has no member named 'init' err = pdata->init(pdev); ^ drivers/xenomai/serial/rt_imx_uart.c:2095:20: error: 'struct imxuart_platform_data' has no member named 'exit' if (pdata && pdata->exit) ^ drivers/xenomai/serial/rt_imx_uart.c:2096:8: error: 'struct imxuart_platform_data' has no member named 'exit' pdata->exit(pdev); ^ drivers/xenomai/serial/rt_imx_uart.c: In function 'rt_imx_uart_remove': drivers/xenomai/serial/rt_imx_uart.c:2126:20: error: 'struct imxuart_platform_data' has no member named 'exit' if (pdata && pdata->exit) ^ drivers/xenomai/serial/rt_imx_uart.c:2127:8: error: 'struct imxuart_platform_data' has no member named 'exit' pdata->exit(pdev); I found out that in kernel 3.10.53 the function pointer to exit and init function in struct imxuart_platform_data is missing. I tried to find a newer version of rt_imx_uart.c in xenomai 3.0 but the file is the same. Do you have any idea how to fix this ? Kind regards Wolfgang ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Xenomai] Compileerror rt_imx_uart.c on kernel 3.10.53 ARM 2015-12-14 9:04 ` [Xenomai] Compileerror rt_imx_uart.c on kernel 3.10.53 ARM Wolfgang Netbal @ 2015-12-14 22:48 ` Gilles Chanteperdrix 0 siblings, 0 replies; 15+ messages in thread From: Gilles Chanteperdrix @ 2015-12-14 22:48 UTC (permalink / raw) To: Wolfgang Netbal; +Cc: xenomai On Mon, Dec 14, 2015 at 10:04:17AM +0100, Wolfgang Netbal wrote: > Dear All, > > when I activated the serial realtime driver > (CONFIG_XENO_DRIVERS_IMX_UART) in my kernel 3.10.53 > I get the following compile errors. > > drivers/xenomai/serial/rt_imx_uart.c: In function 'rt_imx_uart_probe': > > drivers/xenomai/serial/rt_imx_uart.c:2032:20: error: 'struct imxuart_platform_data' has no member named 'init' > > if (pdata && pdata->init) { > > ^ > > drivers/xenomai/serial/rt_imx_uart.c:2033:14: error: 'struct imxuart_platform_data' has no member named 'init' > > err = pdata->init(pdev); > > ^ > > drivers/xenomai/serial/rt_imx_uart.c:2095:20: error: 'struct imxuart_platform_data' has no member named 'exit' > > if (pdata && pdata->exit) > > ^ > > drivers/xenomai/serial/rt_imx_uart.c:2096:8: error: 'struct imxuart_platform_data' has no member named 'exit' > > pdata->exit(pdev); > > ^ > > drivers/xenomai/serial/rt_imx_uart.c: In function 'rt_imx_uart_remove': > > drivers/xenomai/serial/rt_imx_uart.c:2126:20: error: 'struct imxuart_platform_data' has no member named 'exit' > > if (pdata && pdata->exit) > > ^ > > drivers/xenomai/serial/rt_imx_uart.c:2127:8: error: 'struct imxuart_platform_data' has no member named 'exit' > > pdata->exit(pdev); > > > > I found out that in kernel 3.10.53 the function pointer to exit and init > function in struct imxuart_platform_data is missing. > > I tried to find a newer version of rt_imx_uart.c in xenomai 3.0 but the > file is the same. > > Do you have any idea how to fix this ? Maybe the file is adapted to newer kernel versions? Such as Linux 3.14 or Linux 3.18 ? Please try, if you want to answer a random mail, to remove any reference-to or in-reply-to header, so that your mail does not appear in a middle of an unrelated thread. Look at the mess you have done here: https://xenomai.org/pipermail/xenomai/2015-December/thread.html -- Gilles. https://click-hack.org ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency 2015-12-14 8:30 ` eric 2015-12-14 9:04 ` [Xenomai] Compileerror rt_imx_uart.c on kernel 3.10.53 ARM Wolfgang Netbal @ 2015-12-14 9:05 ` eric 2015-12-14 22:19 ` Gilles Chanteperdrix 1 sibling, 1 reply; 15+ messages in thread From: eric @ 2015-12-14 9:05 UTC (permalink / raw) To: eric; +Cc: Gilles Chanteperdrix, xenomai@xenomai.org Above i use the wrong version about latency test , now it works and the latency test RTD| 22.513| 39.832| 60.649| 0| 0| 11.269| 63.939 RTD| 27.225| 40.068| 61.134| 0| 0| 11.269| 63.939 RTD| 27.270| 40.531| 60.103| 0| 0| 11.269| 63.939 RTD| 14.876| 39.540| 61.451| 0| 0| 11.269| 63.939 RTD| 15.890| 39.760| 68.512| 0| 0| 11.269| 68.512 RTD| 10.951| 29.915| 61.269| 0| 0| 10.951| 68.512 RTD| 10.981| 12.596| 15.118| 0| 0| 10.951| 68.512 RTD| 10.814| 12.648| 16.284| 0| 0| 10.814| 68.512 RTD| 10.920| 12.636| 15.057| 0| 0| 10.814| 68.512 RTT| 00:09:38 (periodic user-mode task, 1000 us period, priority 99) RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat worst RTD| 10.784| 12.672| 15.465| 0| 0| 10.784| 68.512 RTD| 11.071| 12.602| 15.374| 0| 0| 10.784| 68.512 RTD| 10.904| 12.632| 14.859| 0| 0| 10.784| 68.512 RTD| 10.934| 12.639| 15.056| 0| 0| 10.784| 68.512 RTD| 11.010| 12.575| 15.146| 0| 0| 10.784| 68.512 At 2015-12-14 16:30:40, "eric" <ericvic@163.com> wrote: I use latency test ,it show this -sh-2.05b# ./latency 0"000.000| WARNING: [main] cannot open RTDM device /dev/rtdm/memdev-private: No such file or directory 0"000.000| WARNING: [main] cannot map private umm area: No such file or directory 0"000.000| BUG in init_bind(): [main] (CONFIG_DEVTMPFS_MOUNT not enabled?) -sh-2.05b# ./latency -t 1 0"000.000| WARNING: [main] cannot open RTDM device /dev/rtdm/memdev-private: No such file or directory 0"000.000| WARNING: [main] cannot map private umm area: No such file or directory 0"000.000| BUG in init_bind(): [main] (CONFIG_DEVTMPFS_MOUNT not enabled?) At 2015-12-14 16:03:17, "Gilles Chanteperdrix" <gilles.chanteperdrix@xenomai.org> wrote: >On Mon, Dec 14, 2015 at 03:57:01PM +0800, eric wrote: >> kernel space: > >This does not answer my question. here is my question again, so that >you can read it again: > >> >What latency does Xenomai latency test give? > >-- > Gilles. >https://click-hack.org ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency 2015-12-14 9:05 ` [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency eric @ 2015-12-14 22:19 ` Gilles Chanteperdrix 2015-12-15 0:54 ` eric 0 siblings, 1 reply; 15+ messages in thread From: Gilles Chanteperdrix @ 2015-12-14 22:19 UTC (permalink / raw) To: eric; +Cc: xenomai@xenomai.org On Mon, Dec 14, 2015 at 05:05:48PM +0800, eric wrote: > Above i use the wrong version about latency test , now it works and the latency test > > RTD| 22.513| 39.832| 60.649| 0| 0| 11.269| 63.939 > RTD| 27.225| 40.068| 61.134| 0| 0| 11.269| 63.939 > RTD| 27.270| 40.531| 60.103| 0| 0| 11.269| 63.939 > RTD| 14.876| 39.540| 61.451| 0| 0| 11.269| 63.939 > RTD| 15.890| 39.760| 68.512| 0| 0| 11.269| 68.512 > RTD| 10.951| 29.915| 61.269| 0| 0| 10.951| 68.512 > RTD| 10.981| 12.596| 15.118| 0| 0| 10.951| 68.512 > RTD| 10.814| 12.648| 16.284| 0| 0| 10.814| 68.512 > RTD| 10.920| 12.636| 15.057| 0| 0| 10.814| 68.512 > RTT| 00:09:38 (periodic user-mode task, 1000 us period, priority 99) > RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat worst > RTD| 10.784| 12.672| 15.465| 0| 0| 10.784| 68.512 > RTD| 11.071| 12.602| 15.374| 0| 0| 10.784| 68.512 > RTD| 10.904| 12.632| 14.859| 0| 0| 10.784| 68.512 > RTD| 10.934| 12.639| 15.056| 0| 0| 10.784| 68.512 > RTD| 11.010| 12.575| 15.146| 0| 0| 10.784| 68.512 > So the latency is below 100us, much less than 500us. It seems a bit high though, do you have any debug option enabled? Do you run this with a real-time load? -- Gilles. https://click-hack.org ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency 2015-12-14 22:19 ` Gilles Chanteperdrix @ 2015-12-15 0:54 ` eric 2015-12-15 6:17 ` Gilles Chanteperdrix 0 siblings, 1 reply; 15+ messages in thread From: eric @ 2015-12-15 0:54 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org > >So the latency is below 100us, much less than 500us. It seems a bit >high though, do you have any debug option enabled? Do you run this >with a real-time load? > >-- > Gilles. >https://click-hack.org I can not run real-time load ,it always stop the flowing step. So i use some other load program .And I do not enabled debug option. root@imx6qdlsolo:/opt/x3/bin# ./xeno-test Started child 29228: /bin/sh /usr/xenomai/bin/xeno-test-run-wrapper ./xeno-test ++ echo 0 ++ testdir=/opt/imx6/smp3/xenomai-3.0.1/x3/bin ++ /opt/imx6/smp3/xenomai-3.0.1/x3/bin/smokey --run arith OK bufp OK iddp OK leaks OK ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency 2015-12-15 0:54 ` eric @ 2015-12-15 6:17 ` Gilles Chanteperdrix 2015-12-15 7:05 ` eric 0 siblings, 1 reply; 15+ messages in thread From: Gilles Chanteperdrix @ 2015-12-15 6:17 UTC (permalink / raw) To: eric; +Cc: xenomai@xenomai.org On Tue, Dec 15, 2015 at 08:54:56AM +0800, eric wrote: > > > >So the latency is below 100us, much less than 500us. It seems a bit > >high though, do you have any debug option enabled? Do you run this > >with a real-time load? > > > >-- > > Gilles. > >https://click-hack.org > > I can not run real-time load ,it always stop the flowing step. So i use some other load program .And I do not enabled debug option. > root@imx6qdlsolo:/opt/x3/bin# ./xeno-test > Started child 29228: /bin/sh /usr/xenomai/bin/xeno-test-run-wrapper ./xeno-test > ++ echo 0 > ++ testdir=/opt/imx6/smp3/xenomai-3.0.1/x3/bin > ++ /opt/imx6/smp3/xenomai-3.0.1/x3/bin/smokey --run > arith OK > bufp OK > iddp OK > leaks OK I was rather thinking about running the user-space load which creates high latencies with your own latency test. But if you are interested in running xeno-test, you should check its syntax: - either by running it with the -h or --help argument - or by checking its manual page, either on your disk or on xenomai website: https://xenomai.org/documentation/xenomai-3/html/man1/xeno-test/ - or by reading the page where we explain how we do the benchmarks we publish: https://xenomai.org/2014/07/benchmarking-with-xeno-test/ Regards. -- Gilles. https://click-hack.org ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency 2015-12-15 6:17 ` Gilles Chanteperdrix @ 2015-12-15 7:05 ` eric 0 siblings, 0 replies; 15+ messages in thread From: eric @ 2015-12-15 7:05 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org ok,thanks very much! At 2015-12-15 14:17:46, "Gilles Chanteperdrix" <gilles.chanteperdrix@xenomai.org> wrote: >On Tue, Dec 15, 2015 at 08:54:56AM +0800, eric wrote: >> > >> >So the latency is below 100us, much less than 500us. It seems a bit >> >high though, do you have any debug option enabled? Do you run this >> >with a real-time load? >> > >> >-- >> > Gilles. >> >https://click-hack.org >> >> I can not run real-time load ,it always stop the flowing step. So i use some other load program .And I do not enabled debug option. >> root@imx6qdlsolo:/opt/x3/bin# ./xeno-test >> Started child 29228: /bin/sh /usr/xenomai/bin/xeno-test-run-wrapper ./xeno-test >> ++ echo 0 >> ++ testdir=/opt/imx6/smp3/xenomai-3.0.1/x3/bin >> ++ /opt/imx6/smp3/xenomai-3.0.1/x3/bin/smokey --run >> arith OK >> bufp OK >> iddp OK >> leaks OK > >I was rather thinking about running the user-space load which >creates high latencies with your own latency test. > >But if you are interested in running xeno-test, you should check its >syntax: >- either by running it with the -h or --help argument >- or by checking its manual page, either on your disk or on xenomai >website: >https://xenomai.org/documentation/xenomai-3/html/man1/xeno-test/ >- or by reading the page where we explain how we do the benchmarks >we publish: >https://xenomai.org/2014/07/benchmarking-with-xeno-test/ > >Regards. > >-- > Gilles. >https://click-hack.org ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency 2015-12-14 7:57 ` eric 2015-12-14 8:03 ` Gilles Chanteperdrix @ 2015-12-14 8:08 ` eric 1 sibling, 0 replies; 15+ messages in thread From: eric @ 2015-12-14 8:08 UTC (permalink / raw) To: eric; +Cc: Gilles Chanteperdrix, xenomai@xenomai.org And with x86 dual core the same test the result quite good just 13us latency , but just imx6q for a long time the result not very well. At 2015-12-14 15:57:01, "eric" <ericvic@163.com> wrote: kernel space: #define TASK_PRIO 99 // 99 is Highest RT priority #define TASK_MODE 0 // No flags #define TASK_STKSZ 0 // default Stack size #define TASK_PERIOD 500000ll // in nano seconds = 500 ms long long pmax,start,stop; static rtdm_task_t td; //RTDM Real time task pointer char logo[40*1024]; char mem_spvm[40*1024]; long long runcount=0; void periodic (void *arg) { long max,pmax; for (;;) { rtdm_task_wait_period(NULL); //deschedule until next period stop =rtdm_clock_read(); memset(mem_spvm,0,sizeof(logo)); memcpy(mem_spvm,logo,sizeof(logo)); memset(mem_spvm,127,sizeof(logo)); memcpy(mem_spvm,logo,sizeof(logo)); memset(mem_spvm,0,sizeof(logo)); memcpy(mem_spvm,logo,sizeof(logo)); memset(mem_spvm,127,sizeof(logo)); memcpy(mem_spvm,logo,sizeof(logo)); memset(mem_spvm,0,sizeof(logo)); memcpy(mem_spvm,logo,sizeof(logo)); memset(mem_spvm,127,sizeof(logo)); if(runcount<1000) { pmax=0; } if(pmax<(stop-start)){ pmax=stop-start; printk("pmax: %ld.%06ld ms\n",(long)pmax/1000000,(long)pmax%1000000); } start=stop; runcount++; } } int init_module(void) { return rtdm_task_init (&td, "periodic", &periodic, NULL, TASK_PRIO,TASK_PERIOD); } void cleanup_module(void) { rtdm_task_destroy(&td); } user space: #include <stdio.h> int main() { char a[1024*1024]={0xff}; char b[1024*1024]; int i=0; while(1){ for(i=1000000;i>0;i--) system("sync"); memcpy(b,a,1024*800); } return 0; } At 2015-12-14 14:42:53, "Gilles Chanteperdrix" <gilles.chanteperdrix@xenomai.org> wrote: >On Mon, Dec 14, 2015 at 10:13:57AM +0800, eric wrote: >> It is much better with 3.18.20 ,it is the test result with xenomai-3.0.1 500us cycle ,still a little big ,thanks! >> -sh-2.05b# [ 154.812032] pmax: 0.597303 ms >> [ 245.216863] pmax: 0.600940 ms >> [ 249.992395] pmax: 0.603288 ms >> [ 277.280006] pmax: 0.610470 ms > >I am not sure about what you measure, but if you observe a 500us >latency, you have a problem. > >What latency does Xenomai latency test give? > >-- > Gilles. >https://click-hack.org ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2015-12-15 7:05 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-12-08 10:43 [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency eric 2015-12-08 11:23 ` Gilles Chanteperdrix 2015-12-14 2:13 ` eric 2015-12-14 6:42 ` Gilles Chanteperdrix 2015-12-14 7:57 ` eric 2015-12-14 8:03 ` Gilles Chanteperdrix 2015-12-14 8:30 ` eric 2015-12-14 9:04 ` [Xenomai] Compileerror rt_imx_uart.c on kernel 3.10.53 ARM Wolfgang Netbal 2015-12-14 22:48 ` Gilles Chanteperdrix 2015-12-14 9:05 ` [Xenomai] ipipe-gch-ipipe-3.0-imx6q latency eric 2015-12-14 22:19 ` Gilles Chanteperdrix 2015-12-15 0:54 ` eric 2015-12-15 6:17 ` Gilles Chanteperdrix 2015-12-15 7:05 ` eric 2015-12-14 8:08 ` eric
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.