Driver Problems? Questions? Issues?
Put OSR's experience to work for you! Contact us for assistance with:
  • Creating the right design for your requirements
  • Reviewing your existing driver code
  • Analyzing driver reliability/performance issues
  • Custom training mixed with consulting and focused directly on your specific areas of interest/concern.
Check us out. OSR, the Windows driver experts.

Monthly Seminars at OSR Headquarters

East Coast USA
Windows Internals and SW Drivers, Dulles (Sterling) VA, 13 November 2017

Kernel Debugging & Crash Analysis for Windows, Nashua (Amherst) NH, 4 December 2017

Writing WDF Drivers I: Core Concepts, Nashua (Amherst) NH, 8 January 2018

WDF Drivers II: Advanced Implementation Techniques, Nashua (Amherst) NH, 15 January 2018


Go Back   OSR Online Lists > ntdev
Welcome, Guest
You must login to post to this list
  Message 1 of 8  
29 Nov 17 08:40
sachindranath p v
xxxxxx@gmail.com
Join Date: 19 Aug 2013
Posts To This List: 13
Query on StorPortGetUncachedExtension ??

Will StorPortGetUncachedExtension allocate contiguous DMA memory when the value of NumberOfPhysicalBreaks parameter is more than 1
  Message 2 of 8  
29 Nov 17 09:25
Scott Noone
xxxxxx@osr.com
Join Date:
Posts To This List: 1341
List Moderator
Query on StorPortGetUncachedExtension ??

Yes, StorPortGetUncachedExtension always allocates contiguous memory. -scott OSR @OSRDrivers
  Message 3 of 8  
29 Nov 17 12:22
Derin Jose
xxxxxx@gmail.com
Join Date: 29 Nov 2017
Posts To This List: 2
Query on StorPortGetUncachedExtension ??

1. So if the storportgetuncachedextension always allocate continious DMA able memory(either in cpu physical address space or the enddevice's IO virtual address space), I assume the NumberOfPhysicalBreaks parameter is unused within the function ? 2. So if the system's physical memory becomes too much fragmented, this function is more likely to fail for larger allocations, if no address remapping hardware(IOMMU) is present between the enddevice and memory subsystem? 3. Any particular reason for not using the NumberOfPhysicalBreaks parameter within this function?
  Message 4 of 8  
30 Nov 17 02:23
sachindranath p v
xxxxxx@gmail.com
Join Date: 19 Aug 2013
Posts To This List: 13
Query on StorPortGetUncachedExtension ??

Thanks scott. The implementation is better explained in its SCSI equivalent. " https://msdn.microsoft.com/en-us/library/windows/hardware/ff564639(v=vs.85).aspx ". On Wed, Nov 29, 2017 at 10:51 PM, xxxxx@gmail.com <xxxxx@lists.osr.com> wrote: > 1. So if the storportgetuncachedextension always allocate continious DMA > able memory(either in cpu physical address space or the enddevice's IO > virtual address space), I assume the NumberOfPhysicalBreaks parameter is > unused within the function ? > > 2. So if the system's physical memory becomes too much fragmented, this > function is more likely to fail for larger allocations, if no address > remapping hardware(IOMMU) is present between the enddevice and memory > subsystem? > <...excess quoted lines suppressed...> -- Regards Sachindranath <http://in.linkedin.com/in/pvsachindranath> --
  Message 5 of 8  
30 Nov 17 09:01
Scott Noone
xxxxxx@osr.com
Join Date:
Posts To This List: 1341
List Moderator
Query on StorPortGetUncachedExtension ??

<QUOTE> 1. So if the storportgetuncachedextension always allocate continious DMA able memory(either in cpu physical address space or the enddevice's IO virtual address space), I assume the NumberOfPhysicalBreaks parameter is unused within the function ? </<QUOTE>> Correct. NumberOfPhysicalBreaks just indicates how many S/G elements the storage adapter can support per-transfer. <QUOTE> 2. So if the system's physical memory becomes too much fragmented, this function is more likely to fail for larger allocations, if no address remapping hardware(IOMMU) is present between the enddevice and memory subsystem? </QUOTE> Correct. <QUOTE> 3. Any particular reason for not using the NumberOfPhysicalBreaks parameter within this function? </QUOTE> StorPortGetUncachedExtension allocates a common buffer. NumberOfPhysicalBreaks relates to I/O buffers. -scott OSR @OSRDrivers
  Message 6 of 8  
30 Nov 17 16:13
Alex Grig
xxxxxx@broadcom.com
Join Date: 14 Apr 2008
Posts To This List: 3219
Query on StorPortGetUncachedExtension ??

Note that modern Windows makes an effort to rearrange assignment of physical page to free up a contiguous range, when necessary.
  Message 7 of 8  
01 Dec 17 01:40
Derin Jose
xxxxxx@gmail.com
Join Date: 29 Nov 2017
Posts To This List: 2
Query on StorPortGetUncachedExtension ??

Thanks scott. <QUOTE> Note that modern Windows makes an effort to rearrange assignment of physical page to free up a contiguous range, when necessary. <QUOTE> Does that mean windows is capable to simultaneously modify Virtual address -> CPU physical address mappings and IO virtual address -> CPU physical address mappings, for the common buffer DMA pages allocated for a device, while the device is using those pages(may be by blocking the page table entries during the modification, invalidating ATC cache within the end device etc.), to avoid the memory fragmentation?.
  Message 8 of 8  
01 Dec 17 12:29
Tim Roberts
xxxxxx@probo.com
Join Date: 28 Jan 2005
Posts To This List: 11673
Query on StorPortGetUncachedExtension ??

xxxxx@gmail.com wrote: > <QUOTE> > Note that modern Windows makes an effort to rearrange assignment of physical > page to free up a contiguous range, when necessary. > <QUOTE> > > Does that mean windows is capable to simultaneously modify > Virtual address -> CPU physical address mappings > and > IO virtual address -> CPU physical address mappings, for the common buffer DMA pages allocated for a device, while the device is using those pages(may be by blocking the page table entries during the modification, invalidating ATC cache within the end device etc.), to avoid the memory fragmentation?. No.  Common buffers, locked buffers, and mapped IO buffers cannot change.  Their physical addresses are sacred. However, all the pages in the working set for a process that is not currently in a CPU can easily be changed without affecting anyone, at the cost of some copies.  That includes, for example, all of your executable code. -- Tim Roberts, xxxxx@probo.com Providenza & Boekelheide, Inc.
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntdev list to be able to post.

All times are GMT -5. The time now is 21:42.


Copyright ©2015, OSR Open Systems Resources, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license