repository: C:/dev/kvm-guest-drivers-windows
branch: master
commit 4153629590c846862f095bbe3689df9e7fd70e06
Author: Yan Vugenfirer <[email protected]>
Date: Wed Nov 25 13:19:13 2009 +0200
[WIN-GUEST_DRIVERS]
viostor driver. some steps toward better performance on XP.
Signed-off-by: Vadim Rozenfeld<[email protected]>
diff --git a/viostor/virtio_stor.c b/viostor/virtio_stor.c
index d363909..8b91e62 100644
--- a/viostor/virtio_stor.c
+++ b/viostor/virtio_stor.c
@@ -1131,6 +1131,9 @@ CompleteDPC(
}
#endif
CompleteSRB(DeviceExtension, Srb);
+#ifndef USE_STORPORT
+ --adaptExt->requests;
+#endif
}
#ifdef USE_STORPORT
diff --git a/viostor/virtio_stor.h b/viostor/virtio_stor.h
index 456fa0e..c00600c 100644
--- a/viostor/virtio_stor.h
+++ b/viostor/virtio_stor.h
@@ -105,6 +105,8 @@ typedef struct _ADAPTER_EXTENSION {
LIST_ENTRY complete_list;
#ifdef USE_STORPORT
STOR_DPC completion_dpc;
+#else
+ ULONG requests;
#endif
BOOLEAN has_sn;
ULONG msix_vectors;
diff --git a/viostor/virtio_stor_hw_helper.c b/viostor/virtio_stor_hw_helper.c
index ed6abf7..21d27cd 100644
--- a/viostor/virtio_stor_hw_helper.c
+++ b/viostor/virtio_stor_hw_helper.c
@@ -94,9 +94,11 @@ RhelDoReadWrite(PVOID DeviceExtension,
&srbExt->vbr.sg[0],
srbExt->out, srbExt->in,
&srbExt->vbr) == 0) {
-//FIXME
InsertTailList(&adaptExt->list_head, &srbExt->vbr.list_entry);
adaptExt->pci_vq_info.vq->vq_ops->kick(adaptExt->pci_vq_info.vq);
+ if(++adaptExt->requests < adaptExt->queue_depth) {
+ ScsiPortNotification(NextLuRequest, DeviceExtension, Srb->PathId,
Srb->TargetId, Srb->Lun);
+ }
return TRUE;
}
return FALSE;
--
To unsubscribe from this list: send the line "unsubscribe kvm-commits" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html