Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


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

OSR_Community_UserOSR_Community_User Member Posts: 110,217
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" <[email protected]>
To: "NT Developers Interest List" <[email protected]>
Sent: Tuesday, May 23, 2000 11:44 AM
Subject: [ntdev] RE: Question about the real time response!!!!


>
> [email protected] 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.
> [email protected] But I have promises to keep,
> [email protected] 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: [email protected]
> To unsubscribe send a blank email to $subst('Email.Unsub')
>

Comments

  • Thomas_F._DivineThomas_F._Divine Member Posts: 537
    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://www.pcausa.com&gt;

    ----- Original Message -----
    From: Roddy, Mark <[email protected]>
    To: NT Developers Interest List <[email protected]>
    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:[email protected]]
    > > 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:[email protected]]
    > > > > 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:[email protected]
    > >
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 30 January 2023 Live, Online
Developing Minifilters 20 March 2023 Live, Online
Writing WDF Drivers TBD 2023 Live, Online
Internals & Software Drivers 17 April 2023 Live, Online