RE: Is there any way that I can prevent my driver's ISR f rom being ca lled because of the interrupt

> -----Original Message-----

From: Mark Overby [mailto:xxxxx@nvidia.com]
Sent: February 25, 2005 12:15 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Is there any way that I can prevent my driver’s ISR f
rom being ca lled because of the interrupt from the other IRQ-shared devi
ces?

If you have control over the system BIOS you could certainly have the
system BIOS ACPI code restrict your device to a single interrupt with
the interrupt routing tables allowing no other slot or device.

Fortunately, we have control over system BIOSes for the chipsets we made-:slight_smile:

MSI is NOT the only solution for this. There are device side solutions
as well.

An inquiring mind wants to know…

Thanks,
Calvin

Calvin Guan Software Engineer
ATI Technologies Inc. www.ati.com

Thanks, can you tell me how to change BIOS ACPI code?

zhongsheng

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Overby
Sent: Friday, February 25, 2005 9:15 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Is there any way that I can prevent my driver’s ISR f
rom being ca lled because of the interrupt from the other IRQ-shared devi
ces?

If you have control over the system BIOS you could certainly have the
system BIOS ACPI code restrict your device to a single interrupt with
the interrupt routing tables allowing no other slot or device.

MSI is NOT the only solution for this. There are device side solutions
as well.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Calvin Guan
Sent: Friday, February 25, 2005 7:55 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Is there any way that I can prevent my driver’s ISR
f rom being ca lled because of the interrupt from the other IRQ-shared
devi ces?

I think it is annoying from performance point of view. It hearts
code/cache
locality obviously. Also, the driver’s ISR at least need to check
registers
for possible pending interrupts. It generates “memory read” cycle(s) on
the
bus which has higher priority than “read line” and “read multiple”
therefore; in-progress long burst could be disturbed.

There’s no real good solution unless the HW/driver/OS/Motherboard
support
MSI.

Calvin Guan Software Engineer
ATI Technologies Inc. www.ati.com

-----Original Message-----
From: Tim Roberts [mailto:xxxxx@probo.com]
Sent: February 24, 2005 9:26 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Is there any way that I can prevent my driver’s
ISR
from being ca lled because of the interrupt from the other IRQ-shared
devices?

xxxxx@exgate.tek.com wrote:

>I am working on a PCI device driver for Windows XP. My device is
sharing
IRQ
>with another device on the PCI bus, such as ethernet controller.
Whenever
>the ethernet control raises the interrupt, the ISR routine in my
driver
is
>called too. Of course my device is not going to do anything, but it
is
>really annoying especially when the other device is very
interrupt-active
>(like ethernet controller).
>
>Is there any way that I can prevent my driver’s ISR from being called
>because of the interrupt from the other device?
>
>

No.

Why is it annoying? Your ISR runs, decides it has no pending
interrupts, and returns.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

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


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

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


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

xxxxx@exgate.tek.com wrote:

Thanks, can you tell me how to change BIOS ACPI code?

zhongsheng

Well, now, wait a minute. Except in extreme circumstances, that’s
almost certainly the wrong approach to this problem. We’re talking
about a minor performance annoyance here – a hundred cycles per
interrupt, maybe? There is no real justification to take any action at
all, if performance is the only issue. There is certainly no
justification to modify the BIOS to accomodate an add-in card. That’s
like doing plastic surgery on your face because you think your hair is
too long.

You’d have to ask the provider of the system BIOS for the system you are
using.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@exgate.tek.com
Sent: Friday, February 25, 2005 10:42 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Is there any way that I can prevent my driver’s ISR
f rom being ca lled because of the interrupt from the other IRQ-shared
dev i ces?

Thanks, can you tell me how to change BIOS ACPI code?

zhongsheng

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Overby
Sent: Friday, February 25, 2005 9:15 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Is there any way that I can prevent my driver’s ISR
f
rom being ca lled because of the interrupt from the other IRQ-shared
devi
ces?

If you have control over the system BIOS you could certainly have the
system BIOS ACPI code restrict your device to a single interrupt with
the interrupt routing tables allowing no other slot or device.

MSI is NOT the only solution for this. There are device side solutions
as well.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Calvin Guan
Sent: Friday, February 25, 2005 7:55 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Is there any way that I can prevent my driver’s ISR
f rom being ca lled because of the interrupt from the other IRQ-shared
devi ces?

I think it is annoying from performance point of view. It hearts
code/cache
locality obviously. Also, the driver’s ISR at least need to check
registers
for possible pending interrupts. It generates “memory read” cycle(s) on
the
bus which has higher priority than “read line” and “read multiple”
therefore; in-progress long burst could be disturbed.

There’s no real good solution unless the HW/driver/OS/Motherboard
support
MSI.

Calvin Guan Software Engineer
ATI Technologies Inc. www.ati.com

-----Original Message-----
From: Tim Roberts [mailto:xxxxx@probo.com]
Sent: February 24, 2005 9:26 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Is there any way that I can prevent my driver’s
ISR
from being ca lled because of the interrupt from the other IRQ-shared
devices?

xxxxx@exgate.tek.com wrote:

>I am working on a PCI device driver for Windows XP. My device is
sharing
IRQ
>with another device on the PCI bus, such as ethernet controller.
Whenever
>the ethernet control raises the interrupt, the ISR routine in my
driver
is
>called too. Of course my device is not going to do anything, but it
is
>really annoying especially when the other device is very
interrupt-active
>(like ethernet controller).
>
>Is there any way that I can prevent my driver’s ISR from being called
>because of the interrupt from the other device?
>
>

No.

Why is it annoying? Your ISR runs, decides it has no pending
interrupts, and returns.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

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


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

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


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

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