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...@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