[comp.sys.att] Voice Power voicemgr a CPU pig?

wtm@neoucom.UUCP (Bill Mayhew) (10/11/89)

I recently installed a voice power board in my Unix PC (thanks
Lenny & Tom).  It looks like the vda script processor is sufficient
for the project that I want to write, but I was curious to check
out the voice manager driver (voicemgr).  I installed the Voice
Power board in the middle slot of my 3b1, which has no other add-in
boards.  I picked the middle slot because the RJ-41 jumper I had on
hand was only long enough to reach from the middle slot to the OBM
phone output jack.

I presume that the voicemgr defaults to using the floating card ID
for monitoring events from the voice card(s).  What I noticed is
that a number of things really slowed down with the voicemgr
running eventhough there were no voice events happening at the
moment.  For instance, HDB uucp would only get 622 char/sec
thoughput receiving /etc/termcap from another sytem, whereas the
normal rate is about 1120.  Transmitting /etc/termcap still managed
1120 char/sec, so it looks like there must be a lot of interrupt
instigated context switching going on with voicemgr running.  Does
it matter which slot the voice power board is in?  I recall
somebody mentioning that the various slots have different interrupt
priority levels?...

I noticed that when voicemgr is running, I notice both the red and
yellow LEDs on the motherboard blink about 5 or 6 times a second,
while the normal state for my 3b1 is about once a second for the
red LED and every few seconds for the yellow LED.

I have 2 megabytes of RAM installed on my system.  I modified
sysinfo to display the size of the free pool on the status line.  I
have about 550 K free with voicengr running, so I don't think I'm
getting thrashing due to having to page.


Bill
wtm@impulse.UUCP    or    wtm@neoucom.edu

lenny@icus.islp.ny.us (Lenny Tropiano) (10/16/89)

In article <1807@neoucom.UUCP> wtm@neoucom.UUCP (Bill Mayhew) writes:
|>I recently installed a voice power board in my Unix PC (thanks
|>Lenny & Tom).  It looks like the vda script processor is sufficient
...
You're welcome!  Enjoy! :-)

|>for the project that I want to write, but I was curious to check
...
Gee, got me curious now, what are you going to write?!  Don't hold us
in suspense :-)

...
|>I presume that the voicemgr defaults to using the floating card ID
...
Well actually the /etc/voice/voicemgr looks at one channel, that isn't
card specific.  It basically monitors the /dev/v_ring channel.  If you
notice, there is no /dev/v_ring[0-7]...  The same goes for the /dev/v_mac
channel, which is a IPC channel to keep harmony among cooperating 
voice applications and priorities.

         crw-rw-rw-  1 root    sys       9,247 Jun 26 00:27 /dev/v_mac
         crw-rw-rw-  1 root    sys       9,248 Jun 26 00:27 /dev/v_ring

|>for monitoring events from the voice card(s).  What I noticed is
|>that a number of things really slowed down with the voicemgr
|>running eventhough there were no voice events happening at the
|>moment.  For instance, HDB uucp would only get 622 char/sec
..
This is strange.  I doubt that we can attribute the voicemgr in your
slowing down.  I would say, yes if there was a large amount of VOICE
I/O going on, but if the voicemgr was just running, then it should
really affect it.  Thing of the voicemgr as a /etc/init that dishes out
other voice applications when it gets things like ring events, 
hook events, etc.  Otherwise it's generally just sleeping there waiting
for one of these events to occur.   

|>instigated context switching going on with voicemgr running.  Does
|>it matter which slot the voice power board is in?  I recall
|>somebody mentioning that the various slots have different interrupt
|>priority levels?...
..
Yes, I posted this.  I never really got an affirmative answer on
things, but since you don't have any other slots being used it really 
doesn't make a whole bit of difference.  If you had other slots being
used (by say a EIA card) and that was at a lower bus priority slot then
I would say you could have I/O throughput problems and to reverse the
slots.  tty000 (or /dev/ph[01]) used for data transfers is going to be
at a lower bus priority always than any of the expansion slots (I believe
I'm correct here...) so you could notice some degradation in I/O 
throughput when voice I/O is concurring simulataneously.  Interrupt
priorities are set like so...

	Priority level		Device
	-----------------	-----------------------------------------
	7 (highest) spl7()	Parity error or MMU error (logic board)
	6           spl6()	60-Hz (logic board)
	5           spl5()	Expansion slots 1, 2, and 3.
	4           spl4()	274/7201 communications (detection circuit,
				RS232-C)
	3           spl3()	Keyboard/mouse, modem
	2           spl2()	Hard disk drive, floppy disk, or printer
	1 (lowest)  spl1()	Expansion slots 1, 2, and 3.

The expansion devices can occupy either interrupt priority 5 (which is higher
than the RS232 or modem) or interrupt 1 which is the lowest.  Most likely
when voice I/O is going on, were at spl5().

|>I noticed that when voicemgr is running, I notice both the red and
|>yellow LEDs on the motherboard blink about 5 or 6 times a second,
...
Eeek, red blinking 5 or 6 times a second is very strange.  You
probably meant green and yellow.  The red is "heart beat" LED.  It
is turned on and off the once a second.  Note there are *two* red LEDs,
one is an user LED, and currently isn't used by any UNIX pc application,
but can be turned on and off with a syslocal(2) call.  The green LED is
to signal process context switching, and the yellow LED is the "idle" LED.
When no processes are running, the yellow LED is on.

|>I have 2 megabytes of RAM installed on my system.  I modified
|>sysinfo to display the size of the free pool on the status line.  I
|>have about 550 K free with voicengr running, so I don't think I'm
|>getting thrashing due to having to page.
|>
I thought about that too...  I have the sysinfo program I wrote already
showing me the memory..  which one are you running?

My lines look like:

## mail messages     Load avg:  #.## #.## #.##   up ### days ## hours ## minutes
Filesystem: ###### free ###### total ##% available ##### i-nodes   #.##MB memory

Well in any case, the voicemgr and voiceupd commands are explained in
the VOICE POWER Reference Manual (which I assume you have), in section 1.

-Lenny
-- 
| Lenny Tropiano            ICUS Software Systems      [w] +1 (516) 589-7930 |
| lenny@icus.islp.ny.us     Telex; 154232428 ICUS      [h] +1 (516) 968-8576 |
| {ames,pacbell,decuac,hombre,sbcs,attctc}!icus!lenny     attmail!icus!lenny |
+------- ICUS Software Systems -- PO Box 1;  Islip Terrace, NY  11752 -------+