Path: utzoo!utgpu!water!watmath!clyde!rutgers!sunybcs!boulder!hao!noao!arizona!whm
From: whm@arizona.edu (Bill Mitchell)
Newsgroups: comp.unix.wizards
Subject: Re: Kernel Timings with MicrovaxII
Message-ID: <3162@megaron.arizona.edu>
Date: 11 Dec 87 02:47:14 GMT
References: <10646@brl-adm.ARPA>
Organization: U of Arizona CS Dept, Tucson
Lines: 52

In article <10646@brl-adm.ARPA>, mankin@gateway.mitre.ORG (Allison J. Mankin) writes:
> 
> Hi, folks,
> 
> I am working on IP-level performance in 4.3 BSD on a
> MicrovaxII.  The CPU is a 630-Q-A, since we bought the system
> over 2 years ago.  The operating system is pure Berkeley 4.3.
> 
> My question is about the real-time clock resolution.  The
> hardware manual does not cover the 630, but analogy to the 750 
> (and a good letter to this list by Chris Torek back in August)
> got me hoping it would be possible to read times at a resolution
> of microseconds from the  630's Interval Count Register.
> I didn't see anything to contradict this in the 4.3 source code.
> Alas, experiment and our DEC representative have at last revealed
> that I will never read times of less than 10 milliseconds from this ICR.

The VAX Architecture Reference Manual, a hardbound book published by DEC,
talks about this.  The MicroVAX II is a subset VAX implementation and for
a subset VAX implementation, the NICR and ICR may be omitted and the ICCS
needs only a working IE bit.  When IE is set, an interrupt at IPL 22 is
generated every 10ms.  It goes on to say that the ICR and NICR on the MVII
read as zero and ignore writes (do you get non-zero values from your MVII
ICR?).

> Now, in the latest Proceedings of the ACM Symposium on Operating
> Systems Principles (SOSP-11), there are at least two articles where 
> a MicrovaxII was used to do performance timings.  Jeff Mogul et al
> includes figures like 1.77 milliseconds for the kernel to process a 
> received IP packet.  Liskov et al give times such as that required for
> a minimal system call (200 microseconds).  (By the way, their articles
> are very juicy and interesting).  Do you get such timings only by doing 
> thousands of identical operations and measuring the aggregate time?  

I'd definitely be interested in hearing about how they got the accurate timings
on a MVII.  It might be the KWV11-C that you mention, but I wonder if there
might be something even simpler available somewhere.  All that you really
need is a board that has a high-resolution real-time clock that can be read
in response to a system call -- there must be some 3rd party boards around
that can do that.

I tried to get some KWV11-C documentation out of DEC, but they say that all
that is available is a schematic (for $95).  If there's a driver, I'd like
to know about it.

All the VAX-11 models supposedly have a full-precision (1usec resolution) clock
so if you're desperate, maybe you could pick up a 725, 730, or 750 at a bargain
price.

					Bill Mitchell
					whm@arizona.edu
					{allegra,cmcl2,ihnp4,noao}!arizona!whm