Re: Questions about interrupt response!

> 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.

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”
DC> To: “NT Developers Interest List”
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:xxxxx@chinaren.com
>>
>>
>>
>> —
>> You are currently subscribed to ntdev as: xxxxx@flashcom.net
>> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>>
>>

DC> —
DC> You are currently subscribed to ntdev as: xxxxx@chinaren.com
DC> To unsubscribe send a blank email to $subst(‘Email.Unsub’)

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

Best regards,
Jingcao mailto:xxxxx@chinaren.com

> 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
Procedure
Call.

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

Max