In my storport miniport driver, my settings to MaximumTransferLength and NumberOfPhysicalBreaks is not getting honored by storport driver !!
In my Storport Miniport Driver, I am setting
PPORT_CONFIGURATION_INFORMATION->
MaximumTransferLength = (255 - 1) * 4096;
PPORT_CONFIGURATION_INFORMATION->
NumberOfPhysicalBreaks = 255;
And in my miniport service registry key, I have set
HKLM\System\CurrentControlSet\services\MyServices\Parameters\Device\
MaximumSGList REG_DWORD 255.
When I run Iometer (or my win32 RAW Disk Read/Write Application as write thru and no intermediate Buffering ) with I/O size 64K or 128K (or above ), My Miniport driver never gets IoSize greater than 32K.
It looks like, Storport driver is splitting up request with IO Size larger than 32K , and always sends me max IO size 32 K (SG List max element always gets 8 !!)
I have tried with 128K maxtransfer length settings in registry and in my driver, still the result is same. I never get more than 32K size of IO even though user mode application IOmeter has issued one larger size read or write request.
Does anyone knows why Storport driver is splitting packets even though miniport supports large size packets? Is there any other settings which I am missing to set in miniport driver for maxIoSize ?
I will appreciate your response.
Thanks,
Parag
All-new Yahoo! Mail - Fire up a more powerful email and get things done faster.