Ksproxy Problem in Hyper threading Machine

Hi ,

We are writing a WDM Streaming miniport driver and having issues when it is
running on a hyper threading machine.
The issue is that ksproxy.ax does not return the SRB’s (Stream Request
Blocks) that are passed from the kernel driver. The result of which the
driver times out. Can anyone throw some light on as what is happening here?.

Thanks in advance
-Nattu

> We are writing a WDM Streaming miniport driver and having

issues when it is running on a hyper threading machine.
The issue is that ksproxy.ax does not return the SRB’s (Stream Request
Blocks) that are passed from the kernel driver. The result of
which the driver times out. Can anyone throw some light on as
what is happening here?.

Let me see if I undestand the problem correctly.

You are saying that on HT machine your driver attempts to complete the SRB, which never reaches
the downstream filter (ksproxy appears to have lost the packet) and eventually your minidriver’s
SRB timeout handler is invoked. Is this correct?

If the above is true, then I would guess that your driver has a synchronization problem and it
mismanages SRBs that it receives from ksproxy.
You might take a close look on how you manage your internal queues. On HT (and MP machines in
general) sync bugs are much more likely to show up.

I speculate here, but what might have happened is that you lost one of the SRBs and in that case
ksproxy does not send anything downstream until it gets lost packet form the driver. This means
that your driver can keep on completing SRBs and delivering them to ksproxy, but those SRBs will
be queued in ksproxy and won’t be sent anywhere until missed packet is completed by the driver. I
had a problem like this before in one of my drivers.

– Max.

>Let me see if I undestand the problem correctly.

You are saying that on HT machine your driver attempts to complete the SRB,
which never reaches
the downstream filter (ksproxy appears to have lost the packet) and
eventually your minidriver’s
SRB timeout handler is invoked. Is this correct?

Yes, you are correct.

I will look into my SRB managing queues. Thanks for the input.

-Nattu

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Max Paklin
Sent: Sunday, April 25, 2004 11:18 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Ksproxy Problem in Hyper threading Machine

We are writing a WDM Streaming miniport driver and having
issues when it is running on a hyper threading machine.
The issue is that ksproxy.ax does not return the SRB’s (Stream Request
Blocks) that are passed from the kernel driver. The result of
which the driver times out. Can anyone throw some light on as
what is happening here?.

Let me see if I undestand the problem correctly.

You are saying that on HT machine your driver attempts to complete the SRB,
which never reaches
the downstream filter (ksproxy appears to have lost the packet) and
eventually your minidriver’s
SRB timeout handler is invoked. Is this correct?

If the above is true, then I would guess that your driver has a
synchronization problem and it
mismanages SRBs that it receives from ksproxy.
You might take a close look on how you manage your internal queues. On HT
(and MP machines in
general) sync bugs are much more likely to show up.

I speculate here, but what might have happened is that you lost one of the
SRBs and in that case
ksproxy does not send anything downstream until it gets lost packet form the
driver. This means
that your driver can keep on completing SRBs and delivering them to ksproxy,
but those SRBs will
be queued in ksproxy and won’t be sent anywhere until missed packet is
completed by the driver. I
had a problem like this before in one of my drivers.

– Max.


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

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