#
285002 |
|
01-Jul-2015 |
avg |
MFC r278153,284416: ttm memory allocation improvements
If the vm_page_alloc_contig() failed in the ttm page allocators, do what other callers of vm_page_alloc_contig() do, retry after vm_pageout_grow_cache().
ttm_vm_page_alloc: use vm_page_alloc for pages without dma32 restriction This change re-organizes code a little bit to extract common pieces of ttm_alloc_new_pages() and ttm_get_pages() into dedicated functions. Also, for requests without address restrictions regular vm_page_alloc() is used. Lastly, when vm_page_alloc_contig() fails we call VM_WAIT before calling vm_pageout_grow_cache() to ensure that there is enough free pages at all.
Note: no MFC to stable/9 because it lacks vm_pageout_grow_cache().
|
#
275408 |
|
02-Dec-2014 |
tijl |
MFC r273862,273902:
Port the TTM AGP backend to the FreeBSD agp driver and enable AGP support in the radeonkms driver.
Note: In PCI mode virtual addresses on the graphics card that map to system RAM are translated to physical addresses by the graphics card itself. In AGP mode address translation is done by the AGP chipset so fictitious addresses appear on the system bus. For the CPU cache management to work correctly when the CPU accesses this memory it needs to use the same fictitious addresses (and let the chipset translate them) instead of using the physical addresses directly.
Reviewed by: kib
|
#
285002 |
|
01-Jul-2015 |
avg |
MFC r278153,284416: ttm memory allocation improvements
If the vm_page_alloc_contig() failed in the ttm page allocators, do what other callers of vm_page_alloc_contig() do, retry after vm_pageout_grow_cache().
ttm_vm_page_alloc: use vm_page_alloc for pages without dma32 restriction This change re-organizes code a little bit to extract common pieces of ttm_alloc_new_pages() and ttm_get_pages() into dedicated functions. Also, for requests without address restrictions regular vm_page_alloc() is used. Lastly, when vm_page_alloc_contig() fails we call VM_WAIT before calling vm_pageout_grow_cache() to ensure that there is enough free pages at all.
Note: no MFC to stable/9 because it lacks vm_pageout_grow_cache().
|
#
275408 |
|
02-Dec-2014 |
tijl |
MFC r273862,273902:
Port the TTM AGP backend to the FreeBSD agp driver and enable AGP support in the radeonkms driver.
Note: In PCI mode virtual addresses on the graphics card that map to system RAM are translated to physical addresses by the graphics card itself. In AGP mode address translation is done by the AGP chipset so fictitious addresses appear on the system bus. For the CPU cache management to work correctly when the CPU accesses this memory it needs to use the same fictitious addresses (and let the chipset translate them) instead of using the physical addresses directly.
Reviewed by: kib
|