Hello Tech-Talk,
Vxstats has provoked somehow the following problem
which I don't fully understand, that's why I put it here, so someone
hopefully can clarify it.
Vxstats spawn a cpuUsage task, at the initialization of
this task (iocInit-device support), it waits (SECONDS_TO_BURN = 5 * SysClkRateGet()
) and measure CPU load and use that as reference for further measurements (I
think).
Some how, only in 2 iocs out of 140, the TSdriver
which exactly comes after the device support initialization in iocInit don't
initialize properly. When TSdriver don't initialize properly, the channels
time stamp are not synchronized with the unix server (soft timing slave mode).
The problem disappear if I don't load vxstats :),
when I set SECONDS_TO_BURN to zero, when I increase sysClkRate :(, when I
introduce a delay on devVxsats.c just before spawning the task, or when I insert
that delay inside iocInit just after the device support init and before the TSdriver
init.
If you look inside iocInit.c, you will find that
there are some delays introduced between tasks initialization.
The questions here, Is there an explanation for that?
On what basis these delays - inside iocInit - was introduced (duration wise
and location wise)? Well it be better if it was done in a regular manner (a
delay after each task init)?
On the other hand, vxstats has a bundle of additional
files (SLib, PVS, rdbls, vx_stats, ioc_stats, rdbapplist, tsSubr) that has
either unneeded functions by devVxstats or are already part of iocCore, is it
clear for any one what is the need for these fiels?
I use vxstats-SNS, EPICS 3.13.9, vxWorks 5.5, MV5100.
Cheers,
Ahed
###########################################
# Ahed
Aladwan
#
# SLS Controls / Paul
Scherrer Institute #
# WSLA/208, 5232 Villigen
PSI Switzerland #
# Tel:+41 56 310
4594
#
# Fax:+41 56 310
4413
#
# www.psi.ch
#
# http://people.web.psi.ch/adwan/
#
#################################################
ì