RE: Question about the real time response!!!!

Stephen is 100% right, but another way to look at this is:

There are some hardware/driver configurations where you will never miss
a interrupt at your 6MS frequency. [ You may even be able do this with
some IDE disks if you enable DMA (see dmacheck.exe), but I’m not
positive. ] And you can certainly solve most of the problems listed
if you create your own HAL, and make your device get the highest
priority interrupt. So if you are doing embedded or turnkey systems, there
is some hope.

But if you are selling cards with drivers, then some machines will “never”
loose interrupts, and others will loose interrupts frequently. The only
solution for this in the general case is to tolerate lost interrupts, or
to change the hardware to have a much deeper (i.e. longer) queue.
-DH

----- Original Message -----
From: “Stephen Williams”
To: “NT Developers Interest List”
Sent: Tuesday, May 23, 2000 11:44 AM
Subject: [ntdev] RE: Question about the real time response!!!

>
> xxxxx@chinaren.com said:
> > I have developed a PCI card which will continuously interrupt every
> > 6ms, and it is asked that none of the interrupt should be missed. When
> > I tested it with my driver on my HP LH3000 net server: PIII 533+128M
> > ram, it runs perfectly well without missing any interrupts, at least
> > till now
>
> The “never miss interrupts” requirement is hopelessly unrealistic on
> a general NT system, and it’s not necessarily NT’s fault. You are very
> much at the mercy of:
>
> * cheap/uncooperative commodity hardware that hogs the bus or CPU,
>
> * sometimes less then perfect third party device drivers,
>
> * and NT is not known for fast interrupt service times anyhow.
>
> FWIW the worst offenders seem to be IDE and floppy subsystems, though
> that may be getting better nowadays. And even an ideal system can have
> sporadic performance when the load is high.
>
> We design PCI cards ourselves and learned that interrupt response can
> be bursty, and if flow isn’t controlled, you will miss some.
> –
> Steve Williams “The woods are lovely, dark and deep.
> xxxxx@icarus.com But I have promises to keep,
> xxxxx@picturel.com and lines to code before I sleep,
> http://www.picturel.com And lines to code before I sleep.”
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@syssoftsol.com
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>

You can explore the possibility of using a private OID.

On Windows NT an application can call a MAC driver using
IOCTL_QUERY_GLOBAL_STATS. The NT DDK MACADDR sample illustrates this.

Be creative. You may be able to “bend” this mechanism to suit your needs.

Will not work on Windows 9X without the help of a supporting NDIS protocol
driver.

Good luck,

Thomas F. Divine

PCAUSA - Toolkits & Resources For Network Software Developers
NDIS Protocol - TDI Client - Windows 95 Redirector
http:

----- Original Message -----
From: Roddy, Mark
To: NT Developers Interest List
Sent: Tuesday, May 23, 2000 1:57 PM
Subject: [ntdev] RE: Question about the real time response!!!

> Yes that is one, but here is the one I was thinking of:
>
> http://www.intel.org/ial/sm/usenix/index.htm
>
>
> > -----Original Message-----
> > From: Robert Kennett [mailto:xxxxx@sequest.com]
> > Sent: Tuesday, May 23, 2000 11:37 AM
> > To: NT Developers Interest List
> > Subject: [ntdev] RE: Question about the real time response!!!
> >
> >
> > I remember that paper! Even found the hard copy and a link.
> > Nice title anyway:
> >
> > “The Problem You’re Having May Not Be The Problem You
> > Think You’re Having: Results from a Latency Study of Windows NT”
> >
> > http://www.research.microsoft.com/~mbj/papers/tr-98-29.html
> >
> > -bk
> >
> > Roddy, Mark wrote:
> >
> > > I think there was a paper about average interrupt latency
> > on NT systems that
> > > was published a year or two ago. I think also that it might
> > have been from
> > > Intel. You should do a web search. The worst case is of
> > course pretty horrid
> > > and undoubtedly outside the requirement that your isr
> > should never miss a
> > > 6ms interval. All that takes is a few concurrent interrupts
> > at higher
> > > priority with isrs that each consume a significant portion
> > of the 6ms. Hmm…
> > > perhaps the floppy disk driver would do it? NT is not a
> > real time system,
> > > and you have little or no control over the priority of your isr.
> > >
> > > > -----Original Message-----
> > > > From: Jingcao Hu [mailto:xxxxx@chinaren.com]
> > > > Sent: Tuesday, May 23, 2000 3:04 AM
> > > > To: NT Developers Interest List
> > > > Subject: [ntdev] Question about the real time response!!!
> > > >
> > > >
> > > > Hello Gurus,
> > > > I have developed a PCI card which will continuously
> > interrupt every
> > > > 6ms, and it is asked that none of the interrupt should be missed.
> > > > When I tested it with my driver on my HP LH3000 net server: PIII
> > > > 533+128M ram, it runs perfectly well without missing any
> > interrupts,
> > > > at least till now.
> > > > But now, my boss asked me to give him a theoretical
> > estimation of the
> > > > interrupt missing probability. I don’t know how to
> > calculate it. How
> > > > could I know in the worst case, how long will it take for my card
> > > > interrupt to issue the isr routine of my driver? How to
> > calculate the
> > > > probability?
> > > > Your help is highly appreciated.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Best regards,
> > > > Jingcao mailto:xxxxx@chinaren.com
> ></http:>