Hi Everyone
I have developed an ISDN Wan Miniport Driver on Windows NT 4.0 - Ndis
Framework 4.0.
The driver works fine under normal conditions and is able to send and
receive packets accurately.
However under Heavy-Traffic condition the driver Stalls the operating System
(i.e. The Keyboard, mouse, etc becomes non-functional).
For better understanding of the above problem please refer following
details.
- I have kept the SendWindow as 1. Thus the driver processes 1 packet at a
time for sending it on the network. If the user-mode applications requests
for sending another packets, when a particular packet is processed at the
driver level then these packets are queued at the NdisWan Level.
- Processing for sending and receiving Packets may occur simultaneously.
- My adapter architecture requires to limit my MaxPacketSize that the
driver can accept and process as 4080 bytes.
- On each Packet Send, an interrupt is received from the adapter for
confirmation. This interrupt is processed in the HandleInterruptHandler at
the DISPATCH_LEVEL by setting the “QueueInterruptHandler” field as TRUE in
the ISR. Thus in the ISR, processing is minimized to --just setting the
field as TRUE and immediately returning from it to avoid excessive
processing at DIRQL which may hang the system.
Even after following the above process, in Heavy-Traffic conditions (like
multiple ftp Clients trying to upload and download data simultaneously), My
system gets stalled (i.e unable to Key-in through keyboard or operate
mouse).
Can anybody please suggest what could be the possible reason for the above
problem and how can it be solved.
Regards,
Chirag Sanghani.
If you can, break in with a kernel debugger and look for threads blocked
in your driver. It could be something like breaking your locking
hierarchy or something.
-sd
On Mon, 2004-07-12 at 23:29, Chirag Sanghani wrote:
Hi Everyone
I have developed an ISDN Wan Miniport Driver on Windows NT 4.0 - Ndis
Framework 4.0.
The driver works fine under normal conditions and is able to send and
receive packets accurately.
However under Heavy-Traffic condition the driver Stalls the operating System
(i.e. The Keyboard, mouse, etc becomes non-functional).
For better understanding of the above problem please refer following
details.
- I have kept the SendWindow as 1. Thus the driver processes 1 packet at a
time for sending it on the network. If the user-mode applications requests
for sending another packets, when a particular packet is processed at the
driver level then these packets are queued at the NdisWan Level.
- Processing for sending and receiving Packets may occur simultaneously.
- My adapter architecture requires to limit my MaxPacketSize that the
driver can accept and process as 4080 bytes.
- On each Packet Send, an interrupt is received from the adapter for
confirmation. This interrupt is processed in the HandleInterruptHandler at
the DISPATCH_LEVEL by setting the “QueueInterruptHandler” field as TRUE in
the ISR. Thus in the ISR, processing is minimized to --just setting the
field as TRUE and immediately returning from it to avoid excessive
processing at DIRQL which may hang the system.
Even after following the above process, in Heavy-Traffic conditions (like
multiple ftp Clients trying to upload and download data simultaneously), My
system gets stalled (i.e unable to Key-in through keyboard or operate
mouse).
Can anybody please suggest what could be the possible reason for the above
problem and how can it be solved.
Regards,
Chirag Sanghani.
Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@positivenetworks.net
To unsubscribe send a blank email to xxxxx@lists.osr.com