Using the "Porting POSIX applications to Xenomai" document I have ported an
existing application to Xenomai. We create multiple threads in our application
and I have the following questions related to posix threads (I could not find
an answer in a search of xenomai-help):
If the threads are running in primary mode, should they be listed in
/proc/xenomai/sched? My threads show up, with the correct real time priorities,
when I do a top -H, but they are not in /proc/xenomai/sched, so does that mean
they are all running in secondary mode?
# top -H -b -n 1
top - 17:00:45 up 0 min, 2 users, load average: 0.04, 0.01, 0.01
Tasks: 104 total, 1 running, 103 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.6%us, 5.0%sy, 0.0%ni, 88.1%id, 2.1%wa, 0.0%hi, 1.1%si, 0.0%st
Mem: 254980k total, 58192k used, 196788k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 11908k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1179 root 20 0 1392 616 424 R 7.4 0.2 0:00.08 top
992 root -71 0 46388 44m 6860 S 1.9 17.9 0:00.02 mgt200
1 root 20 0 1364 432 352 S 0.0 0.2 0:00.99 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
4 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0
5 root 20 0 0 0 0 S 0.0 0.0 0:00.08 kworker/u:0
6 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper
91 root 20 0 0 0 0 S 0.0 0.0 0:00.00 sync_supers
93 root 20 0 0 0 0 S 0.0 0.0 0:00.00 bdi-default
94 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
122 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 rpciod
123 root 20 0 0 0 0 S 0.0 0.0 0:00.60 kworker/0:1
186 root RT 0 0 0 0 S 0.0 0.0 0:00.00 gatekeeper/0
188 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kswapd0
189 root 20 0 0 0 0 S 0.0 0.0 0:00.00 fsnotify_mark
190 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 unionfs_siod
191 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 nfsiod
192 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 crypto
7 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/u:1
789 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mtdblock1
794 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mtdblock2
799 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mtdblock3
105 root 20 0 0 0 0 S 0.0 0.0 0:00.03 khubd
814 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mtdblock5
819 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mtdblock6
824 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mtdblock7
829 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mtdblock8
840 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ubi_bgt0d
843 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mtdblock9
848 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mtdblock10
853 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mtdblock11
858 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mtdblock12
892 root 20 0 0 0 0 S 0.0 0.0 0:00.00 flush-0:13
900 root 20 0 1348 284 224 S 0.0 0.1 0:00.03 syslogd
902 root 20 0 1348 272 208 S 0.0 0.1 0:00.06 klogd
919 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 ff407000.spi
963 root 20 0 1740 556 424 S 0.0 0.2 0:00.01 ntpd
966 root 20 0 3072 820 596 S 0.0 0.3 0:00.00 sshd
968 root 20 0 1372 528 428 S 0.0 0.2 0:00.02 sh
972 root -2 0 46388 44m 6860 S 0.0 17.9 0:02.00 mgt200
973 root 20 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
974 root -36 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
975 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
977 root -2 0 46388 44m 6860 S 0.0 17.9 0:00.06 mgt200
978 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
979 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
980 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
981 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
982 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
983 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
984 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
985 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
986 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
987 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
988 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
989 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
990 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
991 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 canSlotSendThre
784 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mtdblock0
993 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.01 mgt200
994 root -75 0 46388 44m 6860 S 0.0 17.9 0:00.01 mgt200
995 root -75 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
804 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mtdblock4
1000 root -54 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1001 root -55 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1002 root -59 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1003 root -36 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1004 root -45 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1005 root -45 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1006 root -45 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1009 root -43 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1012 root -43 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1013 root -36 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1014 root -46 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1015 root -46 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1016 root -46 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1017 root -57 0 46388 44m 6860 S 0.0 17.9 0:00.00 cliTask
1018 root -53 0 46388 44m 6860 S 0.0 17.9 0:00.00 ttyCliInterface
1019 root -57 0 46388 44m 6860 S 0.0 17.9 0:00.00 cliTask
1020 root -53 0 46388 44m 6860 S 0.0 17.9 0:00.00 ttyCliInterface
1021 root -57 0 46388 44m 6860 S 0.0 17.9 0:00.00 cliTask
1022 root -57 0 46388 44m 6860 S 0.0 17.9 0:00.00 cliTask
1023 root -57 0 46388 44m 6860 S 0.0 17.9 0:00.00 cliTask
1024 root -57 0 46388 44m 6860 S 0.0 17.9 0:00.00 cliTask
1025 root -36 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1026 root -71 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1027 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.01 SNMPTimerServic
1028 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.00 SNMPCntrMon
1029 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.00 SNMPGaugeMon
1030 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.00 SNMPStringMon
1031 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.00 tl1TimerMgmt
1032 root -56 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
1033 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.00 SNMPMain
1034 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.00 SNMPTrap
1035 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.04 tl1Server
1036 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.00 tl1AsyncClient
1037 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.00 tl1AsyncClient
1038 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.00 tl1SendMsg
1039 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.00 tl1MsgHdlr
1040 root -52 0 46388 44m 6860 S 0.0 17.9 0:00.00 tl1AlarmHdlr
1084 root 20 0 5692 1652 1344 S 0.0 0.6 0:00.07 sshd
1094 root 20 0 1368 524 428 S 0.0 0.2 0:00.01 sh
999 root -58 0 46388 44m 6860 S 0.0 17.9 0:00.00 mgt200
# cat /proc/xenomai/sched
CPU PID CLASS PRI TIMEOUT TIMEBASE STAT NAME
0 0 idle -1 - master R ROOT
0 972 rt 1 - master X mgt200
If one thread of an application goes into secondary mode, does it drag all the
other threads with it into secondary mode?
If the main application threads goes into secondary mode, does it drag all of
the child threads with it into secondary mode?
Cheers,
Chris.
Chris Stone
Senior Software Engineer
Optelian
1 Brewer Hunt Way
Ottawa, Ontario K2K 2B5
Phone: 613-287-2000 x2106
www.optelian.com<http://www.optelian.com>
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help