gongbin_net
驱动牛犊
驱动牛犊
  • 注册日期2003-06-18
  • 最后登录2005-06-07
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1095回复:1

cool-net如何提高虚拟scsi的性能阿,我的代码如下

楼主#
更多 发布于:2005-03-19 20:31
VOID
VDiskWorker(
    IN PVOID StartContext
    )
{
PVDISK_THREAD_EXTENSION ThreadExt = THREADEXT(StartContext);
PLIST_ENTRY ListEntry;
PSCSI_REQUEST_BLOCK Srb;
NTSTATUS Status = STATUS_SUCCESS;

DbgPrint((\"Worker get run\\n\"));

KeSetPriorityThread(
KeGetCurrentThread(),
LOW_REALTIME_PRIORITY );

//
// delay load file
//
// Status = InitializeVDisk(ThreadExt,L\"\\\\DosDevices\\\\c:\\\\vdisk.img\");

//
// notify parent thread initialization finished.
//
ThreadExt->Status = Status;

KeSetEvent(
&ThreadExt->ThreadEvent,
IO_NO_INCREMENT,
FALSE );

if( NT_SUCCESS(Status) )
{
while(TRUE)
{
KeWaitForSingleObject(
&ThreadExt->ThreadEvent,
Executive,
KernelMode,
FALSE, // alertable
NULL );
ListEntry = ExInterlockedRemoveHeadList (
&ThreadExt->RequestHead,
&ThreadExt->ListLock );

while( ListEntry!=NULL )
{
Srb = SRB_FROM_ENTRY(ListEntry);

if( !ProcessSrb(ThreadExt,Srb) )
{
break;
}

ListEntry = ExInterlockedRemoveHeadList (
&ThreadExt->RequestHead,
&ThreadExt->ListLock );
}

if( ThreadExt->ShutdownWorker )
break;
}
}

if( ThreadExt->FileHandle )
{
ZwClose(ThreadExt->FileHandle);
}

DbgPrint((\"Worker terminated\\n\"));
PsTerminateSystemThread(Status);
}
这是系统县城,感觉拷贝文件很慢
怎么办啊,你是如何处理的阿,又没有例子可以参考阿
谢谢你啊
zhangshengyu
驱动老牛
驱动老牛
  • 注册日期2003-10-03
  • 最后登录2016-07-26
  • 粉丝0
  • 关注0
  • 积分792分
  • 威望696点
  • 贡献值41点
  • 好评度499点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2005-03-20 09:17
虚拟磁盘肯定要比硬盘慢很多,尤其在COPY大文件的时候
提高性能无非是提高线程数量和CACHE
---内核开发合作或提供基础技术服务QQ:22863668 ---
游客

返回顶部