阅读:1522回复:3
我的Driver为何在Win2K下让svchost占了100%的CPU
我开发了一个读卡器driver,在Windows XP下work得很好,但在Windows 2K下,插入一个移动存储卡如SD,or memory stick后,系统进程svchost.exe就占了100%CPU啊,拔除卡后,还是占了100%CPU.这个进程主要是用来启动DLL形式的service。
我的driver是把读卡器看作一个虚拟的SCSI miniport的设备。 我trace了下,在Win2K下,插入卡并认出卡后,driver不停地收到 MODE_SENSE和RQUEST_SENSE的操作码,一秒钟大概收到4万条之巨。 请高手指点。 谢谢 新年快乐。 |
|
|
沙发#
发布于:2005-02-03 20:20
代码可能有问题,帖出来看看
|
|
|
驱动老牛
![]() |
板凳#
发布于:2005-02-04 09:30
可以先看看那个SVCHOST进程是由哪个服务创建的,然后再分析
|
|
地板#
发布于:2005-02-04 13:34
我已经搞定这个问题了,
谢谢大家。 原来是Windows 2K和XP发出的SCSI cdb有点不一样。 这样在Windows 2k导致MODE_SENSE一直失败,而上层的SCSI class driver就一直polling,并狂发mode sense 和request sense操作。 耗尽了cpu。 |
|
|