All of lore.kernel.org
 help / color / mirror / Atom feed
* issue when porting a linux posix applicaiton to a xenomai application
@ 2020-04-26 11:04 huang.mb
  2020-04-27  2:08 ` Meng, Fino
  0 siblings, 1 reply; 4+ messages in thread
From: huang.mb @ 2020-04-26 11:04 UTC (permalink / raw)
  To: xenomai

Hi all:

i have ported a c based application which is a profinet network stack  and it was running ok in common x86 linux platform as a regular process except some realtime issue.

For the realtime issue,i have to ported to a xenomai application

The profinet application using the posix interface so i use xenomai 3.1's posix skin for the porting.

But after i had ported it to the xenomai-posix one ,i found it could receive network message but it failed to send the message out. (by comparison to  the regular one using
"watch -n 0.1 ifconfig eth0"). It seemed that some thread's blocking and i did not known how to investegate the issue.

The  /proc/xenomai/sched/stat was like this:
CPU  PID    MSW        CSW        XSC        PF    STAT       %CPU  NAME
  0  0      0          0          0          0     00218000  100.0  [ROOT/0]
  1  0      0          0          0          0     00218000  100.0  [ROOT/1]
  2  0      0          119332     0          0     00218000  100.0  [ROOT/2]
  3  0      0          174171     0          0     00218000   99.8  [ROOT/3]
  3  1721   14         2749       2930       0     00248044    0.0  dksw_linux
  3  1723   2          4          7          0     00242042    0.0  Task_ASYNC_Timer
  3  1724   2          4          4          0     00242042    0.0  Task_OS_Timer
  3  1725   4          23         69         0     00242042    0.0  PrintRS232PostTask
  3  1726   2          3          3          0     00242042    0.0  Pnio_NvData
  3  1727   3          5453       5448       0     0024a044    0.0  Pnio_Idle
  3  1728   7          27         188        0     0024a0c0    0.0  MainAppl
  3  1729   2          135222     676095     0     0024a044    0.1  Pnio_CycleIO
  3  1730   3463       3463       3464       0     0024a0c0    0.0  sniff_packet
  3  1731   11         27219      27448      0     0024a044    0.0  t_IDL
  3  1732   6          84         215        0     0024a042    0.0  t_APP
  3  1733   459        4661       8961       0     0024a042    0.0  t_EDD
  3  1734   2          112        166        0     0024a042    0.0  t_ORG
  3  1735   30         1071       7346       0     0024a042    0.0  t_PNO
  3  1736   3          2465       5339       0     0024a042    0.0  t_TCP
  3  1737   2          26         42         0     0024a042    0.0  t_POF
  3  1738   2          10         10         0     00242042    0.0  t_REM
  3  1739   3          53         85         0     0024a042    0.0  t_STP
  3  1740   2          5          30         0     0024a042    0.0  Pnio_PnpbPost
  3  1741   2          25         138        0     0024a042    0.0  Pnio_Pnpb
  0  0      0          165200     0          0     00000000    0.0  [IRQ2305: [timer]]
  1  0      0          12551      0          0     00000000    0.0  [IRQ2305: [timer]]
  2  0      0          893793     0          0     00000000    0.0  [IRQ2305: [timer]]
  3  0      0          2791299    0          0     00000000    0.1  [IRQ2305: [timer]]
the /proc/xenomai/sched/thread was like this:
CPU  PID    CLASS  TYPE      PRI   TIMEOUT       STAT       NAME
  0  0      idle   core       -1   -             R          [ROOT/0]
  1  0      idle   core       -1   -             R          [ROOT/1]
  2  0      idle   core       -1   -             R          [ROOT/2]
  3  0      idle   core       -1   -             R          [ROOT/3]
  3  1721   rt     cobalt     19   698ms369us    D          dksw_linux
  3  1723   rt     cobalt     20   -             Wr         Task_ASYNC_Timer
  3  1724   rt     cobalt     20   -             Wr         Task_OS_Timer
  3  1725   rt     cobalt      6   -             Wr         PrintRS232PostTask
  3  1726   rt     cobalt      5   -             Wr         Pnio_NvData
  3  1727   rt     cobalt      1   461ms50us     Dr         Pnio_Idle
  3  1728   rt     cobalt      4   -             Xr         MainAppl
  3  1729   rt     cobalt     19   8ms828us      Dr         Pnio_CycleIO
  3  1730   rt     cobalt     19   -             Xr         sniff_packet
  3  1731   rt     cobalt     11   98ms679us     Dr         t_IDL
  3  1732   rt     cobalt     10   -             Wr         t_APP
  3  1733   rt     cobalt     18   -             Wr         t_EDD
  3  1734   rt     cobalt     17   -             Wr         t_ORG
  3  1735   rt     cobalt     16   -             Wr         t_PNO
  3  1736   rt     cobalt     15   -             Wr         t_TCP
  3  1737   rt     cobalt     14   -             Wr         t_POF
  3  1738   rt     cobalt     13   -             Wr         t_REM
  3  1739   rt     cobalt     12   -             Wr         t_STP
  3  1740   rt     cobalt     10   -             Wr         Pnio_PnpbPost
  3  1741   rt     cobalt      9   -             Wr         Pnio_Pnpb

the dmesg about xenomai:

[    0.000000] Linux version 3.18.20-xenomai-3.1-20200417-02 (root@cpac) (gcc version 5.5.0 20171010 (Ubuntu 5.5.0-12ubuntu1) ) #1 SMP Fri Apr 17 16:23:12 HKT 2020
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.18.20-xenomai-3.1-20200417-02 root=UUID=2851ab9b-1766-41a0-b882-3caa9a975bf6 ro isolcpus=1 quiet splash text vt.handoff=7
[    1.257922] [Xenomai] scheduling class idle registered.
[    1.257926] [Xenomai] scheduling class rt registered.
[    1.257969] [Xenomai] SMI-enabled chipset found, but SMI workaround disabled
[    1.257969]           (see xenomai.smi parameter). You might encounter
[    1.258005] I-pipe: head domain Xenomai registered.
[    1.260837] [Xenomai] Cobalt v3.1 [DEBUG]
[    1.371562] usb usb1: Manufacturer: Linux 3.18.20-xenomai-3.1-20200417-02 ehci_hcd

my application cmake xenomai compiling setting:

execute_process(COMMAND xeno-config --posix --cflags OUTPUT_VARIABLE XENO_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND xeno-config --posix --ldflags OUTPUT_VARIABLE XENO_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${XENO_CFLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${XENO_LDFLAGS}")

my hardware platform and os is 

Intel(R) Celeron(R) CPU  J1900  @ 1.99GHz i686
Ubuntu 14.04 3.18.20 

can any one help me to find out why this posix porting application behaviour abnormaly comparing to the regular one using the above data.

what measures should i take to make sure it has same thread running behaviour after poting to the xenomai-posix one.




Best Regards
Huang Mianbo
电话:+8613682612959

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: issue when porting a linux posix applicaiton to a xenomai application
  2020-04-26 11:04 issue when porting a linux posix applicaiton to a xenomai application huang.mb
@ 2020-04-27  2:08 ` Meng, Fino
  2020-04-27  2:17   ` huang.mb
  0 siblings, 1 reply; 4+ messages in thread
From: Meng, Fino @ 2020-04-27  2:08 UTC (permalink / raw)
  To: huang.mb; +Cc: xenomai


>Sent: Sunday, April 26, 2020 7:05 PM
>
>Hi all:
>
>i have ported a c based application which is a profinet network stack  and it was running ok in common x86 linux platform as a
>regular process except some realtime issue.
>
>For the realtime issue,i have to ported to a xenomai application
>
>The profinet application using the posix interface so i use xenomai 3.1's posix skin for the porting.
>
>But after i had ported it to the xenomai-posix one ,i found it could receive network message but it failed to send the message
>out. (by comparison to  the regular one using "watch -n 0.1 ifconfig eth0"). It seemed that some thread's blocking and i did not
>known how to investegate the issue.
>
>The  /proc/xenomai/sched/stat was like this:
>CPU  PID    MSW        CSW        XSC        PF    STAT       %CPU  NAME
>  0  0      0          0          0          0     00218000  100.0  [ROOT/0]
>  1  0      0          0          0          0     00218000  100.0  [ROOT/1]
>  2  0      0          119332     0          0     00218000  100.0  [ROOT/2]
>  3  0      0          174171     0          0     00218000   99.8  [ROOT/3]
>  3  1721   14         2749       2930       0     00248044    0.0  dksw_linux
>  3  1723   2          4          7          0     00242042    0.0  Task_ASYNC_Timer
>  3  1724   2          4          4          0     00242042    0.0  Task_OS_Timer
>  3  1725   4          23         69         0     00242042    0.0  PrintRS232PostTask
>  3  1726   2          3          3          0     00242042    0.0  Pnio_NvData
>  3  1727   3          5453       5448       0     0024a044    0.0  Pnio_Idle
>  3  1728   7          27         188        0     0024a0c0    0.0  MainAppl
>  3  1729   2          135222     676095     0     0024a044    0.1  Pnio_CycleIO
>  3  1730   3463       3463       3464       0     0024a0c0    0.0  sniff_packet
>  3  1731   11         27219      27448      0     0024a044    0.0  t_IDL
>  3  1732   6          84         215        0     0024a042    0.0  t_APP
>  3  1733   459        4661       8961       0     0024a042    0.0  t_EDD
>  3  1734   2          112        166        0     0024a042    0.0  t_ORG
>  3  1735   30         1071       7346       0     0024a042    0.0  t_PNO
>  3  1736   3          2465       5339       0     0024a042    0.0  t_TCP
>  3  1737   2          26         42         0     0024a042    0.0  t_POF
>  3  1738   2          10         10         0     00242042    0.0  t_REM
>  3  1739   3          53         85         0     0024a042    0.0  t_STP
>  3  1740   2          5          30         0     0024a042    0.0  Pnio_PnpbPost
>  3  1741   2          25         138        0     0024a042    0.0  Pnio_Pnpb
>  0  0      0          165200     0          0     00000000    0.0  [IRQ2305: [timer]]
>  1  0      0          12551      0          0     00000000    0.0  [IRQ2305: [timer]]
>  2  0      0          893793     0          0     00000000    0.0  [IRQ2305: [timer]]
>  3  0      0          2791299    0          0     00000000    0.1  [IRQ2305: [timer]]
>the /proc/xenomai/sched/thread was like this:
>CPU  PID    CLASS  TYPE      PRI   TIMEOUT       STAT       NAME
>  0  0      idle   core       -1   -             R          [ROOT/0]
>  1  0      idle   core       -1   -             R          [ROOT/1]
>  2  0      idle   core       -1   -             R          [ROOT/2]
>  3  0      idle   core       -1   -             R          [ROOT/3]
>  3  1721   rt     cobalt     19   698ms369us    D          dksw_linux
>  3  1723   rt     cobalt     20   -             Wr         Task_ASYNC_Timer
>  3  1724   rt     cobalt     20   -             Wr         Task_OS_Timer
>  3  1725   rt     cobalt      6   -             Wr         PrintRS232PostTask
>  3  1726   rt     cobalt      5   -             Wr         Pnio_NvData
>  3  1727   rt     cobalt      1   461ms50us     Dr         Pnio_Idle
>  3  1728   rt     cobalt      4   -             Xr         MainAppl
>  3  1729   rt     cobalt     19   8ms828us      Dr         Pnio_CycleIO
>  3  1730   rt     cobalt     19   -             Xr         sniff_packet
>  3  1731   rt     cobalt     11   98ms679us     Dr         t_IDL
>  3  1732   rt     cobalt     10   -             Wr         t_APP
>  3  1733   rt     cobalt     18   -             Wr         t_EDD
>  3  1734   rt     cobalt     17   -             Wr         t_ORG
>  3  1735   rt     cobalt     16   -             Wr         t_PNO
>  3  1736   rt     cobalt     15   -             Wr         t_TCP
>  3  1737   rt     cobalt     14   -             Wr         t_POF
>  3  1738   rt     cobalt     13   -             Wr         t_REM
>  3  1739   rt     cobalt     12   -             Wr         t_STP
>  3  1740   rt     cobalt     10   -             Wr         Pnio_PnpbPost
>  3  1741   rt     cobalt      9   -             Wr         Pnio_Pnpb
>
>the dmesg about xenomai:
>
>[    0.000000] Linux version 3.18.20-xenomai-3.1-20200417-02 (root@cpac) (gcc version 5.5.0 20171010 (Ubuntu 5.5.0-
>12ubuntu1) ) #1 SMP Fri Apr 17 16:23:12 HKT 2020
>[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.18.20-xenomai-3.1-20200417-02 root=UUID=2851ab9b-1766-
>41a0-b882-3caa9a975bf6 ro isolcpus=1 quiet splash text vt.handoff=7
>[    1.257922] [Xenomai] scheduling class idle registered.
>[    1.257926] [Xenomai] scheduling class rt registered.
>[    1.257969] [Xenomai] SMI-enabled chipset found, but SMI workaround disabled
>[    1.257969]           (see xenomai.smi parameter). You might encounter
>[    1.258005] I-pipe: head domain Xenomai registered.
>[    1.260837] [Xenomai] Cobalt v3.1 [DEBUG]
>[    1.371562] usb usb1: Manufacturer: Linux 3.18.20-xenomai-3.1-20200417-02 ehci_hcd
>
>my application cmake xenomai compiling setting:
>
>execute_process(COMMAND xeno-config --posix --cflags OUTPUT_VARIABLE XENO_CFLAGS
>OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND xeno-config --posix --ldflags OUTPUT_VARIABLE
>XENO_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${XENO_CFLAGS}")
>set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${XENO_LDFLAGS}")
>
>my hardware platform and os is
>
>Intel(R) Celeron(R) CPU  J1900  @ 1.99GHz i686 Ubuntu 14.04 3.18.20
>
>can any one help me to find out why this posix porting application behaviour abnormaly comparing to the regular one using the
>above data.
>
>what measures should i take to make sure it has same thread running behaviour after poting to the xenomai-posix one.
>
>
>
>
>Best Regards
>Huang Mianbo
>电话:+8613682612959

Hi Mianbo,

We use Ftrace to check if Cobalt thread is rightly sched; I can help to setup Ftrace env on your machine, if u interested, 


BR / Fino (孟祥夫)
Intel – IOTG Developer Enabling

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: RE: issue when porting a linux posix applicaiton to a xenomai application
  2020-04-27  2:08 ` Meng, Fino
@ 2020-04-27  2:17   ` huang.mb
  2020-04-28  1:05     ` Meng, Fino
  0 siblings, 1 reply; 4+ messages in thread
From: huang.mb @ 2020-04-27  2:17 UTC (permalink / raw)
  To: Meng, Fino; +Cc: xenomai, lu.kw

Hi Meng:

> We use Ftrace to check if Cobalt thread is rightly sched; I can help to setup Ftrace env on your machine, if u interested,

Yes, if you have any guideline to help me  setup this?



Best Regards
Huang Mianbo
Softlink Inc
电话:+8613682612959
 
From: Meng, Fino
Date: 2020-04-27 10:08
To: huang.mb@softlinkcloud.cn
CC: xenomai@xenomai.org
Subject: RE: issue when porting a linux posix applicaiton to a xenomai application
 
>Sent: Sunday, April 26, 2020 7:05 PM
>
>Hi all:
>
>i have ported a c based application which is a profinet network stack  and it was running ok in common x86 linux platform as a
>regular process except some realtime issue.
>
>For the realtime issue,i have to ported to a xenomai application
>
>The profinet application using the posix interface so i use xenomai 3.1's posix skin for the porting.
>
>But after i had ported it to the xenomai-posix one ,i found it could receive network message but it failed to send the message
>out. (by comparison to  the regular one using "watch -n 0.1 ifconfig eth0"). It seemed that some thread's blocking and i did not
>known how to investegate the issue.
>
>The  /proc/xenomai/sched/stat was like this:
>CPU  PID    MSW        CSW        XSC        PF    STAT       %CPU  NAME
>  0  0      0          0          0          0     00218000  100.0  [ROOT/0]
>  1  0      0          0          0          0     00218000  100.0  [ROOT/1]
>  2  0      0          119332     0          0     00218000  100.0  [ROOT/2]
>  3  0      0          174171     0          0     00218000   99.8  [ROOT/3]
>  3  1721   14         2749       2930       0     00248044    0.0  dksw_linux
>  3  1723   2          4          7          0     00242042    0.0  Task_ASYNC_Timer
>  3  1724   2          4          4          0     00242042    0.0  Task_OS_Timer
>  3  1725   4          23         69         0     00242042    0.0  PrintRS232PostTask
>  3  1726   2          3          3          0     00242042    0.0  Pnio_NvData
>  3  1727   3          5453       5448       0     0024a044    0.0  Pnio_Idle
>  3  1728   7          27         188        0     0024a0c0    0.0  MainAppl
>  3  1729   2          135222     676095     0     0024a044    0.1  Pnio_CycleIO
>  3  1730   3463       3463       3464       0     0024a0c0    0.0  sniff_packet
>  3  1731   11         27219      27448      0     0024a044    0.0  t_IDL
>  3  1732   6          84         215        0     0024a042    0.0  t_APP
>  3  1733   459        4661       8961       0     0024a042    0.0  t_EDD
>  3  1734   2          112        166        0     0024a042    0.0  t_ORG
>  3  1735   30         1071       7346       0     0024a042    0.0  t_PNO
>  3  1736   3          2465       5339       0     0024a042    0.0  t_TCP
>  3  1737   2          26         42         0     0024a042    0.0  t_POF
>  3  1738   2          10         10         0     00242042    0.0  t_REM
>  3  1739   3          53         85         0     0024a042    0.0  t_STP
>  3  1740   2          5          30         0     0024a042    0.0  Pnio_PnpbPost
>  3  1741   2          25         138        0     0024a042    0.0  Pnio_Pnpb
>  0  0      0          165200     0          0     00000000    0.0  [IRQ2305: [timer]]
>  1  0      0          12551      0          0     00000000    0.0  [IRQ2305: [timer]]
>  2  0      0          893793     0          0     00000000    0.0  [IRQ2305: [timer]]
>  3  0      0          2791299    0          0     00000000    0.1  [IRQ2305: [timer]]
>the /proc/xenomai/sched/thread was like this:
>CPU  PID    CLASS  TYPE      PRI   TIMEOUT       STAT       NAME
>  0  0      idle   core       -1   -             R          [ROOT/0]
>  1  0      idle   core       -1   -             R          [ROOT/1]
>  2  0      idle   core       -1   -             R          [ROOT/2]
>  3  0      idle   core       -1   -             R          [ROOT/3]
>  3  1721   rt     cobalt     19   698ms369us    D          dksw_linux
>  3  1723   rt     cobalt     20   -             Wr         Task_ASYNC_Timer
>  3  1724   rt     cobalt     20   -             Wr         Task_OS_Timer
>  3  1725   rt     cobalt      6   -             Wr         PrintRS232PostTask
>  3  1726   rt     cobalt      5   -             Wr         Pnio_NvData
>  3  1727   rt     cobalt      1   461ms50us     Dr         Pnio_Idle
>  3  1728   rt     cobalt      4   -             Xr         MainAppl
>  3  1729   rt     cobalt     19   8ms828us      Dr         Pnio_CycleIO
>  3  1730   rt     cobalt     19   -             Xr         sniff_packet
>  3  1731   rt     cobalt     11   98ms679us     Dr         t_IDL
>  3  1732   rt     cobalt     10   -             Wr         t_APP
>  3  1733   rt     cobalt     18   -             Wr         t_EDD
>  3  1734   rt     cobalt     17   -             Wr         t_ORG
>  3  1735   rt     cobalt     16   -             Wr         t_PNO
>  3  1736   rt     cobalt     15   -             Wr         t_TCP
>  3  1737   rt     cobalt     14   -             Wr         t_POF
>  3  1738   rt     cobalt     13   -             Wr         t_REM
>  3  1739   rt     cobalt     12   -             Wr         t_STP
>  3  1740   rt     cobalt     10   -             Wr         Pnio_PnpbPost
>  3  1741   rt     cobalt      9   -             Wr         Pnio_Pnpb
>
>the dmesg about xenomai:
>
>[    0.000000] Linux version 3.18.20-xenomai-3.1-20200417-02 (root@cpac) (gcc version 5.5.0 20171010 (Ubuntu 5.5.0-
>12ubuntu1) ) #1 SMP Fri Apr 17 16:23:12 HKT 2020
>[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.18.20-xenomai-3.1-20200417-02 root=UUID=2851ab9b-1766-
>41a0-b882-3caa9a975bf6 ro isolcpus=1 quiet splash text vt.handoff=7
>[    1.257922] [Xenomai] scheduling class idle registered.
>[    1.257926] [Xenomai] scheduling class rt registered.
>[    1.257969] [Xenomai] SMI-enabled chipset found, but SMI workaround disabled
>[    1.257969]           (see xenomai.smi parameter). You might encounter
>[    1.258005] I-pipe: head domain Xenomai registered.
>[    1.260837] [Xenomai] Cobalt v3.1 [DEBUG]
>[    1.371562] usb usb1: Manufacturer: Linux 3.18.20-xenomai-3.1-20200417-02 ehci_hcd
>
>my application cmake xenomai compiling setting:
>
>execute_process(COMMAND xeno-config --posix --cflags OUTPUT_VARIABLE XENO_CFLAGS
>OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND xeno-config --posix --ldflags OUTPUT_VARIABLE
>XENO_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${XENO_CFLAGS}")
>set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${XENO_LDFLAGS}")
>
>my hardware platform and os is
>
>Intel(R) Celeron(R) CPU  J1900  @ 1.99GHz i686 Ubuntu 14.04 3.18.20
>
>can any one help me to find out why this posix porting application behaviour abnormaly comparing to the regular one using the
>above data.
>
>what measures should i take to make sure it has same thread running behaviour after poting to the xenomai-posix one.
>
>
>
>
>Best Regards
>Huang Mianbo
>电话:+8613682612959
 
Hi Mianbo,
 
We use Ftrace to check if Cobalt thread is rightly sched; I can help to setup Ftrace env on your machine, if u interested, 
 
 
BR / Fino (孟祥夫)
Intel – IOTG Developer Enabling

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: RE: issue when porting a linux posix applicaiton to a xenomai application
  2020-04-27  2:17   ` huang.mb
@ 2020-04-28  1:05     ` Meng, Fino
  0 siblings, 0 replies; 4+ messages in thread
From: Meng, Fino @ 2020-04-28  1:05 UTC (permalink / raw)
  To: huang.mb; +Cc: xenomai, lu.kw




>Sent: Monday, April 27, 2020 10:17 AM
>
>Hi Meng:
>
>> We use Ftrace to check if Cobalt thread is rightly sched; I can help to setup Ftrace env on your machine, if u interested,
>
>Yes, if you have any guideline to help me  setup this?

We plan to add Ftrace guide on: https://github.com/intel/linux-stable-xenomai/wiki/Guide-of-Xenomai-Build-and-Installation-on-Top-of-Ubuntu
Before May 15th, is that OK timeline for you? 

>
>________________________________
>
>Best Regards
>Huang Mianbo
>Softlink Inc
>电话:+8613682612959
>
>
>	From: Meng, Fino <mailto:fino.meng@intel.com>
>	Date: 2020-04-27 10:08
>	To: huang.mb@softlinkcloud.cn <mailto:huang.mb@softlinkcloud.cn>
>	CC: xenomai@xenomai.org <mailto:xenomai@xenomai.org>
>	Subject: RE: issue when porting a linux posix applicaiton to a xenomai application
>
>	>Sent: Sunday, April 26, 2020 7:05 PM
>	>
>	>Hi all:
>	>
>	>i have ported a c based application which is a profinet network stack  and it was running ok in common x86 linux
>platform as a
>	>regular process except some realtime issue.
>	>
>	>For the realtime issue,i have to ported to a xenomai application
>	>
>	>The profinet application using the posix interface so i use xenomai 3.1's posix skin for the porting.
>	>
>	>But after i had ported it to the xenomai-posix one ,i found it could receive network message but it failed to send the
>message
>	>out. (by comparison to  the regular one using "watch -n 0.1 ifconfig eth0"). It seemed that some thread's blocking and i
>did not
>	>known how to investegate the issue.
>	>
>	>The  /proc/xenomai/sched/stat was like this:
>	>CPU  PID    MSW        CSW        XSC        PF    STAT       %CPU  NAME
>	>  0  0      0          0          0          0     00218000  100.0  [ROOT/0]
>	>  1  0      0          0          0          0     00218000  100.0  [ROOT/1]
>	>  2  0      0          119332     0          0     00218000  100.0  [ROOT/2]
>	>  3  0      0          174171     0          0     00218000   99.8  [ROOT/3]
>	>  3  1721   14         2749       2930       0     00248044    0.0  dksw_linux
>	>  3  1723   2          4          7          0     00242042    0.0  Task_ASYNC_Timer
>	>  3  1724   2          4          4          0     00242042    0.0  Task_OS_Timer
>	>  3  1725   4          23         69         0     00242042    0.0  PrintRS232PostTask
>	>  3  1726   2          3          3          0     00242042    0.0  Pnio_NvData
>	>  3  1727   3          5453       5448       0     0024a044    0.0  Pnio_Idle
>	>  3  1728   7          27         188        0     0024a0c0    0.0  MainAppl
>	>  3  1729   2          135222     676095     0     0024a044    0.1  Pnio_CycleIO
>	>  3  1730   3463       3463       3464       0     0024a0c0    0.0  sniff_packet
>	>  3  1731   11         27219      27448      0     0024a044    0.0  t_IDL
>	>  3  1732   6          84         215        0     0024a042    0.0  t_APP
>	>  3  1733   459        4661       8961       0     0024a042    0.0  t_EDD
>	>  3  1734   2          112        166        0     0024a042    0.0  t_ORG
>	>  3  1735   30         1071       7346       0     0024a042    0.0  t_PNO
>	>  3  1736   3          2465       5339       0     0024a042    0.0  t_TCP
>	>  3  1737   2          26         42         0     0024a042    0.0  t_POF
>	>  3  1738   2          10         10         0     00242042    0.0  t_REM
>	>  3  1739   3          53         85         0     0024a042    0.0  t_STP
>	>  3  1740   2          5          30         0     0024a042    0.0  Pnio_PnpbPost
>	>  3  1741   2          25         138        0     0024a042    0.0  Pnio_Pnpb
>	>  0  0      0          165200     0          0     00000000    0.0  [IRQ2305: [timer]]
>	>  1  0      0          12551      0          0     00000000    0.0  [IRQ2305: [timer]]
>	>  2  0      0          893793     0          0     00000000    0.0  [IRQ2305: [timer]]
>	>  3  0      0          2791299    0          0     00000000    0.1  [IRQ2305: [timer]]
>	>the /proc/xenomai/sched/thread was like this:
>	>CPU  PID    CLASS  TYPE      PRI   TIMEOUT       STAT       NAME
>	>  0  0      idle   core       -1   -             R          [ROOT/0]
>	>  1  0      idle   core       -1   -             R          [ROOT/1]
>	>  2  0      idle   core       -1   -             R          [ROOT/2]
>	>  3  0      idle   core       -1   -             R          [ROOT/3]
>	>  3  1721   rt     cobalt     19   698ms369us    D          dksw_linux
>	>  3  1723   rt     cobalt     20   -             Wr         Task_ASYNC_Timer
>	>  3  1724   rt     cobalt     20   -             Wr         Task_OS_Timer
>	>  3  1725   rt     cobalt      6   -             Wr         PrintRS232PostTask
>	>  3  1726   rt     cobalt      5   -             Wr         Pnio_NvData
>	>  3  1727   rt     cobalt      1   461ms50us     Dr         Pnio_Idle
>	>  3  1728   rt     cobalt      4   -             Xr         MainAppl
>	>  3  1729   rt     cobalt     19   8ms828us      Dr         Pnio_CycleIO
>	>  3  1730   rt     cobalt     19   -             Xr         sniff_packet
>	>  3  1731   rt     cobalt     11   98ms679us     Dr         t_IDL
>	>  3  1732   rt     cobalt     10   -             Wr         t_APP
>	>  3  1733   rt     cobalt     18   -             Wr         t_EDD
>	>  3  1734   rt     cobalt     17   -             Wr         t_ORG
>	>  3  1735   rt     cobalt     16   -             Wr         t_PNO
>	>  3  1736   rt     cobalt     15   -             Wr         t_TCP
>	>  3  1737   rt     cobalt     14   -             Wr         t_POF
>	>  3  1738   rt     cobalt     13   -             Wr         t_REM
>	>  3  1739   rt     cobalt     12   -             Wr         t_STP
>	>  3  1740   rt     cobalt     10   -             Wr         Pnio_PnpbPost
>	>  3  1741   rt     cobalt      9   -             Wr         Pnio_Pnpb
>	>
>	>the dmesg about xenomai:
>	>
>	>[    0.000000] Linux version 3.18.20-xenomai-3.1-20200417-02 (root@cpac) (gcc version 5.5.0 20171010 (Ubuntu
>5.5.0-
>	>12ubuntu1) ) #1 SMP Fri Apr 17 16:23:12 HKT 2020
>	>[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.18.20-xenomai-3.1-20200417-02
>root=UUID=2851ab9b-1766-
>	>41a0-b882-3caa9a975bf6 ro isolcpus=1 quiet splash text vt.handoff=7
>	>[    1.257922] [Xenomai] scheduling class idle registered.
>	>[    1.257926] [Xenomai] scheduling class rt registered.
>	>[    1.257969] [Xenomai] SMI-enabled chipset found, but SMI workaround disabled
>	>[    1.257969]           (see xenomai.smi parameter). You might encounter
>	>[    1.258005] I-pipe: head domain Xenomai registered.
>	>[    1.260837] [Xenomai] Cobalt v3.1 [DEBUG]
>	>[    1.371562] usb usb1: Manufacturer: Linux 3.18.20-xenomai-3.1-20200417-02 ehci_hcd
>	>
>	>my application cmake xenomai compiling setting:
>	>
>	>execute_process(COMMAND xeno-config --posix --cflags OUTPUT_VARIABLE XENO_CFLAGS
>	>OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND xeno-config --posix --ldflags OUTPUT_VARIABLE
>	>XENO_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}
>${XENO_CFLAGS}")
>	>set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${XENO_LDFLAGS}")
>	>
>	>my hardware platform and os is
>	>
>	>Intel(R) Celeron(R) CPU  J1900  @ 1.99GHz i686 Ubuntu 14.04 3.18.20
>	>
>	>can any one help me to find out why this posix porting application behaviour abnormaly comparing to the regular one
>using the
>	>above data.
>	>
>	>what measures should i take to make sure it has same thread running behaviour after poting to the xenomai-posix one.
>	>
>	>
>	>
>	>
>	>Best Regards
>	>Huang Mianbo
>	>电话:+8613682612959
>
>	Hi Mianbo,
>
>	We use Ftrace to check if Cobalt thread is rightly sched; I can help to setup Ftrace env on your machine, if u interested,
>
>
>	BR / Fino (孟祥夫)
>	Intel – IOTG Developer Enabling

BR / Fino (孟祥夫)
Intel – IOTG Developer Enabling


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-04-28  1:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-26 11:04 issue when porting a linux posix applicaiton to a xenomai application huang.mb
2020-04-27  2:08 ` Meng, Fino
2020-04-27  2:17   ` huang.mb
2020-04-28  1:05     ` Meng, Fino

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.