Skip to content
Commit 029d8f6a authored by Kevin Hao's avatar Kevin Hao Committed by Ruiqiang Hao
Browse files

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: default avatarKevin Hao <haokexin@gmail.com>
Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
Reviewed-by: default avatarAlexander Duyck <alexanderduyck@fb.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Reviewed-on: https://sj1git1.cavium.com/c/IP/SW/kernel/linux/+/56454


Tested-by: default avatarsa_ip-sw-jenkins <sa_ip-sw-jenkins@marvell.com>
Reviewed-by: default avatarSunil Kovvuri Goutham <sgoutham@marvell.com>
Signed-off-by: default avatarRuiqiang Hao <Ruiqiang.Hao@windriver.com>
parent c3680b72
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment