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


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:

Re: Questions about interrupt response!

OSR_Community_UserOSR_Community_User Member Posts: 110,217
> Some of the best things you can do to improve interrupt latency are
> to avoid ISE disk drives (though a bad SCSI driver can mess
> you up too)

I agree! However, the IDE disk drive issue is easily fixed by running the
bus-master version of the ATAPI driver, assuming your motherboard supports
it. (If it was made in the past 2 years, it should.) Look in the MS
Knowledge Base if you don't know how to set that up.


  • OSR_Community_UserOSR_Community_User Member Posts: 110,217
    Thanks Stephen and Dominick,
    I have make a demo driver for my card, and till now, it works quite
    fine. But problems do exist, sometimes there would be one or two
    interrupts delay for about 80000 interrupts, thus make my on board
    buffer overflow. So I guess actually, it's impossible to make things 100% safe,
    but can reach 100%, am I right?
    thanks again for your help.

    Thursday, April 20, 2000, 8:33:24 PM, you wrote:

    DC> Based upon what all developers are supposed to do for ISR routines is for
    DC> them to simply acknowledge the interrupt and then queue a Deferred Procedure
    DC> Call. Therefore when an Interrupt occurs, your ISR should execute fairly
    DC> quickly probably within 10-20 microseconds at the worst. However, you will
    DC> need to queue a DPC during your ISR (just like everyone else so that all
    DC> Interrupts play fair) and that DPC will do the extended processing of the
    DC> interrupt event. That DPC gets placed into a queue and could take several
    DC> hundred microseconds to execute while it waits its turn in the Queue. You
    DC> should read the DDK and/or some Windows NT driver books about ISR and
    DC> DIRQL_LEVEL, DISPATCH_LEVEL and PASSIVE_LEVEL kernel processor levels. Most
    DC> Windows NT driver books to a very good job of describing this mechanism.

    DC> If you want others to play fair, then you should too!

    DC> Dominick

    DC> ----- Original Message -----
    DC> From: "Jingcao Hu" <[email protected]>
    DC> To: "NT Developers Interest List" <[email protected]>
    DC> Sent: Thursday, April 20, 2000 5:13 AM
    DC> Subject: [ntdev] Questions about interrupt response!

    >> Hello Gurus,
    >> The PCI card that I have designed would signal interrupt every 6ms. I
    >> just wonder whether it is possible for my winNT4.0 (on a HPLH3000
    >> Server) to response to the interrupt without skipping over any
    >> interrupt.
    >> In order to shorten the response time, what should I pay attention to
    >> when I am writing the driver?
    >> Thanks in advance.
    >> Best regards,
    >> Jingcao mailto:[email protected]
    >> ---
    >> You are currently subscribed to ntdev as: [email protected]
    >> To unsubscribe send a blank email to $subst('Email.Unsub')

    DC> ---
    DC> You are currently subscribed to ntdev as: [email protected]
    DC> To unsubscribe send a blank email to $subst('Email.Unsub')

    DC> -----------------------------------------------
    DC> ´î³ËÖ÷Ò³´ó°Í£¬Ê®·ÖÖÓÁ¢"Ò³" °²¼Ò£¡
    DC> »¹Óлú»áӮȡ´ó½±ÏÖ·¿Ò»Ì×»òÎÞ¾¡ÉϵȰ×Ã×£¬
    DC> ¸üÓÐSwatchÓëNikeÈÎÄãÄã¡ÂíÉ϶¯ÊÖ°É£¡
    DC> ÑûÇëÊ®¸öÅóÓѲμӴ˻¾ÍÓлú»á»ñµÃÎ÷²ØÉñÃØÖ®ÂÃ
    DC> ·²²ÎÓëÕß¾ù»ñChinaRenÌØ¿áTÐôÉÀÒ»¼þ£¡

    Best regards,
    Jingcao mailto:[email protected]
  • OSR_Community_UserOSR_Community_User Member Posts: 110,217
    > Based upon what all developers are supposed to do for ISR routines is for
    > them to simply acknowledge the interrupt and then queue a Deferred
    > Call.

    Note ATAPI and SERIAL drivers - both do the real data transfers in the ISR,
    not DPC.

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 13-17 May 2024 Live, Online
Developing Minifilters 1-5 Apr 2024 Live, Online
Internals & Software Drivers 11-15 Mar 2024 Live, Online
Writing WDF Drivers 20-24 May 2024 Live, Online