[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference noted::hackers_v1

Title:-={ H A C K E R S }=-
Notice:Write locked - see NOTED::HACKERS
Moderator:DIEHRD::MORRIS
Created:Thu Feb 20 1986
Last Modified:Mon Aug 03 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:680
Total number of notes:5456

604.0. "Tuna driver? TIMEOUT" by DPDMAI::BEATTIE (But, Is BLISS ignorance?) Mon Nov 23 1987 19:39

    So, I can't tune a driver, but I can tuna fiche?
    
    	 I'm having a problem with extremely intermittant device 
    timeout errors on a piece of 3rd party terminal equipment.
    
    	 The terminal device is a DCA 375 X.25 packet switch running off of 
    the UNIBUS adaptor on an 8550 (VAX VMS V4.5).  This equipment looks 
    like 64 standard terminal ports to the VAX, and handles all X.25 
    traffic "transparently" with it's own driver.
    
    	 The typical "disaster" scenario is that a FORTRAN/RMS write somewhere 
    in an application will fail, and the signaled condition is:
    
    %FOR-F-ERRDURWRI, error during write
      unit 6  file __MTRS$VTA2156:[]FOR006.DAT;
      user PC 000BBBF8
    -RMS-F-WER, file write error
    -SYSTEM-F-TIMEOUT, device timeout
    
    	 I would tend to believe that this results from a transient network 
    traffic problem, which delays the QIO completion.  Since the error log 
    reflects no corresponding device error, I believe that the QIO 
    completion delay is somewhere in the "normal and acceptable" range for 
    the hardware and device driver.  What I'm wondering is if the terminal 
    class driver, or some other layer of VMS code, has a sanity timer that 
    is expiring pre-maturely, and whose duration is adjustable so that I 
    might compensate.
    
    	 This problem occurs infrequently (on the order of once/month), so 
    if compensation is impossible, or impractical, I could live with
    the problem ... for now.  Can anyone give me a hint [or contrariwise, 
    assure me that it's impossible to fix] ?  Thanks in advance.
    
    	      			       -- Brian Beattie
    
T.RTitleUserPersonal
Name
DateLines
604.1Mmmm sounds familiarCSSAUS::HUNTERMonkey with a diagnostic trackTue Nov 24 1987 08:5626
    
    Your problem sounds a *little* like one that I have seen here with
    two products. The scenario is as follows.
    
    1. Host initiates an operation and starts timer.
    
    2. Device completes operation and firmware posts a host interrupt.
    
    3. Then device firmware sets up status register(s).
    
    2.5 In the meantime the host has serviced the interrupt and seen no
    valid status info and so dismisses the interrupt as invalid.
    
    4. The host timer expires and posts a device timeout error to the
    error logger etc.

    Obviously what the firmware should have done was to set up the status
    register and then post the interrupt. The 8550 being such a quick
    machine may be outrunning the poor old terminal device.
    
    If you are using the terminal class driver TTDRIVER then you may
    like to try modifying the SYSGEN parameter TTY_TIMEOUT. (I think
    that is its name).
    
                                                           
    Warwick.
604.2Addendum...DPDMAI::BEATTIEBut, Is BLISS ignorance?Tue Nov 24 1987 14:1724
    Thanks for your diagnosis.  That also sounds like a possibility.
    
    I'm somewhat befuddled by the fact, however, that nothing is posting
    any device error corresponding to the timeout.  Surely if the registers
    were garbage when the host responds to the posted interrupt, we
    would be reporting something, no?  There is evidence at least some
    error reporting is done from the third party gear (but only
    circumstancial, since I don't have driver sources or hardware spec's
    [*sigh*]).
    
    I've looked at TTY_* SYSGEN parameters, without finding one that
    seems to address the issue.  TTY_TIMEOUT is the logout timer for
    disconnected processes.  TTY_SILOTIME controls interrupt rates for
    DMF-32 input.  TTY_SCANDELTA sets the inspection interval for EIA
    signal change interrupts.  Nothing else documented seems to come
    close [*SIGH!*]
    
    I need to add that the DEC YCDRIVER is also involved.  As I understand
    it, the SIDRIVER (foreign) talks to the device; the YCDRIVER to
    the SIDRIVER, and the CLASS driver to the YCDRIVER...
    
    Thanks again for any help.
    					- Brian
    
604.3BI machines have slow response to unibusOXMYX::POLLAKCounting trees, in the Sahara.Tue Nov 24 1987 14:2211
    
     If memory serves me correctly in the driver class that I took they
    said that the BI based machines had problems with some devices timing
    out due to the fact that the unibus adapter has to go through a
    couple of other adaptors before it gets on the BI. As a consequence
    it is possible under varying load conditions for a unibus device
    to time out. The only solution was to make the time out longer or
    find a BI equivalent device.

    
    
604.4OVDVAX::LENNIGDave, SWS, @CYO CincinnatiWed Nov 25 1987 03:1114
    re:.3
    I believe the timeout you are referencing has to do with certain
    bus transactions, which is at the hardware level. There are no software
    timers which will address this.
    re:.0
    *IF* this is the nature of your problem, insure the UBA is in the
    first BI slot, reduce the contention on the Unibus, and hope.
    
    I'm a little blurry in this area, (and I don't see how "YC" could
    be layered on "SI" driver) but if I recall correctly that YCDRIVER
    is the DMZ32 port driver, there was a problem in it at one time
    which yielded device timeouts on output.
    
    Dave
604.5MARVIN::WARWICKDNA puts life into your networkThu Nov 26 1987 15:483
    
    SIDRIVER is the driver for the SYNC port on a DMB32 - it is not
    at all involved in driving any async. lines.
604.6You're right, Sorry!DPDMAI::BEATTIEBut, Is BLISS ignorance?Mon Nov 30 1987 14:0013
    RE: .4, .5, and especially .2 (*sigh*)
    
    My mistake gentlemen.  I misinterpretted and assumed (bad under
    any circumstance); my sincerest appologies!  The HARDWARE emulates 
    the 64 DMF-32 asynch ports that appear in the configuration.  Quite
    correct is .4, that the YCDRIVER is talking directly to the hardware,
    and .5 that the SI driver is DECware, and not involved.
    
    I guess the question then becomes: Doesn't the YC driver time the
    I/O (assert an entry on the timer queue) and signal the timeouts
    as device errors?  And can (or should) the interval be adjusted?
    
                            		-- Brian
604.7JANUS::PALKATue Dec 01 1987 08:1917