How to assign a high IRQL on ISR

Dear Collegues,
We develop card driver and faced the problem with ISR comming on some
systems with VIA-C3 proccesor installed.Sometimes interrupts come with
rather big delay.

I’d like to force interrupts to arrive at right times. For example I’d
like to setup IRQL of ISR manually (as experiment).
Has anybody any suggestions on it?
Is it possible to implement it?

Thanks a lot,
Alexis

Under NT and W2K, you can’t really specify a path for NdisOpenFile, just a
filename; the implicit directory is %SystemRoot%\System32\drivers.

Good luck,

Thomas F. Divine

www.ndis.com

“Akorolev” wrote in message news:xxxxx@ntdev…
>
> Dear Collegues,
> We develop card driver and faced the problem with ISR comming on some
> systems with VIA-C3 proccesor installed.Sometimes interrupts come with
> rather big delay.
>
> I’d like to force interrupts to arrive at right times. For example I’d
> like to setup IRQL of ISR manually (as experiment).
> Has anybody any suggestions on it?
> Is it possible to implement it?
>
> Thanks a lot,
> Alexis
>
>

Sorry! Posted previous as reply to wrong message.

Thos

“Thomas F. Divine” wrote in message news:xxxxx@ntdev…
>
> Under NT and W2K, you can’t really specify a path for NdisOpenFile, just a
> filename; the implicit directory is %SystemRoot%\System32\drivers.
>
> Good luck,
>
> Thomas F. Divine
>
> www.ndis.com
>
>
>
> “Akorolev” wrote in message news:xxxxx@ntdev…
> >
> > Dear Collegues,
> > We develop card driver and faced the problem with ISR comming on some
> > systems with VIA-C3 proccesor installed.Sometimes interrupts come with
> > rather big delay.
> >
> > I’d like to force interrupts to arrive at right times. For example I’d
> > like to setup IRQL of ISR manually (as experiment).
> > Has anybody any suggestions on it?
> > Is it possible to implement it?
> >
> > Thanks a lot,
> > Alexis
> >
> >
>
>
>
>

You could always specify a high sync IRQL on the IoConnectInterrupt routine.

“Akorolev” wrote in message news:xxxxx@ntdev…
>
> Dear Collegues,
> We develop card driver and faced the problem with ISR comming on some
> systems with VIA-C3 proccesor installed.Sometimes interrupts come with
> rather big delay.
>
> I’d like to force interrupts to arrive at right times. For example I’d
> like to setup IRQL of ISR manually (as experiment).
> Has anybody any suggestions on it?
> Is it possible to implement it?
>
> Thanks a lot,
> Alexis
>
>

I would like to profit from this thread to ask a general question about IRQL
and IRQ’s ( once more ).

I would like to know if there exists a way to know the IRQL level of the
ISR’s of a particular
driver that connected to a particular IRQ. I think about something that
extends the Device Manager’s
“resources by type” view.

----- Original Message -----
From: “Doug”
Newsgroups: ntdev
To: “NT Developers Interest List”
Sent: Wednesday, January 29, 2003 5:18 PM
Subject: [ntdev] Re: How to assign a high IRQL on ISR

> You could always specify a high sync IRQL on the IoConnectInterrupt
routine.
>
> “Akorolev” wrote in message news:xxxxx@ntdev…
> >
> > Dear Collegues,
> > We develop card driver and faced the problem with ISR comming on some
> > systems with VIA-C3 proccesor installed.Sometimes interrupts come with
> > rather big delay.
> >
> > I’d like to force interrupts to arrive at right times. For example I’d
> > like to setup IRQL of ISR manually (as experiment).
> > Has anybody any suggestions on it?
> > Is it possible to implement it?
> >
> > Thanks a lot,
> > Alexis
> >
> >
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@compaqnet.be
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>

> You could always specify a high sync IRQL on the IoConnectInterrupt

routine.

That will not keep the higher priority interrupt from delaying the lower priority interrupt,
it will just keep the higher priority interrupt from interrupting while the lower priority
ISR is running.

The answer is that for PnP busses such as PCI, in NT the driver has no control over the IRQL
level assigned to a particular device. This has been discussed several times here, and there
have been proposed many horrid hacks to work around the OS architecture. Search this list and
you will find lots of (useless) ideas in this area.

“Akorolev” wrote in message news:xxxxx@ntdev…
> >
> > Dear Collegues,
> > We develop card driver and faced the problem with ISR comming on some
> > systems with VIA-C3 proccesor installed.Sometimes interrupts come
> with
> > rather big delay.
> >
> > I’d like to force interrupts to arrive at right times. For example
> I’d
> > like to setup IRQL of ISR manually (as experiment).
> > Has anybody any suggestions on it?
> > Is it possible to implement it?
> >
> > Thanks a lot,
> > Alexis
> >
> >
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@hollistech.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

I think the real question here is why the delay? My experience with ISR
entry has alwas been on the order of microseconds … 10s of us on slow
Pentiums and less than tens on faster machines. I do recall discussions on
the groups dealling with interrupt sharing where some boxes had ALL devices
on the same IRQ.

But like Mark said … dorking around with aribitrarily boosting your IRQL
has best been defined as an unqualified, non-functional hack that required a
hell of a lot of work to find out it don’t work.


Gary G. Little
Have Computer, will travel …
909-698-3191
909-551-2105

“Akorolev” wrote in message news:xxxxx@ntdev…
>
> Dear Collegues,
> We develop card driver and faced the problem with ISR comming on some
> systems with VIA-C3 proccesor installed.Sometimes interrupts come with
> rather big delay.
>
> I’d like to force interrupts to arrive at right times. For example I’d
> like to setup IRQL of ISR manually (as experiment).
> Has anybody any suggestions on it?
> Is it possible to implement it?
>
> Thanks a lot,
> Alexis
>
>

Gary,
IMHO there are two possible reasons of the ISR delays.

  1. Delays may be caused by onboard audio card drivers which were installed
    in the system. If to disable audio card in BIOS, no delays will occur.
  2. Delay may be cused by errors in south bridge in some VIA chipsets.
    I oftenly saw the same problem on some other VIA based MBs.

Our product should work on the such systems. In case of delayed ISRs
product doesn’t work properly. I can see the only way to solve the problem
of delayed ISRs, it is raising IRQL at which our ISRs are calling.
I think the same solutions were already implemented for other products.

Best regards,
Alexis

I think the real question here is why the delay? My experience with ISR
entry has alwas been on the order of microseconds … 10s of us on slow
Pentiums and less than tens on faster machines. I do recall discussions on
the groups dealling with interrupt sharing where some boxes had ALL devices
on the same IRQ.

But like Mark said … dorking around with aribitrarily boosting your IRQL
has best been defined as an unqualified, non-functional hack that required a
hell of a lot of work to find out it don’t work.


Gary G. Little
Have Computer, will travel …
909-698-3191
909-551-2105

“Akorolev” wrote in message news:xxxxx@ntdev…
> >
> > Dear Collegues,
> > We develop card driver and faced the problem with ISR comming on some
> > systems with VIA-C3 proccesor installed.Sometimes interrupts come with
> > rather big delay.
> >
> > I’d like to force interrupts to arrive at right times. For example I’d
> > like to setup IRQL of ISR manually (as experiment).
> > Has anybody any suggestions on it?
> > Is it possible to implement it?
> >
> > Thanks a lot,
> > Alexis
> >
> >

If the problem is #2, how will raising to a higher DIRQL solve
the problem? Wouldn’t the errors incur the same problem no matter
what DIRQL you set your ISR at?

-Jeff

-----Original Message-----
From: Akorolev [mailto:xxxxx@mail.ru]
Sent: Wednesday, January 29, 2003 2:36 PM
To: NT Developers Interest List
Subject: [ntdev] Re: How to assign a high IRQL on ISR

Gary,
IMHO there are two possible reasons of the ISR delays.

  1. Delays may be caused by onboard audio card drivers which were installed
    in the system. If to disable audio card in BIOS, no delays will occur.
  2. Delay may be cused by errors in south bridge in some VIA chipsets.
    I oftenly saw the same problem on some other VIA based MBs.

Our product should work on the such systems. In case of delayed ISRs
product doesn’t work properly. I can see the only way to solve the problem
of delayed ISRs, it is raising IRQL at which our ISRs are calling.
I think the same solutions were already implemented for other products.

Best regards,
Alexis

I think the real question here is why the delay? My experience with ISR
entry has alwas been on the order of microseconds … 10s of us on slow
Pentiums and less than tens on faster machines. I do recall discussions on
the groups dealling with interrupt sharing where some boxes had ALL
devices
on the same IRQ.

But like Mark said … dorking around with aribitrarily boosting your IRQL
has best been defined as an unqualified, non-functional hack that required
a
hell of a lot of work to find out it don’t work.


Gary G. Little
Have Computer, will travel …
909-698-3191
909-551-2105

“Akorolev” wrote in message news:xxxxx@ntdev…
> >
> > Dear Collegues,
> > We develop card driver and faced the problem with ISR comming on some
> > systems with VIA-C3 proccesor installed.Sometimes interrupts come with
> > rather big delay.
> >
> > I’d like to force interrupts to arrive at right times. For example I’d
> > like to setup IRQL of ISR manually (as experiment).
> > Has anybody any suggestions on it?
> > Is it possible to implement it?
> >
> > Thanks a lot,
> > Alexis
> >
> >


You are currently subscribed to ntdev as: xxxxx@concord.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This footnote also confirms that this email message has been swept by
the latest virus scan software available for the presence of computer
viruses.

It sounded like he wanted his lower priority IRQ’s ISR routine to not be
delayed by a higher priority IRQ’s ISR routine. Putting a high sync IRQL
will do that. You are correct in that it will not prevent the higher
priority IRQ from coming in while his lower priority IRQ is being serviced.

“Mark Roddy” wrote in message news:xxxxx@ntdev…
> That will not keep the higher priority interrupt from delaying the lower
priority interrupt,
> it will just keep the higher priority interrupt from interrupting while
the lower priority
> ISR is running.
>

> Our product should work on the such systems. In case of delayed ISRs

product doesn’t work properly.

Looks like the product requires major redesign.

Reliable (working on all chipsets on heavy loads without ISR latency
problems) realtime hardware on NT is possible, just look at 1394/DV
stack.

Max

Try copying some files from a CD-ROM when the drive is operating in PIO
mode. You may see delays of 10’s of *milliseconds* if your driver loses
the IRQL allocation contest. I know it’s easy enough to switch the CD-ROM
to DMA mode but it seems to switch itself back under some circumstances.

Subject: Re: How to assign a high IRQL on ISR
From: “Gary G. Little”
>Date: Wed, 29 Jan 2003 11:01:44 -0800
>X-Message-Number: 26
>
>I think the real question here is why the delay? My experience with ISR
>entry has alwas been on the order of microseconds … 10s of us on slow
>Pentiums and less than tens on faster machines. I do recall discussions on
>the groups dealling with interrupt sharing where some boxes had ALL devices
>on the same IRQ.
>
>But like Mark said … dorking around with aribitrarily boosting your IRQL
>has best been defined as an unqualified, non-functional hack that required a
>hell of a lot of work to find out it don’t work.
>
>–
>Gary G. Little
>Have Computer, will travel …
>909-698-3191
>909-551-2105
>
>“Akorolev” wrote in message news:xxxxx@ntdev…
> >
> > Dear Collegues,
> > We develop card driver and faced the problem with ISR comming on some
> > systems with VIA-C3 proccesor installed.Sometimes interrupts come with
> > rather big delay.
> >
> > I’d like to force interrupts to arrive at right times. For example I’d
> > like to setup IRQL of ISR manually (as experiment).
> > Has anybody any suggestions on it?
> > Is it possible to implement it?
> >
> > Thanks a lot,
> > Alexis

That is a specific bad device driver related issue, however, and can be
easily solved by removing the device or replacing it . The issue primarily
is why someone has not taken a rope to a bunch of anal retentive idiots that
write CD-ROM drivers. You do not read “War and Peace” while in an interrupt.


Gary G. Little
Have Computer, will travel …
909-698-3191
909-551-2105

“Art Edwards” wrote in message news:xxxxx@ntdev…
>
> Try copying some files from a CD-ROM when the drive is operating in PIO
> mode. You may see delays of 10’s of milliseconds if your driver loses
> the IRQL allocation contest. I know it’s easy enough to switch the CD-ROM
> to DMA mode but it seems to switch itself back under some circumstances.
>
> >Subject: Re: How to assign a high IRQL on ISR
> >From: “Gary G. Little”
> >Date: Wed, 29 Jan 2003 11:01:44 -0800
> >X-Message-Number: 26
> >
> >I think the real question here is why the delay? My experience with ISR
> >entry has alwas been on the order of microseconds … 10s of us on slow
> >Pentiums and less than tens on faster machines. I do recall discussions
on
> >the groups dealling with interrupt sharing where some boxes had ALL
devices
> >on the same IRQ.
> >
> >But like Mark said … dorking around with aribitrarily boosting your
IRQL
> >has best been defined as an unqualified, non-functional hack that
required a
> >hell of a lot of work to find out it don’t work.
> >
> >–
> >Gary G. Little
> >Have Computer, will travel …
> >909-698-3191
> >909-551-2105
> >
> >“Akorolev” wrote in message news:xxxxx@ntdev…
> > >
> > > Dear Collegues,
> > > We develop card driver and faced the problem with ISR comming on some
> > > systems with VIA-C3 proccesor installed.Sometimes interrupts come with
> > > rather big delay.
> > >
> > > I’d like to force interrupts to arrive at right times. For example I’d
> > > like to setup IRQL of ISR manually (as experiment).
> > > Has anybody any suggestions on it?
> > > Is it possible to implement it?
> > >
> > > Thanks a lot,
> > > Alexis
>
>
>
>