During DMA transfer framework calls the callback method EvtProgramDma which receives scatter gather list SCATTER_GATHER_LIST as the last parameter. In this list elements Length is either 4096 ( most of the time) or 8192. Is there a way to force the 8192 page size?
No.
Mark Roddy
On Thu, Nov 15, 2012 at 10:44 AM, wrote:
> During DMA transfer framework calls the callback method EvtProgramDma
> which receives scatter gather list SCATTER_GATHER_LIST as the last
> parameter. In this list elements Length is either 4096 ( most of the time)
> or 8192. Is there a way to force the 8192 page size?
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
Length can be any multiple of PAGE_SIZE, except the first and the last SGE can have pretty much any length.
xxxxx@intel.com wrote:
During DMA transfer framework calls the callback method EvtProgramDma which receives scatter gather list SCATTER_GATHER_LIST as the last parameter. In this list elements Length is either 4096 ( most of the time) or 8192. Is there a way to force the 8192 page size?
You don’t get a choice. The buffer’s physical page assignments are what
they are. If you’re sending this to hardware, you can run through the
scatter/gather list yourself to coalesce consecutive pages, but you
can’t change the page assignments.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
>you can run through the scatter/gather list yourself to coalesce consecutive pages
HAL is coalescing the consecutive pages for you into a single SGE.
No. There is no 8192-byte pages on x86 and x64 systems. The Alpha used
8192-byte pages, but that was because the hardware was built that way.
When the S/G list is created, it may be the case that two logically
consecutive pages just happen to be adjacent physically as well, and so
the S/G entry gives the address of the first page and a length of
n*pagesize, where n is the number of adjacent pages. Page adjacency is an
accidental property and you are seeing a low-level optimization here, over
which you have exactly zero control.
joe
During DMA transfer framework calls the callback method EvtProgramDma
which receives scatter gather list SCATTER_GATHER_LIST as the last
parameter. In this list elements Length is either 4096 ( most of the time)
or 8192. Is there a way to force the 8192 page size?
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminarsTo unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer