mm: page_frag: Introduce page_frag_alloc_align()
commit f06aafb56627d0f8f40a8cdaeceec5bea844b0ef from git@git.assembla.com:cavium/WindRiver.linux.git In the current implementation of page_frag_alloc(), it doesn't have any align guarantee for the returned buffer address. But for some hardwares they do require the DMA buffer to be aligned correctly, so we would have to use some workarounds like below if the buffers allocated by the page_frag_alloc() are used by these hardwares for DMA. buf = page_frag_alloc(really_needed_size + align); buf = PTR_ALIGN(buf, align); These codes seems ugly and would waste a lot of memories if the buffers are used in a network driver for the TX/RX. So introduce page_frag_alloc_align() to make sure that an aligned buffer address is returned. Change-Id: I9eb50a8d4445e62bdca2c01e4cc278151075bfb2 Signed-off-by:Kevin Hao <haokexin@gmail.com> Acked-by:
Vlastimil Babka <vbabka@suse.cz> Reviewed-by:
Alexander Duyck <alexanderduyck@fb.com> Signed-off-by:
Jakub Kicinski <kuba@kernel.org> Reviewed-on: https://sj1git1.cavium.com/c/IP/SW/kernel/linux/+/56454 Tested-by:
sa_ip-sw-jenkins <sa_ip-sw-jenkins@marvell.com> Reviewed-by:
Sunil Kovvuri Goutham <sgoutham@marvell.com> Signed-off-by:
Ruiqiang Hao <Ruiqiang.Hao@windriver.com>
Loading
Please register or sign in to comment