65b017b420
This patch improves the boundary checks in busdma to allow more cases using the regular page based kernel memory allocator. Especially in the case of having a non-zero boundary in the parent DMA tag. For example AMD64 based platforms set the PCI DMA tag boundary to PCI_DMA_BOUNDARY, 4GB, which before this patch caused contiguous memory allocations to be preferred when allocating more than PAGE_SIZE bytes. Even if the required alignment was less than PAGE_SIZE bytes. This patch also fixes the nsegments check for using kmem_alloc_attr() when the maximum segment size is less than PAGE_SIZE bytes. Updated some comments describing the code in question. Differential Revision: https://reviews.freebsd.org/D10645 Reviewed by: kib, jhb, gallatin, scottl MFC after: 1 week Sponsored by: Mellanox Technologies |
||
---|---|---|
.. | ||
adm5120 | ||
alchemy | ||
atheros | ||
beri | ||
broadcom | ||
cavium | ||
conf | ||
gxemul | ||
idt | ||
include | ||
ingenic | ||
malta | ||
mediatek | ||
mips | ||
nlm | ||
rmi | ||
rt305x | ||
sibyte |