Antwort: hELP ON Interrupts/sec

> HI all,

i have a packet driver which keeps receiving 64 byte packets every ms.
at the rate of 1000 packets/sec i am getting 2000 interrupts/sec. Why
is this so?? should it not be 1000 interrupts/sec rather then 2000.
Also when the rate of incoming packets increases then interrupts
increases
proportionally ie
pkts/sec interrupts/sec
1000 2000
2000 4000
4000 8000

Is this a cause of concern??
can anybody tell me if this is normal or something
abnormal is happening here.
regds
mayank

Hi!

Maybe you tell us some more about what device that is,
how big the buffer is, what kind of interrupt-sources the device has etc.

It could be perfectly normal for some device to produce 2 interrupts per
packet.
Could also be you just clear 1 interrupt-source per interrupt and each
packet
triggers 2 different interrupt sources.
Could also be 100 other things.

Otherwise just set a breakpoint in the ISR and send ONE packet, then you
can
step through the ISR and see what happens and if it fires 1x or 2x per
packet,
and if the second round is doing anything dumb (if it fires at all). Or
maybe
you are just timing the ints/second thing wrong?

Regards,

Paul Groke

Hi Paul,
thanks for your reply. The device is a normal 10/100 NIC.
The packet driver is a NDIS protocol driver.
Also the ISR must be the ndis supplied one or the Ethernet driver’s
that comes with window. Can you provide any other pointers
as to how this can be debugged.
regds
Mayank

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of xxxxx@tab.at
Sent: Wednesday, July 28, 2004 5:22 PM
To: Windows System Software Devs Interest List
Subject: Antwort: [ntdev] hELP ON Interrupts/sec

HI all,
i have a packet driver which keeps receiving 64 byte packets every ms.
at the rate of 1000 packets/sec i am getting 2000 interrupts/sec. Why
is this so?? should it not be 1000 interrupts/sec rather then 2000.
Also when the rate of incoming packets increases then interrupts
increases
proportionally ie
pkts/sec interrupts/sec
1000 2000
2000 4000
4000 8000

Is this a cause of concern??
can anybody tell me if this is normal or something
abnormal is happening here.
regds
mayank

Hi!

Maybe you tell us some more about what device that is,
how big the buffer is, what kind of interrupt-sources the device has etc.

It could be perfectly normal for some device to produce 2 interrupts per
packet.
Could also be you just clear 1 interrupt-source per interrupt and each
packet
triggers 2 different interrupt sources.
Could also be 100 other things.

Otherwise just set a breakpoint in the ISR and send ONE packet, then you
can
step through the ISR and see what happens and if it fires 1x or 2x per
packet,
and if the second round is doing anything dumb (if it fires at all). Or
maybe
you are just timing the ints/second thing wrong?

Regards,

Paul Groke


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

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

Hi Mayank,

I’m sorry but I have never done anything network-driver
related. I guess the ISR is provided by the
“framework” (NDIS driver).
However you can in any case set breakpoints or do
traces in/from the functions you implement and see if
everything is called in the correct order and does
the correct thing.
Also it should be possible to set a breakpoint in the
NDIS protocol driver, but since I’ve never done it I’m
not sure.

But I expect there are other people here more skilled
and experienced with all that NDIS stuff, so maybe one
of you other guys help out here :slight_smile:

Regards,

Paul Groke

-----Original Message-----

Hi Paul,
thanks for your reply. The device is a normal 10/100 NIC.
The packet driver is a NDIS protocol driver.
Also the ISR must be the ndis supplied one or the Ethernet driver’s
that comes with window. Can you provide any other pointers
as to how this can be debugged.
regds
Mayank

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of xxxxx@tab.at
Sent: Wednesday, July 28, 2004 5:22 PM
To: Windows System Software Devs Interest List
Subject: Antwort: [ntdev] hELP ON Interrupts/sec

HI all,
i have a packet driver which keeps receiving 64 byte packets every ms.
at the rate of 1000 packets/sec i am getting 2000 interrupts/sec. Why
is this so?? should it not be 1000 interrupts/sec rather then 2000.
Also when the rate of incoming packets increases then interrupts
increases
proportionally ie
pkts/sec interrupts/sec
1000 2000
2000 4000
4000 8000

Is this a cause of concern??
can anybody tell me if this is normal or something
abnormal is happening here.
regds
mayank

Hi!

Maybe you tell us some more about what device that is,
how big the buffer is, what kind of interrupt-sources the device has etc.

It could be perfectly normal for some device to produce 2 interrupts per
packet.
Could also be you just clear 1 interrupt-source per interrupt and each
packet
triggers 2 different interrupt sources.
Could also be 100 other things.

Otherwise just set a breakpoint in the ISR and send ONE packet, then you
can
step through the ISR and see what happens and if it fires 1x or 2x per
packet,
and if the second round is doing anything dumb (if it fires at all). Or
maybe
you are just timing the ints/second thing wrong?

Regards,

Paul Groke

Miniport's ISR and DPC can be discovered with kd.

kd> !load ndiskd.dll
kd> !miniports
NDIS Driver verifier level: 7b
NDIS Failed allocations : 0
[snip]...
Miniport Driver Block: 8290fa98, Version 4.5
Miniport: 82924628, NetLuidIndex: 0, IfIndex: 0, 3Com EtherLink XL 10/100
PCI TX NIC (3C905B-TX) #3
[snip]...

kd> dt -r1 _NDIS_M_DRIVER_BLOCK 8290fa98
+0x000 NextDriver : 0x82aebd90
[snip]...
+0x020 MiniportCharacteristics :
+0x018 HandleInterruptHandler : 0xbacda6a6
el90xbc5!NICInterrupt+0
+0x01c InitializeHandler : 0xbacd8400 el90xbc5!NICInitialize+0
+0x020 ISRHandler : 0xbacda5ee
el90xbc5!NICInterruptServiceRoutine+0
[snip]...

HandleInterruptHandler is the DPC
ISRHandler is the ISR

The you can do "bu el90xbc5!NICInterrupt"

HTH,
Calvin

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

-----Original Message-----
From: xxxxx@tab.at [mailto:xxxxx@tab.at]
Sent: Thursday, July 29, 2004 11:57 AM
To: Windows System Software Devs Interest List
Subject: Re: RE: Antwort: [ntdev] hELP ON Interrupts/sec

Hi Mayank,

I'm sorry but I have never done anything network-driver
related. I guess the ISR is provided by the
"framework" (NDIS driver).
However you can in any case set breakpoints or do
traces in/from the functions you implement and see if
everything is called in the correct order and does
the correct thing.
Also it should be possible to set a breakpoint in the
NDIS protocol driver, but since I've never done it I'm
not sure.

But I expect there are other people here more skilled
and experienced with all that NDIS stuff, so maybe one
of you other guys help out here :slight_smile:

Regards,

Paul Groke

-----Original Message-----

Hi Paul,
thanks for your reply. The device is a normal 10/100 NIC.
The packet driver is a NDIS protocol driver.
Also the ISR must be the ndis supplied one or the Ethernet driver's
that comes with window. Can you provide any other pointers
as to how this can be debugged.
regds
Mayank

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of xxxxx@tab.at
Sent: Wednesday, July 28, 2004 5:22 PM
To: Windows System Software Devs Interest List
Subject: Antwort: [ntdev] hELP ON Interrupts/sec

> HI all,
> i have a packet driver which keeps receiving 64 byte
packets every ms.
> at the rate of 1000 packets/sec i am getting 2000
interrupts/sec. Why
> is this so?? should it not be 1000 interrupts/sec rather then 2000.
> Also when the rate of incoming packets increases then interrupts
increases
> proportionally ie
> pkts/sec interrupts/sec
> 1000 2000
> 2000 4000
> 4000 8000
>
> Is this a cause of concern??
> can anybody tell me if this is normal or something
> abnormal is happening here.
> regds
> mayank

Hi!

Maybe you tell us some more about what device that is,
how big the buffer is, what kind of interrupt-sources the
device has etc.

It could be perfectly normal for some device to produce 2
interrupts per
packet.
Could also be you just clear 1 interrupt-source per interrupt and each
packet
triggers 2 different interrupt sources.
Could also be 100 other things.

Otherwise just set a breakpoint in the ISR and send ONE
packet, then you
can
step through the ISR and see what happens and if it fires 1x or 2x per
packet,
and if the second round is doing anything dumb (if it fires
at all). Or
maybe
you are just timing the ints/second thing wrong?

Regards,

Paul Groke


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