阅读:1890回复:15
miniport虚拟磁盘的速度问题
各位大侠,最近我使用了vdisk和tiamo大侠的虚拟磁盘,感觉读写都非常的慢,我想改进改进,各位能不能给我一点建议,应该怎么改进,改进完了我把代码给贴出来。谢谢各位大侠先!
|
|
最新喜欢:wangza... |
沙发#
发布于:2007-10-09 18:32
在完成srb的时候,create一个fake srb,在这个fake srb中保存你真正要完成的original srb,然后把这个fake srb发送给自己,然后可以在该上下文中完成original srb.
|
|
板凳#
发布于:2007-10-09 21:59
太感谢大侠了,大侠真是牛呀,不过我没有看太明白,我create 一个fake srb,在这个fake srb中保存你真正要完成的original srb,然后把这个fake srb发送给自己。这个我明白,但是在这个上下文中完成original srb我没有明白,怎么完成它?是不是这样?
ScsiPortNotification( RequestComplete, HwDeviceExtension, Srb ); // 2nd, NextRequest ... ScsiPortNotification( NextRequest, HwDeviceExtension, NULL ); 这样就可以提高虚拟磁盘速度?我有点不太明白原因。大侠能不能指点一下小弟?小弟感激不尽! 引用第1楼tooflat于2007-10-09 18:32发表的 : |
|
地板#
发布于:2007-10-10 09:11
是的,因为效率的瓶颈在于用timer来完成srb。
|
|
地下室#
发布于:2007-10-10 09:13
坛子里有很多大虾做这方面的研究,他们也许有更好的办法,除了自己写个port driver。
|
|
5楼#
发布于:2007-10-10 11:24
学习,受教了。Timer 好象是1ms的把?这个时间确实限制了数据速率。
|
|
|
6楼#
发布于:2007-10-10 13:56
谢谢了,大侠,驱网就需要您这样的大侠!
引用第3楼tooflat于2007-10-10 09:11发表的 : |
|
7楼#
发布于:2007-10-10 14:20
请教一下,怎样才能创建一个fake srb发送给自己,谢谢!
|
|
8楼#
发布于:2007-10-12 09:13
同问,我也不会,是不是build一个irp?
谢谢了! 引用第7楼findnext于2007-10-10 14:20发表的 : |
|
9楼#
发布于:2007-10-12 10:31
nt4 src里面有scsiport.sys的源码,可以参考一下。
|
|
10楼#
发布于:2007-10-15 09:52
tooflat大侠真是好人呀,驱网就需要这样乐于助人的大侠!
|
|
11楼#
发布于:2007-10-17 12:23
驱网大侠很多,但特需要这样乐于助人的大侠!
|
|
12楼#
发布于:2007-10-19 10:13
我也来再顶一下,toooflat大峡。
|
|
|
13楼#
发布于:2008-04-15 00:37
请问楼主,速度问题有进展了没有?
我用tiamo的程序,在虚拟机上仅有144K/s,把文件放在ramdisk上,也只能达到1M/s,请问各位大侠能否提供比较详细一点的思路? |
|
14楼#
发布于:2008-04-15 09:32
我记得几年前做的无盘驱动,速度远远不只这个,1M怎么完无盘呀,很难想象
当然我是自己写的SCSI驱动,然后配合IMD驱动来完成的无盘系统的,整个无盘系统就只用了2个驱动,当然可以分成3、4个(BXP的就是分开的),但我感觉也可以不分开,就偷懒只写了2个驱动。 |
|
|
15楼#
发布于:2008-04-22 02:39
真是....
我这个只会写垃圾代码的人... 害人不浅呀.... 那个程序里面有个错... ZwCreateFile有个参数填错了...似乎应该是用write through打开文件 改改这个参数就能提高不少速度的... 据他们改过的人说..30MB/s的速度基本是没问题的好像.... |
|