issue when porting a linux posix applicaiton to a xenomai application

Meng, Fino fino.meng at intel.com
Tue Apr 28 03:05:39 CEST 2020




>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 at intel.com>
>	Date: 2020-04-27 10:08
>	To: huang.mb at softlinkcloud.cn <mailto:huang.mb at softlinkcloud.cn>
>	CC: xenomai at xenomai.org <mailto:xenomai at 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 at 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



More information about the Xenomai mailing list